diff --git a/config/eslint/constants.js b/config/eslint/constants.js index fffa20b0c..d15dd0211 100644 --- a/config/eslint/constants.js +++ b/config/eslint/constants.js @@ -8,6 +8,7 @@ const OFF = "off"; const MAX_LENGTH_DEFAULT_CONFIG = { code: MAX_LENGTH, ignoreTemplateLiterals: true, + ignoreRegExpLiterals: true, ignorePattern: "^import\\s.+\\sfrom\\s.+;$", }; const BOOLEAN_PREFIXES = ["is", "was", "are", "were", "should", "has", "can", "does", "do", "did", "must"]; diff --git a/src/modules/game/constants/game-additional-card/game-additional-card.constant.ts b/src/modules/game/constants/game-additional-card/game-additional-card.constant.ts index c9c262242..941903987 100644 --- a/src/modules/game/constants/game-additional-card/game-additional-card.constant.ts +++ b/src/modules/game/constants/game-additional-card/game-additional-card.constant.ts @@ -1,7 +1,10 @@ import type { ApiPropertyOptions } from "@nestjs/swagger"; +import { roles } from "../../../role/constants/role.constant"; import { ROLE_NAMES } from "../../../role/enums/role.enum"; import type { GameAdditionalCard } from "../../schemas/game-additional-card/game-additional-card.schema"; +const gameAdditionalCardsThiefRoleNames: Readonly = Object.freeze(roles.filter(({ minInGame, name }) => name !== ROLE_NAMES.THIEF && minInGame === undefined).map(({ name }) => name)); + const gameAdditionalCardFieldsSpecs: Readonly> = Object.freeze({ _id: { required: true }, roleName: { @@ -24,7 +27,7 @@ const gameAdditionalCardApiProperties: Readonly>({ @@ -9,6 +9,10 @@ const gameHistoryRecordPlayFieldsSpecs = Object.freeze>({ diff --git a/src/modules/game/constants/game-play/game-play.constant.ts b/src/modules/game/constants/game-play/game-play.constant.ts index d50b8c42b..f1749d487 100644 --- a/src/modules/game/constants/game-play/game-play.constant.ts +++ b/src/modules/game/constants/game-play/game-play.constant.ts @@ -1,16 +1,8 @@ -import type { ApiPropertyOptions } from "@nestjs/swagger"; -import { GAME_PLAY_ACTIONS } from "../../enums/game-play.enum"; +import { createFakeGamePlaySheriffSettlesVotes } from "../../../../../tests/factories/game/schemas/game-play/game-play.schema.factory"; +import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from "../../enums/game-play.enum"; +import { createGamePlayAllElectSheriff, createGamePlayAllVote, createGamePlayBigBadWolfEats, createGamePlayCharmedMeetEachOther, createGamePlayCupidCharms, createGamePlayDogWolfChoosesSide, createGamePlayFoxSniffs, createGamePlayGuardProtects, createGamePlayHunterShoots, createGamePlayLoversMeetEachOther, createGamePlayPiedPiperCharms, createGamePlayRavenMarks, createGamePlayScapegoatBansVoting, createGamePlaySeerLooks, createGamePlaySheriffDelegates, createGamePlayStutteringJudgeChoosesSign, createGamePlayThiefChoosesCard, createGamePlayThreeBrothersMeetEachOther, createGamePlayTwoSistersMeetEachOther, createGamePlayWerewolvesEat, createGamePlayWhiteWerewolfEats, createGamePlayWildChildChoosesModel, createGamePlayWitchUsesPotions } from "../../helpers/game-play/game-play.factory"; import type { GamePlay } from "../../schemas/game-play/game-play.schema"; -const gamePlayApiProperties: Readonly> = Object.freeze({ - source: { description: "Which role or group of people need to perform this action, with expected players to play" }, - action: { - description: "What action need to be performed for this play", - example: GAME_PLAY_ACTIONS.VOTE, - }, - cause: { description: "Why this play needs to be performed" }, -}); - const requiredTargetsActions: Readonly = Object.freeze([ GAME_PLAY_ACTIONS.LOOK, GAME_PLAY_ACTIONS.CHARM, @@ -39,10 +31,41 @@ const stutteringJudgeRequestOpportunityActions: Readonly = GAME_PLAY_ACTIONS.SETTLE_VOTES, ]); +const gamePlaysPriorityList: Readonly = Object.freeze([ + createGamePlayHunterShoots(), + createGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + createGamePlayAllElectSheriff(), + createGamePlaySheriffDelegates(), + createGamePlayScapegoatBansVoting(), + createFakeGamePlaySheriffSettlesVotes(), + createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE }), + createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }), + createGamePlayAllVote(), + createGamePlayThiefChoosesCard(), + createGamePlayDogWolfChoosesSide(), + createGamePlayCupidCharms(), + createGamePlaySeerLooks(), + createGamePlayFoxSniffs(), + createGamePlayLoversMeetEachOther(), + createGamePlayStutteringJudgeChoosesSign(), + createGamePlayTwoSistersMeetEachOther(), + createGamePlayThreeBrothersMeetEachOther(), + createGamePlayWildChildChoosesModel(), + createGamePlayRavenMarks(), + createGamePlayGuardProtects(), + createGamePlayWerewolvesEat(), + createGamePlayWhiteWerewolfEats(), + createGamePlayBigBadWolfEats(), + createGamePlayWitchUsesPotions(), + createGamePlayPiedPiperCharms(), + createGamePlayCharmedMeetEachOther(), +]); + export { - gamePlayApiProperties, requiredTargetsActions, optionalTargetsActions, requiredVotesActions, stutteringJudgeRequestOpportunityActions, + gamePlaysPriorityList, }; \ No newline at end of file diff --git a/src/modules/game/constants/game.constant.ts b/src/modules/game/constants/game.constant.ts index 788dcf6ab..8fe1c3f1f 100644 --- a/src/modules/game/constants/game.constant.ts +++ b/src/modules/game/constants/game.constant.ts @@ -1,58 +1,14 @@ -import type { ApiPropertyOptions } from "@nestjs/swagger"; import { ROLE_NAMES } from "../../role/enums/role.enum"; import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from "../enums/game-play.enum"; -import { GAME_PHASES, GAME_STATUSES } from "../enums/game.enum"; import { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from "../enums/player.enum"; import type { GamePlay } from "../schemas/game-play/game-play.schema"; -import type { Game } from "../schemas/game.schema"; import type { GameSource } from "../types/game.type"; -const gameFieldsSpecs = Object.freeze({ - players: { - minItems: 4, - maxItems: 40, - }, - turn: { default: 1 }, - phase: { default: GAME_PHASES.NIGHT }, - tick: { default: 1 }, - status: { default: GAME_STATUSES.PLAYING }, -}); - -const gameApiProperties: Readonly> = Object.freeze({ - _id: { - description: "Game's Mongo ObjectId", - example: "507f1f77bcf86cd799439011", - }, - turn: { - description: "Starting at `1`, a turn starts with the first phase (the `night`) and ends with the second phase (the `day`)", - ...gameFieldsSpecs.turn, - }, - phase: { - description: "Each turn has two phases, `day` and `night`. Starting at `night`", - ...gameFieldsSpecs.phase, - }, - tick: { - description: "Starting at `1`, tick increments each time a play is made", - ...gameFieldsSpecs.tick, - }, - status: { - description: "Game's current status", - ...gameFieldsSpecs.status, - }, - players: { - description: "Players of the game", - ...gameFieldsSpecs.players, - }, - currentPlay: { description: "Current play which needs to be performed" }, - upcomingPlays: { description: "Queue of upcoming plays that needs to be performed to continue the game right after the current play" }, - options: { description: "Game's options" }, - additionalCards: { description: "Game's additional cards" }, - victory: { description: "Victory data set when `status` is `over`" }, - createdAt: { description: "When the game was created" }, - updatedAt: { description: "When the game was updated" }, -}); - -const gameSourceValues: Readonly = Object.freeze([...Object.values(PLAYER_GROUPS), ...Object.values(ROLE_NAMES), PLAYER_ATTRIBUTE_NAMES.SHERIFF]); +const gameSourceValues: Readonly = Object.freeze([ + ...Object.values(PLAYER_GROUPS), + ...Object.values(ROLE_NAMES), + PLAYER_ATTRIBUTE_NAMES.SHERIFF, +]); const gamePlaysNightOrder: Readonly<(GamePlay & { isFirstNightOnly?: boolean })[]> = Object.freeze([ { @@ -142,8 +98,6 @@ const gamePlaysNightOrder: Readonly<(GamePlay & { isFirstNightOnly?: boolean })[ ]); export { - gameFieldsSpecs, - gameApiProperties, gameSourceValues, gamePlaysNightOrder, }; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts new file mode 100644 index 000000000..02a8caea3 --- /dev/null +++ b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts @@ -0,0 +1,37 @@ +import type { ValidationOptions } from "class-validator"; +import { registerDecorator } from "class-validator"; +import { gameAdditionalCardsThiefRoleNames } from "../../../../constants/game-additional-card/game-additional-card.constant"; +import type { CreateGameAdditionalCardDto } from "../../../create-game/create-game-additional-card/create-game-additional-card.dto"; + +function areAdditionalCardsForThiefRolesRespected(value: unknown): boolean { + if (value === undefined) { + return true; + } + const thiefAdditionalCards = value as CreateGameAdditionalCardDto[]; + return thiefAdditionalCards.every(({ roleName }) => gameAdditionalCardsThiefRoleNames.includes(roleName)); +} + +function getAdditionalCardsForThiefRolesDefaultMessage(): string { + return `additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`; +} + +function AdditionalCardsForThiefRoles(validationOptions?: ValidationOptions) { + return (object: object, propertyName: string): void => { + registerDecorator({ + name: "AdditionalCardsForThiefRoles", + target: object.constructor, + propertyName, + options: validationOptions, + validator: { + validate: areAdditionalCardsForThiefRolesRespected, + defaultMessage: getAdditionalCardsForThiefRolesDefaultMessage, + }, + }); + }; +} + +export { + AdditionalCardsForThiefRoles, + getAdditionalCardsForThiefRolesDefaultMessage, + areAdditionalCardsForThiefRolesRespected, +}; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts new file mode 100644 index 000000000..88475f86d --- /dev/null +++ b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts @@ -0,0 +1,39 @@ +import type { ValidationArguments, ValidationOptions } from "class-validator"; +import { registerDecorator } from "class-validator"; +import type { CreateGameDto } from "../../../create-game/create-game.dto"; + +function isAdditionalCardsForThiefSizeRespected(value: unknown, validationArguments: ValidationArguments): boolean { + const { options } = validationArguments.object as CreateGameDto; + if (value === undefined) { + return true; + } + if (!Array.isArray(value)) { + return false; + } + return options.roles.thief.additionalCardsCount === value.length; +} + +function getAdditionalCardsForThiefSizeDefaultMessage(): string { + return "additionalCards length must be equal to options.roles.thief.additionalCardsCount"; +} + +function AdditionalCardsForThiefSize(validationOptions?: ValidationOptions) { + return (object: object, propertyName: string): void => { + registerDecorator({ + name: "AdditionalCardsForThiefSize", + target: object.constructor, + propertyName, + options: validationOptions, + validator: { + validate: isAdditionalCardsForThiefSizeRespected, + defaultMessage: getAdditionalCardsForThiefSizeDefaultMessage, + }, + }); + }; +} + +export { + AdditionalCardsForThiefSize, + getAdditionalCardsForThiefSizeDefaultMessage, + isAdditionalCardsForThiefSizeRespected, +}; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts new file mode 100644 index 000000000..8404df465 --- /dev/null +++ b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts @@ -0,0 +1,38 @@ +import type { ValidationArguments, ValidationOptions } from "class-validator"; +import { registerDecorator } from "class-validator"; +import { ROLE_NAMES } from "../../../../../role/enums/role.enum"; +import type { CreateGameDto } from "../../../create-game/create-game.dto"; + +function isAdditionalCardsPresenceRespected(value: unknown, validationArguments: ValidationArguments): boolean { + const { players } = validationArguments.object as Partial; + const doSomePlayersNeedAdditionalCards = players?.some(player => player.role.name === ROLE_NAMES.THIEF) === true; + return doSomePlayersNeedAdditionalCards ? Array.isArray(value) : value === undefined; +} + +function getAdditionalCardsPresenceDefaultMessage(validationArguments: ValidationArguments): string { + if (!Array.isArray(validationArguments.value)) { + return "additionalCards must be set if there is a player with role `thief`"; + } + return "additionalCards can't be set if there is no player with role `thief`"; +} + +function AdditionalCardsPresence(validationOptions?: ValidationOptions) { + return (object: object, propertyName: string): void => { + registerDecorator({ + name: "AdditionalCardsForThiefSize", + target: object.constructor, + propertyName, + options: validationOptions, + validator: { + validate: isAdditionalCardsPresenceRespected, + defaultMessage: getAdditionalCardsPresenceDefaultMessage, + }, + }); + }; +} + +export { + isAdditionalCardsPresenceRespected, + getAdditionalCardsPresenceDefaultMessage, + AdditionalCardsPresence, +}; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts new file mode 100644 index 000000000..bbbec8563 --- /dev/null +++ b/src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts @@ -0,0 +1,46 @@ +import { registerDecorator } from "class-validator"; +import type { ValidationArguments, ValidationOptions } from "class-validator"; +import { roles } from "../../../../../role/constants/role.constant"; +import type { CreateGameAdditionalCardDto } from "../../../create-game/create-game-additional-card/create-game-additional-card.dto"; +import type { CreateGameDto } from "../../../create-game/create-game.dto"; + +function areAdditionalCardsRolesMaxInGameRespected(value: unknown, validationArguments: ValidationArguments): boolean { + if (value === undefined) { + return true; + } + const { players } = validationArguments.object as Partial; + if (players === undefined) { + return false; + } + const additionalCards = value as CreateGameAdditionalCardDto[]; + return roles.every(role => { + const playersRoleCount = players.filter(player => player.role.name === role.name).length; + const additionalCardsRoleCount = additionalCards.filter(additionalCard => additionalCard.roleName === role.name).length; + return playersRoleCount + additionalCardsRoleCount <= role.maxInGame; + }); +} + +function getAdditionalCardsRolesMaxInGameDefaultMessage(): string { + return "additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles"; +} + +function AdditionalCardsRolesMaxInGame(validationOptions?: ValidationOptions) { + return (object: object, propertyName: string): void => { + registerDecorator({ + name: "AdditionalCardsRolesMaxInGame", + target: object.constructor, + propertyName, + options: validationOptions, + validator: { + validate: areAdditionalCardsRolesMaxInGameRespected, + defaultMessage: getAdditionalCardsRolesMaxInGameDefaultMessage, + }, + }); + }; +} + +export { + AdditionalCardsRolesMaxInGame, + areAdditionalCardsRolesMaxInGameRespected, + getAdditionalCardsRolesMaxInGameDefaultMessage, +}; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/composition-bounds.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-bounds.decorator.ts similarity index 85% rename from src/modules/game/dto/base/decorators/composition-bounds.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-bounds.decorator.ts index 35ad7a5fa..8529dd814 100644 --- a/src/modules/game/dto/base/decorators/composition-bounds.decorator.ts +++ b/src/modules/game/dto/base/decorators/composition/composition-bounds.decorator.ts @@ -1,6 +1,6 @@ import { applyDecorators } from "@nestjs/common"; import { ArrayMaxSize, ArrayMinSize } from "class-validator"; -import { gameFieldsSpecs } from "../../../constants/game.constant"; +import { gameFieldsSpecs } from "../../../../schemas/game.schema.constant"; function CompositionBounds(): void, Y>(target: (TFunction | object), propertyKey?: (string | symbol), descriptor?: TypedPropertyDescriptor) => void { return applyDecorators( diff --git a/src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts similarity index 79% rename from src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts index 9905fd568..ab8c34d06 100644 --- a/src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts +++ b/src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts @@ -2,9 +2,9 @@ import type { ValidationOptions } from "class-validator"; import { registerDecorator } from "class-validator"; import isObject from "isobject"; import { has } from "lodash"; -import { roles } from "../../../../role/constants/role.constant"; -import type { ROLE_NAMES } from "../../../../role/enums/role.enum"; -import { ROLE_SIDES } from "../../../../role/enums/role.enum"; +import { roles } from "../../../../../role/constants/role.constant"; +import type { ROLE_NAMES } from "../../../../../role/enums/role.enum"; +import { ROLE_SIDES } from "../../../../../role/enums/role.enum"; function doesCompositionHaveAtLeastOneVillager(value?: unknown): boolean { if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, ["role", "name"]))) { @@ -34,4 +34,8 @@ function CompositionHasVillager(validationOptions?: ValidationOptions) { }; } -export { CompositionHasVillager, doesCompositionHaveAtLeastOneVillager, getCompositionHasVillagerDefaultMessage }; \ No newline at end of file +export { + CompositionHasVillager, + doesCompositionHaveAtLeastOneVillager, + getCompositionHasVillagerDefaultMessage, +}; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts similarity index 86% rename from src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts index 87241b2b7..6a9ccad15 100644 --- a/src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts +++ b/src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts @@ -2,9 +2,9 @@ import type { ValidationOptions } from "class-validator"; import { registerDecorator } from "class-validator"; import isObject from "isobject"; import { has } from "lodash"; -import { roles } from "../../../../role/constants/role.constant"; -import type { ROLE_NAMES } from "../../../../role/enums/role.enum"; -import { ROLE_SIDES } from "../../../../role/enums/role.enum"; +import { roles } from "../../../../../role/constants/role.constant"; +import type { ROLE_NAMES } from "../../../../../role/enums/role.enum"; +import { ROLE_SIDES } from "../../../../../role/enums/role.enum"; function doesCompositionHaveAtLeastOneWerewolf(value?: unknown): boolean { if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, ["role", "name"]))) { diff --git a/src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts similarity index 90% rename from src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts index 0188c6994..5746031ce 100644 --- a/src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts +++ b/src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts @@ -35,4 +35,8 @@ function CompositionPositionsConsistency(validationOptions?: ValidationOptions) }; } -export { CompositionPositionsConsistency, doesCompositionHaveConsistentPositions, getCompositionPositionsConsistencyDefaultMessage }; \ No newline at end of file +export { + CompositionPositionsConsistency, + doesCompositionHaveConsistentPositions, + getCompositionPositionsConsistencyDefaultMessage, +}; \ No newline at end of file diff --git a/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts similarity index 90% rename from src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts index 72d021c86..b25bbadeb 100644 --- a/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts +++ b/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts @@ -2,8 +2,8 @@ import type { ValidationOptions } from "class-validator"; import { registerDecorator } from "class-validator"; import isObject from "isobject"; import { has } from "lodash"; -import { roles } from "../../../../role/constants/role.constant"; -import type { ROLE_NAMES } from "../../../../role/enums/role.enum"; +import { roles } from "../../../../../role/constants/role.constant"; +import type { ROLE_NAMES } from "../../../../../role/enums/role.enum"; function areCompositionRolesMaxInGameRespected(value?: unknown): boolean { if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, ["role", "name"]))) { diff --git a/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts similarity index 87% rename from src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts index 1bb8f23ff..8f0b9759f 100644 --- a/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts +++ b/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts @@ -2,9 +2,9 @@ import type { ValidationOptions } from "class-validator"; import { registerDecorator } from "class-validator"; import isObject from "isobject"; import { has } from "lodash"; -import { roles } from "../../../../role/constants/role.constant"; -import type { ROLE_NAMES } from "../../../../role/enums/role.enum"; -import type { Role } from "../../../../role/types/role.type"; +import { roles } from "../../../../../role/constants/role.constant"; +import type { ROLE_NAMES } from "../../../../../role/enums/role.enum"; +import type { Role } from "../../../../../role/types/role.type"; function areCompositionRolesMinInGameRespected(value?: unknown): boolean { if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, ["role", "name"]))) { diff --git a/src/modules/game/dto/base/decorators/composition-unique-names.decorator.ts b/src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.ts similarity index 100% rename from src/modules/game/dto/base/decorators/composition-unique-names.decorator.ts rename to src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.ts diff --git a/src/modules/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.ts b/src/modules/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.ts new file mode 100644 index 000000000..eb35623ac --- /dev/null +++ b/src/modules/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.ts @@ -0,0 +1,19 @@ +import { ApiProperty } from "@nestjs/swagger"; +import { Expose } from "class-transformer"; +import { Equals, IsEnum } from "class-validator"; +import { ROLE_NAMES } from "../../../../role/enums/role.enum"; +import { gameAdditionalCardApiProperties } from "../../../constants/game-additional-card/game-additional-card.constant"; + +class CreateGameAdditionalCardDto { + @ApiProperty(gameAdditionalCardApiProperties.roleName) + @IsEnum(ROLE_NAMES) + @Expose() + public roleName: ROLE_NAMES; + + @ApiProperty(gameAdditionalCardApiProperties.recipient) + @Equals(ROLE_NAMES.THIEF) + @Expose() + public recipient: ROLE_NAMES.THIEF; +} + +export { CreateGameAdditionalCardDto }; \ No newline at end of file diff --git a/src/modules/game/dto/create-game/create-game-player/create-game-player-role.dto/create-game-player-role.dto.ts b/src/modules/game/dto/create-game/create-game-player/create-game-player-role/create-game-player-role.dto.ts similarity index 100% rename from src/modules/game/dto/create-game/create-game-player/create-game-player-role.dto/create-game-player-role.dto.ts rename to src/modules/game/dto/create-game/create-game-player/create-game-player-role/create-game-player-role.dto.ts diff --git a/src/modules/game/dto/create-game/create-game-player/create-game-player-side.dto/create-game-player-side.dto.ts b/src/modules/game/dto/create-game/create-game-player/create-game-player-side/create-game-player-side.dto.ts similarity index 100% rename from src/modules/game/dto/create-game/create-game-player/create-game-player-side.dto/create-game-player-side.dto.ts rename to src/modules/game/dto/create-game/create-game-player/create-game-player-side/create-game-player-side.dto.ts diff --git a/src/modules/game/dto/create-game/create-game-player/create-game-player.dto.ts b/src/modules/game/dto/create-game/create-game-player/create-game-player.dto.ts index 9ef04e87d..ef3c7d50e 100644 --- a/src/modules/game/dto/create-game/create-game-player/create-game-player.dto.ts +++ b/src/modules/game/dto/create-game/create-game-player/create-game-player.dto.ts @@ -5,8 +5,8 @@ import { playerApiProperties } from "../../../constants/player/player.constant"; import { GamePlayerBaseDto } from "../../base/game-player/game-player.base.dto"; import { playerRoleTransformer } from "../../base/game-player/transformers/player-role.transformer"; import { playerSideTransformer } from "../../base/game-player/transformers/player-side.transformer"; -import { CreateGamePlayerRoleDto } from "./create-game-player-role.dto/create-game-player-role.dto"; -import { CreateGamePlayerSideDto } from "./create-game-player-side.dto/create-game-player-side.dto"; +import { CreateGamePlayerRoleDto } from "./create-game-player-role/create-game-player-role.dto"; +import { CreateGamePlayerSideDto } from "./create-game-player-side/create-game-player-side.dto"; class CreateGamePlayerDto extends IntersectionType( PickType(GamePlayerBaseDto, ["name"] as const), diff --git a/src/modules/game/dto/create-game/create-game.dto.ts b/src/modules/game/dto/create-game/create-game.dto.ts index 0a5ec47b1..e035e0c2a 100644 --- a/src/modules/game/dto/create-game/create-game.dto.ts +++ b/src/modules/game/dto/create-game/create-game.dto.ts @@ -1,17 +1,22 @@ import { ApiHideProperty, ApiProperty } from "@nestjs/swagger"; import { Transform, Type } from "class-transformer"; import { ArrayMaxSize, Equals, IsArray, IsOptional, ValidateNested } from "class-validator"; -import { gameApiProperties, gameFieldsSpecs } from "../../constants/game.constant"; import { GAME_PHASES } from "../../enums/game.enum"; import { GamePlay } from "../../schemas/game-play/game-play.schema"; -import { CompositionBounds } from "../base/decorators/composition-bounds.decorator"; -import { CompositionHasVillager } from "../base/decorators/composition-has-villager.decorator"; -import { CompositionHasWerewolf } from "../base/decorators/composition-has-werewolf.decorator"; -import { CompositionPositionsConsistency } from "../base/decorators/composition-positions-consistency.decorator"; -import { CompositionRolesMaxInGame } from "../base/decorators/composition-roles-max-in-game.decorator"; -import { CompositionRolesMinInGame } from "../base/decorators/composition-roles-min-in-game.decorator"; -import { CompositionUniqueNames } from "../base/decorators/composition-unique-names.decorator"; +import { gameApiProperties, gameFieldsSpecs } from "../../schemas/game.schema.constant"; +import { AdditionalCardsForThiefRoles } from "../base/decorators/additional-cards/additional-cards-for-thief-roles.decorator"; +import { AdditionalCardsForThiefSize } from "../base/decorators/additional-cards/additional-cards-for-thief-size.decorator"; +import { AdditionalCardsPresence } from "../base/decorators/additional-cards/additional-cards-presence.decorator"; +import { AdditionalCardsRolesMaxInGame } from "../base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator"; +import { CompositionBounds } from "../base/decorators/composition/composition-bounds.decorator"; +import { CompositionHasVillager } from "../base/decorators/composition/composition-has-villager.decorator"; +import { CompositionHasWerewolf } from "../base/decorators/composition/composition-has-werewolf.decorator"; +import { CompositionPositionsConsistency } from "../base/decorators/composition/composition-positions-consistency.decorator"; +import { CompositionRolesMaxInGame } from "../base/decorators/composition/composition-roles-max-in-game.decorator"; +import { CompositionRolesMinInGame } from "../base/decorators/composition/composition-roles-min-in-game.decorator"; +import { CompositionUniqueNames } from "../base/decorators/composition/composition-unique-names.decorator"; import { gamePlayersPositionTransformer } from "../base/transformers/game-players-position.transformer"; +import { CreateGameAdditionalCardDto } from "./create-game-additional-card/create-game-additional-card.dto"; import { CreateGameOptionsDto } from "./create-game-options/create-game-options.dto"; import { CreateGamePlayerDto } from "./create-game-player/create-game-player.dto"; @@ -50,6 +55,18 @@ class CreateGameDto { @ArrayMaxSize(0) public upcomingPlays: GamePlay[] = []; + @ApiProperty({ + ...gameApiProperties.additionalCards, + required: false, + }) + @Type(() => CreateGameAdditionalCardDto) + @ValidateNested({ each: true }) + @AdditionalCardsPresence() + @AdditionalCardsRolesMaxInGame() + @AdditionalCardsForThiefSize() + @AdditionalCardsForThiefRoles() + public additionalCards?: CreateGameAdditionalCardDto[]; + @ApiProperty({ ...gameApiProperties.options, required: false, diff --git a/src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto.ts b/src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto.ts index d4c76b4cc..546c9b5b3 100644 --- a/src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto.ts +++ b/src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto.ts @@ -3,8 +3,8 @@ import { Expose, Transform, Type } from "class-transformer"; import { ArrayNotContains, ArrayUnique, IsArray, IsBoolean, IsOptional, ValidateNested } from "class-validator"; import { toBoolean } from "../../../../shared/validation/transformers/validation.transformer"; import { ROLE_NAMES } from "../../../role/enums/role.enum"; -import { CompositionBounds } from "../base/decorators/composition-bounds.decorator"; -import { CompositionUniqueNames } from "../base/decorators/composition-unique-names.decorator"; +import { CompositionBounds } from "../base/decorators/composition/composition-bounds.decorator"; +import { CompositionUniqueNames } from "../base/decorators/composition/composition-unique-names.decorator"; import { GetGameRandomCompositionPlayerDto } from "./get-game-random-composition-player/get-game-random-composition-player.dto"; class GetGameRandomCompositionDto { diff --git a/src/modules/game/enums/game-play.enum.ts b/src/modules/game/enums/game-play.enum.ts index f2ed21bdf..6acc2dd84 100644 --- a/src/modules/game/enums/game-play.enum.ts +++ b/src/modules/game/enums/game-play.enum.ts @@ -30,4 +30,8 @@ enum WITCH_POTIONS { DEATH = "death", } -export { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS }; \ No newline at end of file +export { + GAME_PLAY_ACTIONS, + GAME_PLAY_CAUSES, + WITCH_POTIONS, +}; \ No newline at end of file diff --git a/src/modules/game/helpers/game-play/game-play.factory.ts b/src/modules/game/helpers/game-play/game-play.factory.ts index 3fcf9690b..77ee82d00 100644 --- a/src/modules/game/helpers/game-play/game-play.factory.ts +++ b/src/modules/game/helpers/game-play/game-play.factory.ts @@ -3,7 +3,7 @@ import { plainToInstanceDefaultOptions } from "../../../../shared/validation/con import { ROLE_NAMES } from "../../../role/enums/role.enum"; import { GAME_PLAY_ACTIONS } from "../../enums/game-play.enum"; import { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from "../../enums/player.enum"; -import { GamePlaySource } from "../../schemas/game-play/game-play-source.schema"; +import { GamePlaySource } from "../../schemas/game-play/game-play-source/game-play-source.schema"; import { GamePlay } from "../../schemas/game-play/game-play.schema"; function createGamePlaySheriffSettlesVotes(gamePlay: Partial = {}): GamePlay { diff --git a/src/modules/game/helpers/game-play/game-play.helper.ts b/src/modules/game/helpers/game-play/game-play.helper.ts index 06c1b8798..0ca761aa9 100644 --- a/src/modules/game/helpers/game-play/game-play.helper.ts +++ b/src/modules/game/helpers/game-play/game-play.helper.ts @@ -3,11 +3,13 @@ import { API_RESOURCES } from "../../../../shared/api/enums/api.enum"; import { RESOURCE_NOT_FOUND_REASONS } from "../../../../shared/exception/enums/resource-not-found-error.enum"; import { ResourceNotFoundException } from "../../../../shared/exception/types/resource-not-found-exception.type"; import { plainToInstanceDefaultOptions } from "../../../../shared/validation/constants/validation.constant"; +import { gamePlaysPriorityList } from "../../constants/game-play/game-play.constant"; import { MakeGamePlayTargetWithRelationsDto } from "../../dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto"; import { MakeGamePlayVoteWithRelationsDto } from "../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto"; import { MakeGamePlayWithRelationsDto } from "../../dto/make-game-play/make-game-play-with-relations.dto"; import type { MakeGamePlayDto } from "../../dto/make-game-play/make-game-play.dto"; import type { GameAdditionalCard } from "../../schemas/game-additional-card/game-additional-card.schema"; +import type { GamePlay } from "../../schemas/game-play/game-play.schema"; import type { Game } from "../../schemas/game.schema"; import { getAdditionalCardWithId, getPlayerWithId } from "../game.helper"; @@ -70,9 +72,22 @@ function createMakeGamePlayDtoWithRelations(makeGamePlayDto: MakeGamePlayDto, ga return makeGamePlayWithRelationsDto; } +function findPlayPriorityIndex(play: GamePlay): number { + return gamePlaysPriorityList.findIndex(playInPriorityList => { + const { source, action, cause } = playInPriorityList; + return source.name === play.source.name && action === play.action && cause === play.cause; + }); +} + +function areGamePlaysEqual(playA: GamePlay, playB: GamePlay): boolean { + return playA.action === playB.action && playA.cause === playB.cause && playA.source.name === playB.source.name; +} + export { getVotesWithRelationsFromMakeGamePlayDto, getTargetsWithRelationsFromMakeGamePlayDto, getChosenCardFromMakeGamePlayDto, createMakeGamePlayDtoWithRelations, + findPlayPriorityIndex, + areGamePlaysEqual, }; \ No newline at end of file diff --git a/src/modules/game/providers/repositories/game-history-record.repository.ts b/src/modules/game/providers/repositories/game-history-record.repository.ts index 1494efb62..e8ca52ab3 100644 --- a/src/modules/game/providers/repositories/game-history-record.repository.ts +++ b/src/modules/game/providers/repositories/game-history-record.repository.ts @@ -5,6 +5,7 @@ import { Model } from "mongoose"; import { ROLE_NAMES } from "../../../role/enums/role.enum"; import { GAME_HISTORY_RECORD_VOTING_RESULTS } from "../../enums/game-history-record.enum"; import { GAME_PLAY_ACTIONS, WITCH_POTIONS } from "../../enums/game-play.enum"; +import type { GAME_PHASES } from "../../enums/game.enum"; import type { GameHistoryRecordDocument } from "../../schemas/game-history-record/game-history-record.schema"; import { GameHistoryRecord } from "../../schemas/game-history-record/game-history-record.schema"; import type { GameHistoryRecordToInsert } from "../../types/game-history-record.type"; @@ -103,4 +104,8 @@ export class GameHistoryRecordRepository { const filter: FilterQuery = { gameId }; return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } }); } + + public async getGameHistoryPhaseRecords(gameId: Types.ObjectId, turn: number, phase: GAME_PHASES): Promise { + return this.gameHistoryRecordModel.find({ gameId, turn, phase }); + } } \ No newline at end of file diff --git a/src/modules/game/providers/services/game-history/game-history-record.service.ts b/src/modules/game/providers/services/game-history/game-history-record.service.ts index b698d8934..73b661988 100644 --- a/src/modules/game/providers/services/game-history/game-history-record.service.ts +++ b/src/modules/game/providers/services/game-history/game-history-record.service.ts @@ -11,6 +11,7 @@ import type { MakeGamePlayWithRelationsDto } from "../../../dto/make-game-play/m import { GAME_HISTORY_RECORD_VOTING_RESULTS } from "../../../enums/game-history-record.enum"; import type { WITCH_POTIONS } from "../../../enums/game-play.enum"; import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from "../../../enums/game-play.enum"; +import type { GAME_PHASES } from "../../../enums/game.enum"; import { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from "../../../enums/player.enum"; import { getAdditionalCardWithId, getNonexistentPlayer, getPlayerWithActiveAttributeName, getPlayerWithId } from "../../../helpers/game.helper"; import { GameHistoryRecordPlaySource } from "../../../schemas/game-history-record/game-history-record-play/game-history-record-play-source.schema"; @@ -66,6 +67,10 @@ export class GameHistoryRecordService { return this.gameHistoryRecordRepository.getGameHistoryAncientProtectedFromWerewolvesRecords(gameId); } + public async getGameHistoryPhaseRecords(gameId: Types.ObjectId, turn: number, phase: GAME_PHASES): Promise { + return this.gameHistoryRecordRepository.getGameHistoryPhaseRecords(gameId, turn, phase); + } + public async getPreviousGameHistoryRecord(gameId: Types.ObjectId): Promise { return this.gameHistoryRecordRepository.getPreviousGameHistoryRecord(gameId); } @@ -115,6 +120,7 @@ export class GameHistoryRecordService { const gameHistoryRecordPlayToInsert: GameHistoryRecordPlay = { source: this.generateCurrentGameHistoryRecordPlaySourceToInsert(baseGame), action: baseGame.currentPlay.action, + cause: baseGame.currentPlay.cause, didJudgeRequestAnotherVote: play.doesJudgeRequestAnotherVote, targets: play.targets, votes: play.votes, diff --git a/src/modules/game/providers/services/game-play/game-play-validator.service.ts b/src/modules/game/providers/services/game-play/game-play-validator.service.ts index 12e4f86c0..f19b0f022 100644 --- a/src/modules/game/providers/services/game-play/game-play-validator.service.ts +++ b/src/modules/game/providers/services/game-play/game-play-validator.service.ts @@ -2,6 +2,7 @@ import { Injectable } from "@nestjs/common"; import { BAD_GAME_PLAY_PAYLOAD_REASONS } from "../../../../../shared/exception/enums/bad-game-play-payload-error.enum"; import { createNoCurrentGamePlayUnexpectedException } from "../../../../../shared/exception/helpers/unexpected-exception.factory"; import { BadGamePlayPayloadException } from "../../../../../shared/exception/types/bad-game-play-payload-exception.type"; +import { werewolvesRoles } from "../../../../role/constants/role.constant"; import { ROLE_NAMES } from "../../../../role/enums/role.enum"; import { optionalTargetsActions, requiredTargetsActions, requiredVotesActions, stutteringJudgeRequestOpportunityActions } from "../../../constants/game-play/game-play.constant"; import type { MakeGamePlayTargetWithRelationsDto } from "../../../dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto"; @@ -13,6 +14,7 @@ import { createGame } from "../../../helpers/game.factory"; import { getLeftToCharmByPiedPiperPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getPlayerWithCurrentRole } from "../../../helpers/game.helper"; import { doesPlayerHaveActiveAttributeWithName } from "../../../helpers/player/player-attribute/player-attribute.helper"; import { isPlayerAliveAndPowerful } from "../../../helpers/player/player.helper"; +import type { GameAdditionalCard } from "../../../schemas/game-additional-card/game-additional-card.schema"; import type { Game } from "../../../schemas/game.schema"; import type { GameWithCurrentPlay } from "../../../types/game-with-current-play"; import type { GameSource } from "../../../types/game.type"; @@ -35,16 +37,25 @@ export class GamePlayValidatorService { this.validateGamePlayWithRelationsDtoChosenCard(play, clonedGameWithCurrentPlay); } - private validateGamePlayWithRelationsDtoChosenCard({ chosenCard }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): void { - if (!chosenCard) { - if (game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_CARD) { - throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_CHOSEN_CARD); - } + private validateGamePlayThiefChosenCard(chosenCard: GameAdditionalCard | undefined, game: GameWithCurrentPlay): void { + const { mustChooseBetweenWerewolves } = game.options.roles.thief; + if (!game.additionalCards || !mustChooseBetweenWerewolves) { return; } + const areAllAdditionalCardsWerewolves = game.additionalCards.every(({ roleName }) => werewolvesRoles.find(role => role.name === roleName)); + if (areAllAdditionalCardsWerewolves && !chosenCard) { + throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.THIEF_MUST_CHOOSE_CARD); + } + } + + private validateGamePlayWithRelationsDtoChosenCard({ chosenCard }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): void { if (game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_CARD) { - throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_CHOSEN_CARD); + if (chosenCard) { + throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_CHOSEN_CARD); + } + return; } + this.validateGamePlayThiefChosenCard(chosenCard, game); } private validateDrankLifePotionTargets(drankLifePotionTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void { diff --git a/src/modules/game/providers/services/game-play/game-play.service.ts b/src/modules/game/providers/services/game-play/game-play.service.ts index 37fa4bebc..f8928c6de 100644 --- a/src/modules/game/providers/services/game-play/game-play.service.ts +++ b/src/modules/game/providers/services/game-play/game-play.service.ts @@ -1,15 +1,18 @@ import { Injectable } from "@nestjs/common"; +import { createNoGamePlayPriorityUnexpectedException } from "../../../../../shared/exception/helpers/unexpected-exception.factory"; import { ROLE_NAMES } from "../../../../role/enums/role.enum"; import { gamePlaysNightOrder } from "../../../constants/game.constant"; import { CreateGamePlayerDto } from "../../../dto/create-game/create-game-player/create-game-player.dto"; import { CreateGameDto } from "../../../dto/create-game/create-game.dto"; import { GAME_PLAY_CAUSES, WITCH_POTIONS } from "../../../enums/game-play.enum"; -import type { GAME_PHASES } from "../../../enums/game.enum"; +import { GAME_PHASES } from "../../../enums/game.enum"; import { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from "../../../enums/player.enum"; import { createGamePlay, createGamePlayAllElectSheriff, createGamePlayAllVote } from "../../../helpers/game-play/game-play.factory"; +import { areGamePlaysEqual, findPlayPriorityIndex } from "../../../helpers/game-play/game-play.helper"; import { createGame } from "../../../helpers/game.factory"; import { areAllWerewolvesAlive, getExpectedPlayersToPlay, getGroupOfPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getPlayerDtoWithRole, getPlayersWithActiveAttributeName, getPlayersWithCurrentRole, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole, isGameSourceGroup, isGameSourceRole } from "../../../helpers/game.helper"; import { canPiedPiperCharm, isPlayerAliveAndPowerful, isPlayerPowerful } from "../../../helpers/player/player.helper"; +import type { GameHistoryRecord } from "../../../schemas/game-history-record/game-history-record.schema"; import type { SheriffGameOptions } from "../../../schemas/game-options/roles-game-options/sheriff-game-options/sheriff-game-options.schema"; import type { GamePlay } from "../../../schemas/game-play/game-play.schema"; import type { Game } from "../../../schemas/game.schema"; @@ -18,16 +21,13 @@ import { GameHistoryRecordService } from "../game-history/game-history-record.se @Injectable() export class GamePlayService { public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {} - - public async removeObsoleteUpcomingPlays(game: Game): Promise { - const clonedGame = createGame(game); - const validUpcomingPlays: GamePlay[] = []; - for (const upcomingPlay of clonedGame.upcomingPlays) { - if (await this.isGamePlaySuitableForCurrentPhase(clonedGame, upcomingPlay)) { - validUpcomingPlays.push(upcomingPlay); - } - } - clonedGame.upcomingPlays = validUpcomingPlays; + + public async refreshUpcomingPlays(game: Game): Promise { + let clonedGame = createGame(game); + clonedGame = await this.removeObsoleteUpcomingPlays(clonedGame); + const currentPhaseNewUpcomingPlays = await this.getNewUpcomingPlaysForCurrentPhase(clonedGame); + const upcomingPlaysToSort = [...clonedGame.upcomingPlays, ...currentPhaseNewUpcomingPlays]; + clonedGame.upcomingPlays = this.sortUpcomingPlaysByPriority(upcomingPlaysToSort); return clonedGame; } @@ -60,6 +60,55 @@ export class GamePlayService { return upcomingNightPlays; } + private async removeObsoleteUpcomingPlays(game: Game): Promise { + const clonedGame = createGame(game); + const validUpcomingPlays: GamePlay[] = []; + for (const upcomingPlay of clonedGame.upcomingPlays) { + if (await this.isGamePlaySuitableForCurrentPhase(clonedGame, upcomingPlay)) { + validUpcomingPlays.push(upcomingPlay); + } + } + clonedGame.upcomingPlays = validUpcomingPlays; + return clonedGame; + } + + private isUpcomingPlayNewForCurrentPhase(upcomingPlay: GamePlay, game: Game, gameHistoryPhaseRecords: GameHistoryRecord[]): boolean { + const { currentPlay } = game; + const isAlreadyPlayed = gameHistoryPhaseRecords.some(({ play }) => { + const { source, action, cause } = play; + return areGamePlaysEqual({ source, action, cause }, upcomingPlay); + }); + const isInUpcomingPlays = game.upcomingPlays.some(gamePlay => areGamePlaysEqual(gamePlay, upcomingPlay)); + const isCurrentPlay = !!currentPlay && areGamePlaysEqual(currentPlay, upcomingPlay); + return !isInUpcomingPlays && !isAlreadyPlayed && !isCurrentPlay; + } + + private async getNewUpcomingPlaysForCurrentPhase(game: Game): Promise { + const { _id, turn, phase } = game; + const currentPhaseUpcomingPlays = game.phase === GAME_PHASES.NIGHT ? await this.getUpcomingNightPlays(game) : this.getUpcomingDayPlays(); + const gameHistoryPhaseRecords = await this.gameHistoryRecordService.getGameHistoryPhaseRecords(_id, turn, phase); + return currentPhaseUpcomingPlays.filter(gamePlay => this.isUpcomingPlayNewForCurrentPhase(gamePlay, game, gameHistoryPhaseRecords)); + } + + private validateUpcomingPlaysPriority(upcomingPlays: GamePlay[]): void { + for (const upcomingPlay of upcomingPlays) { + const playPriorityIndex = findPlayPriorityIndex(upcomingPlay); + if (playPriorityIndex === -1) { + throw createNoGamePlayPriorityUnexpectedException(this.validateUpcomingPlaysPriority.name, upcomingPlay); + } + } + } + + private sortUpcomingPlaysByPriority(upcomingPlays: GamePlay[]): GamePlay[] { + const clonedUpcomingPlays = upcomingPlays.map(upcomingPlay => createGamePlay(upcomingPlay)); + this.validateUpcomingPlaysPriority(clonedUpcomingPlays); + return clonedUpcomingPlays.sort((playA, playB) => { + const playAPriorityIndex = findPlayPriorityIndex(playA); + const playBPriorityIndex = findPlayPriorityIndex(playB); + return playAPriorityIndex - playBPriorityIndex; + }); + } + private isSheriffElectionTime(sheriffGameOptions: SheriffGameOptions, currentTurn: number, currentPhase: GAME_PHASES): boolean { const { electedAt, isEnabled } = sheriffGameOptions; return isEnabled && electedAt.turn === currentTurn && electedAt.phase === currentPhase; diff --git a/src/modules/game/providers/services/game.service.ts b/src/modules/game/providers/services/game.service.ts index 155ec2c1f..87c05a76a 100644 --- a/src/modules/game/providers/services/game.service.ts +++ b/src/modules/game/providers/services/game.service.ts @@ -72,7 +72,7 @@ export class GameService { const play = createMakeGamePlayDtoWithRelations(makeGamePlayDto, clonedGame); await this.gamePlayValidatorService.validateGamePlayWithRelationsDto(play, clonedGame); clonedGame = await this.gamePlayMakerService.makeGamePlay(play, clonedGame); - clonedGame = await this.gamePlayService.removeObsoleteUpcomingPlays(clonedGame); + clonedGame = await this.gamePlayService.refreshUpcomingPlays(clonedGame); clonedGame = this.gamePlayService.proceedToNextGamePlay(clonedGame); clonedGame.tick++; if (isGamePhaseOver(clonedGame)) { diff --git a/src/modules/game/schemas/game-history-record/game-history-record-play/game-history-record-play.schema.ts b/src/modules/game/schemas/game-history-record/game-history-record-play/game-history-record-play.schema.ts index 7252fb2a5..69c069fd2 100644 --- a/src/modules/game/schemas/game-history-record/game-history-record-play/game-history-record-play.schema.ts +++ b/src/modules/game/schemas/game-history-record/game-history-record-play/game-history-record-play.schema.ts @@ -3,7 +3,7 @@ import { ApiProperty } from "@nestjs/swagger"; import { Expose, Type } from "class-transformer"; import { ROLE_SIDES } from "../../../../role/enums/role.enum"; import { gameHistoryRecordPlayApiProperties, gameHistoryRecordPlayFieldsSpecs } from "../../../constants/game-history-record/game-history-record-play/game-history-record-play.constant"; -import { GAME_PLAY_ACTIONS } from "../../../enums/game-play.enum"; +import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from "../../../enums/game-play.enum"; import { GameAdditionalCardSchema, GameAdditionalCard } from "../../game-additional-card/game-additional-card.schema"; import { GameHistoryRecordPlaySource, GameHistoryRecordPlaySourceSchema } from "./game-history-record-play-source.schema"; import { GameHistoryRecordPlayTargetSchema, GameHistoryRecordPlayTarget } from "./game-history-record-play-target.schema"; @@ -33,6 +33,14 @@ class GameHistoryRecordPlay { @Expose() public source: GameHistoryRecordPlaySource; + @ApiProperty(gameHistoryRecordPlayApiProperties.cause) + @Prop({ + required: gameHistoryRecordPlayFieldsSpecs.cause.required, + enum: gameHistoryRecordPlayFieldsSpecs.cause.enum, + }) + @Expose() + public cause?: GAME_PLAY_CAUSES; + @ApiProperty(gameHistoryRecordPlayApiProperties.targets) @Prop({ required: gameHistoryRecordPlayFieldsSpecs.targets.required, diff --git a/src/modules/game/schemas/game-play/game-play-source.schema.ts b/src/modules/game/schemas/game-play/game-play-source/game-play-source.schema.ts similarity index 82% rename from src/modules/game/schemas/game-play/game-play-source.schema.ts rename to src/modules/game/schemas/game-play/game-play-source/game-play-source.schema.ts index 35a344b45..d9fc4e724 100644 --- a/src/modules/game/schemas/game-play/game-play-source.schema.ts +++ b/src/modules/game/schemas/game-play/game-play-source/game-play-source.schema.ts @@ -1,9 +1,9 @@ import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose"; import { ApiProperty } from "@nestjs/swagger"; import { Expose, Type } from "class-transformer"; -import { gamePlaySourceApiProperties, gamePlaySourceFieldsSpecs } from "../../constants/game-play/game-play-source.constant"; -import { GameSource } from "../../types/game.type"; -import { Player, PlayerSchema } from "../player/player.schema"; +import { gamePlaySourceApiProperties, gamePlaySourceFieldsSpecs } from "../../../constants/game-play/game-play-source.constant"; +import { GameSource } from "../../../types/game.type"; +import { Player, PlayerSchema } from "../../player/player.schema"; @Schema({ versionKey: false, diff --git a/src/modules/game/schemas/game-play/game-play.schema.constant.ts b/src/modules/game/schemas/game-play/game-play.schema.constant.ts new file mode 100644 index 000000000..99abd2773 --- /dev/null +++ b/src/modules/game/schemas/game-play/game-play.schema.constant.ts @@ -0,0 +1,14 @@ +import type { ApiPropertyOptions } from "@nestjs/swagger"; +import { GAME_PLAY_ACTIONS } from "../../enums/game-play.enum"; +import type { GamePlay } from "./game-play.schema"; + +const gamePlayApiProperties: Readonly> = Object.freeze({ + source: { description: "Which role or group of people need to perform this action, with expected players to play" }, + action: { + description: "What action need to be performed for this play", + example: GAME_PLAY_ACTIONS.VOTE, + }, + cause: { description: "Why this play needs to be performed" }, +}); + +export { gamePlayApiProperties }; \ No newline at end of file diff --git a/src/modules/game/schemas/game-play/game-play.schema.ts b/src/modules/game/schemas/game-play/game-play.schema.ts index 6bd2b91f2..216910c95 100644 --- a/src/modules/game/schemas/game-play/game-play.schema.ts +++ b/src/modules/game/schemas/game-play/game-play.schema.ts @@ -1,9 +1,9 @@ import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose"; import { ApiProperty } from "@nestjs/swagger"; import { Expose, Type } from "class-transformer"; -import { gamePlayApiProperties } from "../../constants/game-play/game-play.constant"; import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from "../../enums/game-play.enum"; -import { GamePlaySource, GamePlaySourceSchema } from "./game-play-source.schema"; +import { GamePlaySource, GamePlaySourceSchema } from "./game-play-source/game-play-source.schema"; +import { gamePlayApiProperties } from "./game-play.schema.constant"; @Schema({ versionKey: false, diff --git a/src/modules/game/schemas/game.schema.constant.ts b/src/modules/game/schemas/game.schema.constant.ts new file mode 100644 index 000000000..7ce8d465c --- /dev/null +++ b/src/modules/game/schemas/game.schema.constant.ts @@ -0,0 +1,53 @@ +import type { ApiPropertyOptions } from "@nestjs/swagger"; +import { GAME_PHASES, GAME_STATUSES } from "../enums/game.enum"; +import type { Game } from "./game.schema"; + +const gameFieldsSpecs = Object.freeze({ + players: { + minItems: 4, + maxItems: 40, + }, + turn: { default: 1 }, + phase: { default: GAME_PHASES.NIGHT }, + tick: { default: 1 }, + status: { default: GAME_STATUSES.PLAYING }, +}); + +const gameApiProperties: Readonly> = Object.freeze({ + _id: { + description: "Game's Mongo ObjectId", + example: "507f1f77bcf86cd799439011", + }, + turn: { + description: "Starting at `1`, a turn starts with the first phase (the `night`) and ends with the second phase (the `day`)", + ...gameFieldsSpecs.turn, + }, + phase: { + description: "Each turn has two phases, `day` and `night`. Starting at `night`", + ...gameFieldsSpecs.phase, + }, + tick: { + description: "Starting at `1`, tick increments each time a play is made", + ...gameFieldsSpecs.tick, + }, + status: { + description: "Game's current status", + ...gameFieldsSpecs.status, + }, + players: { + description: "Players of the game", + ...gameFieldsSpecs.players, + }, + currentPlay: { description: "Current play which needs to be performed" }, + upcomingPlays: { description: "Queue of upcoming plays that needs to be performed to continue the game right after the current play" }, + options: { description: "Game's options" }, + additionalCards: { description: "Game's additional cards. Not set if thief is not in the game" }, + victory: { description: "Victory data set when `status` is `over`" }, + createdAt: { description: "When the game was created" }, + updatedAt: { description: "When the game was updated" }, +}); + +export { + gameFieldsSpecs, + gameApiProperties, +}; \ No newline at end of file diff --git a/src/modules/game/schemas/game.schema.ts b/src/modules/game/schemas/game.schema.ts index c94324736..fe25904b4 100644 --- a/src/modules/game/schemas/game.schema.ts +++ b/src/modules/game/schemas/game.schema.ts @@ -3,12 +3,12 @@ import { ApiProperty } from "@nestjs/swagger"; import { Expose, Type } from "class-transformer"; import { Types } from "mongoose"; import type { HydratedDocument } from "mongoose"; -import { gameApiProperties, gameFieldsSpecs } from "../constants/game.constant"; import { GAME_PHASES, GAME_STATUSES } from "../enums/game.enum"; import { GameAdditionalCardSchema, GameAdditionalCard } from "./game-additional-card/game-additional-card.schema"; import { GameOptions, GameOptionsSchema } from "./game-options/game-options.schema"; import { GamePlaySchema, GamePlay } from "./game-play/game-play.schema"; import { GameVictory, GameVictorySchema } from "./game-victory/game-victory.schema"; +import { gameApiProperties, gameFieldsSpecs } from "./game.schema.constant"; import { PlayerSchema, Player } from "./player/player.schema"; @Schema({ diff --git a/src/modules/role/constants/role.constant.ts b/src/modules/role/constants/role.constant.ts index f2b28dd8c..2e40df5b5 100644 --- a/src/modules/role/constants/role.constant.ts +++ b/src/modules/role/constants/role.constant.ts @@ -188,4 +188,10 @@ const roles: Readonly = plainToInstance(Role, [ ...villagerRoles, ]).map(role => Object.freeze(role)); -export { roles, defaultWerewolfRole, werewolvesRoles, defaultVillagerRole, villagerRoles }; \ No newline at end of file +export { + roles, + defaultWerewolfRole, + defaultVillagerRole, + werewolvesRoles, + villagerRoles, +}; \ No newline at end of file diff --git a/src/shared/exception/enums/bad-game-play-payload-error.enum.ts b/src/shared/exception/enums/bad-game-play-payload-error.enum.ts index 85fd581ba..68826a106 100644 --- a/src/shared/exception/enums/bad-game-play-payload-error.enum.ts +++ b/src/shared/exception/enums/bad-game-play-payload-error.enum.ts @@ -3,7 +3,7 @@ enum BAD_GAME_PLAY_PAYLOAD_REASONS { UNEXPECTED_CHOSEN_SIDE = "`chosenSide` can't be set on this current game's state", REQUIRED_CHOSEN_SIDE = "`chosenSide` is required on this current game's state", UNEXPECTED_CHOSEN_CARD = "`chosenCard` can't be set on this current game's state", - REQUIRED_CHOSEN_CARD = "`chosenCard` is required on this current game's state", + THIEF_MUST_CHOOSE_CARD = "Thief must choose a card (`chosenCard`)", UNEXPECTED_VOTES = "`votes` can't be set on this current game's state", REQUIRED_VOTES = "`votes` is required on this current game's state", SAME_SOURCE_AND_TARGET_VOTE = "One vote has the same source and target", diff --git a/src/shared/exception/enums/unexpected-exception.enum.ts b/src/shared/exception/enums/unexpected-exception.enum.ts index 30eb9aad1..3f163b1d7 100644 --- a/src/shared/exception/enums/unexpected-exception.enum.ts +++ b/src/shared/exception/enums/unexpected-exception.enum.ts @@ -3,6 +3,7 @@ enum UNEXPECTED_EXCEPTION_REASONS { PLAYER_IS_DEAD = `Player with id "{{playerId}}" is dead in game "{{gameId}}"`, CANT_GENERATE_GAME_PLAYS = `Can't generate game plays`, NO_CURRENT_GAME_PLAY = `Game with id "{{gameId}}" doesn't have a current game play to deal with`, + NO_GAME_PLAY_PRIORITY = `Game play "{{gamePlay}}" doesn't have a set priority`, } export { UNEXPECTED_EXCEPTION_REASONS }; \ No newline at end of file diff --git a/src/shared/exception/helpers/unexpected-exception.factory.ts b/src/shared/exception/helpers/unexpected-exception.factory.ts index 9dfa0224b..54f009cb9 100644 --- a/src/shared/exception/helpers/unexpected-exception.factory.ts +++ b/src/shared/exception/helpers/unexpected-exception.factory.ts @@ -1,4 +1,5 @@ import type { Types } from "mongoose"; +import type { GamePlay } from "../../../modules/game/schemas/game-play/game-play.schema"; import { UNEXPECTED_EXCEPTION_REASONS } from "../enums/unexpected-exception.enum"; import { UnexpectedException } from "../types/unexpected-exception.type"; @@ -21,9 +22,14 @@ function createNoCurrentGamePlayUnexpectedException(scope: string, interpolation return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.NO_CURRENT_GAME_PLAY, { gameId: gameId.toString() }); } +function createNoGamePlayPriorityUnexpectedException(scope: string, gamePlay: GamePlay): UnexpectedException { + return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.NO_GAME_PLAY_PRIORITY, { gamePlay: JSON.stringify(gamePlay) }); +} + export { createCantFindPlayerUnexpectedException, createPlayerIsDeadUnexpectedException, createCantGenerateGamePlaysUnexpectedException, createNoCurrentGamePlayUnexpectedException, + createNoGamePlayPriorityUnexpectedException, }; \ No newline at end of file diff --git a/tests/acceptance/features/game/data/five-additional-cards-for-thief.json b/tests/acceptance/features/game/data/five-additional-cards-for-thief.json new file mode 100644 index 000000000..f0a1db419 --- /dev/null +++ b/tests/acceptance/features/game/data/five-additional-cards-for-thief.json @@ -0,0 +1,22 @@ +[ + { + "roleName": "white-werewolf", + "recipient": "thief" + }, + { + "roleName": "werewolf", + "recipient": "thief" + }, + { + "roleName": "villager-villager", + "recipient": "thief" + }, + { + "roleName": "idiot", + "recipient": "thief" + }, + { + "roleName": "dog-wolf", + "recipient": "thief" + } +] \ No newline at end of file diff --git a/tests/acceptance/features/game/data/fox-not-powerless-if-misses-werewolf.json b/tests/acceptance/features/game/data/fox-not-powerless-if-misses-werewolf-option.json similarity index 100% rename from tests/acceptance/features/game/data/fox-not-powerless-if-misses-werewolf.json rename to tests/acceptance/features/game/data/fox-not-powerless-if-misses-werewolf-option.json diff --git a/tests/acceptance/features/game/data/full-werewolves-additional-cards-for-thief.json b/tests/acceptance/features/game/data/full-werewolves-additional-cards-for-thief.json new file mode 100644 index 000000000..9e684cff4 --- /dev/null +++ b/tests/acceptance/features/game/data/full-werewolves-additional-cards-for-thief.json @@ -0,0 +1,10 @@ +[ + { + "roleName": "white-werewolf", + "recipient": "thief" + }, + { + "roleName": "werewolf", + "recipient": "thief" + } +] \ No newline at end of file diff --git a/tests/acceptance/features/game/data/seer-werewolf-additional-cards-for-thief.json b/tests/acceptance/features/game/data/seer-werewolf-additional-cards-for-thief.json new file mode 100644 index 000000000..bf19d7e3a --- /dev/null +++ b/tests/acceptance/features/game/data/seer-werewolf-additional-cards-for-thief.json @@ -0,0 +1,10 @@ +[ + { + "roleName": "seer", + "recipient": "thief" + }, + { + "roleName": "werewolf", + "recipient": "thief" + } +] \ No newline at end of file diff --git a/tests/acceptance/features/game/data/thief-can-skip-even-with-full-werewolves-option.json b/tests/acceptance/features/game/data/thief-can-skip-even-with-full-werewolves-option.json new file mode 100644 index 000000000..bb43aba55 --- /dev/null +++ b/tests/acceptance/features/game/data/thief-can-skip-even-with-full-werewolves-option.json @@ -0,0 +1,7 @@ +{ + "roles": { + "thief": { + "mustChooseBetweenWerewolves": false + } + } +} \ No newline at end of file diff --git a/tests/acceptance/features/game/data/thief-has-five-additional-cards-option.json b/tests/acceptance/features/game/data/thief-has-five-additional-cards-option.json new file mode 100644 index 000000000..817495e6e --- /dev/null +++ b/tests/acceptance/features/game/data/thief-has-five-additional-cards-option.json @@ -0,0 +1,7 @@ +{ + "roles": { + "thief": { + "additionalCardsCount": 5 + } + } +} \ No newline at end of file diff --git a/tests/acceptance/features/game/data/three-various-additional-cards.json b/tests/acceptance/features/game/data/three-various-additional-cards.json new file mode 100644 index 000000000..d10e4f1f1 --- /dev/null +++ b/tests/acceptance/features/game/data/three-various-additional-cards.json @@ -0,0 +1,3 @@ +[ + { } +] \ No newline at end of file diff --git a/tests/acceptance/features/game/features/game-victory/game-victory.feature b/tests/acceptance/features/game/features/game-victory/game-victory.feature index 2be136d76..2a46afd4d 100644 --- a/tests/acceptance/features/game/features/game-victory/game-victory.feature +++ b/tests/acceptance/features/game/features/game-victory/game-victory.feature @@ -1,3 +1,4 @@ +@game-victory Feature: 🏆 Game Victory Scenario: 🧑🏻‍🌾 Villagers win the game @@ -43,14 +44,7 @@ Feature: 🏆 Game Victory | JB | Antoine | Then the player named Olivia should be murdered by all from vote And the game's phase should be day - And the game's current play should be sheriff to delegate - - When the sheriff delegates his role to the player named JB - Then the player named JB should have the active sheriff from sheriff attribute And the game's current play should be hunter to shoot - And the game's current play should be played by the following players - | name | - | Olivia | When the hunter shoots at the player named JB Then the player named JB should be murdered by hunter from shot diff --git a/tests/acceptance/features/game/features/role/angel.feature b/tests/acceptance/features/game/features/role/angel.feature index 70e7e4a6b..cf7a0a918 100644 --- a/tests/acceptance/features/game/features/role/angel.feature +++ b/tests/acceptance/features/game/features/role/angel.feature @@ -1,3 +1,4 @@ +@angel-role Feature: 👼 Angel role Scenario: 👼 Angel doesn't win because he is powerless diff --git a/tests/acceptance/features/game/features/role/big-bad-wolf.feature b/tests/acceptance/features/game/features/role/big-bad-wolf.feature index 385a4b06e..3f15ff6e6 100644 --- a/tests/acceptance/features/game/features/role/big-bad-wolf.feature +++ b/tests/acceptance/features/game/features/role/big-bad-wolf.feature @@ -1,3 +1,4 @@ +@big-bad-wolf-role Feature: 🐺👹 Big Bad Wolf role Scenario: 🐺👹Big Bad Wolf eats every night but powerless if one werewolf dies diff --git a/tests/acceptance/features/game/features/role/cupid.feature b/tests/acceptance/features/game/features/role/cupid.feature index 186f64579..036b41d3f 100644 --- a/tests/acceptance/features/game/features/role/cupid.feature +++ b/tests/acceptance/features/game/features/role/cupid.feature @@ -1,3 +1,4 @@ +@cupid-role Feature: 💘 Cupid role Scenario: 💘 Cupid makes two people fall in love and they die if one of them dies diff --git a/tests/acceptance/features/game/features/role/dog-wolf.feature b/tests/acceptance/features/game/features/role/dog-wolf.feature index b6a787efa..de6e00dc9 100644 --- a/tests/acceptance/features/game/features/role/dog-wolf.feature +++ b/tests/acceptance/features/game/features/role/dog-wolf.feature @@ -1,3 +1,4 @@ +@dog-wolf-role Feature: 🐶 Dog Wolf role Scenario: 🐶 Dog Wolf chooses the villagers side diff --git a/tests/acceptance/features/game/features/role/fox.feature b/tests/acceptance/features/game/features/role/fox.feature index d241ae351..5b885e9ab 100644 --- a/tests/acceptance/features/game/features/role/fox.feature +++ b/tests/acceptance/features/game/features/role/fox.feature @@ -1,3 +1,4 @@ +@fox-role Feature: 🦊 Fox role Scenario: 🦊 Fox is powerless if he misses a werewolf of any kind @@ -45,7 +46,7 @@ Feature: 🦊 Fox role Scenario: 🦊 Fox is not powerless if he misses a werewolf of any kind with game option - Given a created game with options described in files no-sheriff-option.json, fox-not-powerless-if-misses-werewolf.json and with the following players + Given a created game with options described in files no-sheriff-option.json, fox-not-powerless-if-misses-werewolf-option.json and with the following players | name | role | | Antoine | fox | | Juju | villager | diff --git a/tests/acceptance/features/game/features/role/guard.feature b/tests/acceptance/features/game/features/role/guard.feature index 1c5008d5b..a21e2b244 100644 --- a/tests/acceptance/features/game/features/role/guard.feature +++ b/tests/acceptance/features/game/features/role/guard.feature @@ -1,3 +1,4 @@ +@guard-role Feature: 🛡️ Guard role Scenario: 🛡️ Guard protects against every kind of werewolves but nor for the little girl diff --git a/tests/acceptance/features/game/features/role/little-girl.feature b/tests/acceptance/features/game/features/role/little-girl.feature index 6477d8cb2..60c30e94e 100644 --- a/tests/acceptance/features/game/features/role/little-girl.feature +++ b/tests/acceptance/features/game/features/role/little-girl.feature @@ -1,3 +1,4 @@ +@little-girl-role Feature: 👧 Little Girl role Scenario: 👧 Little Girl is protected by the guard with the right game option diff --git a/tests/acceptance/features/game/features/role/pied-piper.feature b/tests/acceptance/features/game/features/role/pied-piper.feature index b5c38c9e3..34b472431 100644 --- a/tests/acceptance/features/game/features/role/pied-piper.feature +++ b/tests/acceptance/features/game/features/role/pied-piper.feature @@ -1,3 +1,4 @@ +@pied-piper-role Feature: 🪈 Pied Piper role Scenario: 🪈 Pied Piper charms but not call anymore nor doesn't win because he's infected diff --git a/tests/acceptance/features/game/features/role/scapegoat.feature b/tests/acceptance/features/game/features/role/scapegoat.feature index 49486b040..ee4695fb7 100644 --- a/tests/acceptance/features/game/features/role/scapegoat.feature +++ b/tests/acceptance/features/game/features/role/scapegoat.feature @@ -1,3 +1,4 @@ +@scapegoat-role Feature: 🐐 Scapegoat role Scenario: 🐐 Scapegoat bans from votes after a tie in votes, even if the active sheriff is here diff --git a/tests/acceptance/features/game/features/role/thief.feature b/tests/acceptance/features/game/features/role/thief.feature new file mode 100644 index 000000000..c5d69366d --- /dev/null +++ b/tests/acceptance/features/game/features/role/thief.feature @@ -0,0 +1,57 @@ +@thief-role +Feature: 👺 Thief role + + Scenario: 👺 Thief steals the seer role + Given a created game with additional cards described in file seer-werewolf-additional-cards-for-thief.json and with options described in file no-sheriff-option.json and with the following players + | name | role | + | Antoine | thief | + | Olivia | villager | + | JB | werewolf | + | Thomas | witch | + Then the game's current play should be thief to choose-card + + When the thief chooses card with role seer + Then the player named Antoine should be currently a seer and originally a thief + And the game's current play should be seer to look + + When the seer looks at the player named Olivia + Then the player named Olivia should have the active seen from seer attribute + And the game's current play should be werewolves to eat + + Scenario: 👺 Thief can skip his turn if he wants + Given a created game with additional cards described in file seer-werewolf-additional-cards-for-thief.json and with options described in file no-sheriff-option.json and with the following players + | name | role | + | Antoine | thief | + | Olivia | villager | + | JB | werewolf | + | Thomas | witch | + Then the game's current play should be thief to choose-card + + When the player or group skips his turn + Then the game's current play should be werewolves to eat + + Scenario: 👺 Thief can skip his turn if he wants even if all his cards are werewolves with good option + Given a created game with additional cards described in file full-werewolves-additional-cards-for-thief.json and with options described in file no-sheriff-option.json, thief-can-skip-even-with-full-werewolves-option.json and with the following players + | name | role | + | Antoine | thief | + | Olivia | villager | + | JB | werewolf | + | Thomas | witch | + Then the game's current play should be thief to choose-card + + When the player or group skips his turn + Then the game's current play should be werewolves to eat + + Scenario: 👺 Thief can choose between more than two cards with good options + Given a created game with additional cards described in file five-additional-cards-for-thief.json and with options described in file no-sheriff-option.json, thief-has-five-additional-cards-option.json and with the following players + | name | role | + | Antoine | thief | + | Olivia | villager | + | JB | werewolf | + | Thomas | witch | + Then the game's current play should be thief to choose-card + + When the thief chooses card with role white-werewolf + Then the player named Antoine should be currently a white-werewolf and originally a thief + And the player named Antoine should be on werewolves current side and originally be on villagers side + And the game's current play should be werewolves to eat \ No newline at end of file diff --git a/tests/acceptance/features/game/features/role/white-werewolf.feature b/tests/acceptance/features/game/features/role/white-werewolf.feature index ef721a1fb..da3aed195 100644 --- a/tests/acceptance/features/game/features/role/white-werewolf.feature +++ b/tests/acceptance/features/game/features/role/white-werewolf.feature @@ -1,3 +1,4 @@ +@white-werewolf-role Feature: 🐺🦴White Werewolf role Scenario: 🐺🦴White Werewolf can eat or skip every other night an ally diff --git a/tests/acceptance/features/game/features/role/wild-child.feature b/tests/acceptance/features/game/features/role/wild-child.feature index 8fbe3991b..567d781be 100644 --- a/tests/acceptance/features/game/features/role/wild-child.feature +++ b/tests/acceptance/features/game/features/role/wild-child.feature @@ -1,3 +1,4 @@ +@wild-child-role Feature: 🐒 Wild Child role Scenario: 🐒 Wild Child changes his side when his model dies diff --git a/tests/acceptance/features/game/step-definitions/game.given-steps.ts b/tests/acceptance/features/game/step-definitions/game.given-steps.ts index 0be8ef192..f7f7d3e1b 100644 --- a/tests/acceptance/features/game/step-definitions/game.given-steps.ts +++ b/tests/acceptance/features/game/step-definitions/game.given-steps.ts @@ -3,6 +3,7 @@ import { Given } from "@cucumber/cucumber"; import { plainToInstance } from "class-transformer"; import { construct, crush } from "radash"; import { CreateGameDto } from "../../../../../src/modules/game/dto/create-game/create-game.dto"; +import type { GameAdditionalCard } from "../../../../../src/modules/game/schemas/game-additional-card/game-additional-card.schema"; import type { GameOptions } from "../../../../../src/modules/game/schemas/game-options/game-options.schema"; import type { Game } from "../../../../../src/modules/game/schemas/game.schema"; import { plainToInstanceDefaultOptions } from "../../../../../src/shared/validation/constants/validation.constant"; @@ -19,18 +20,26 @@ Given(/^a created game described in file (?.+\.json)$/u, async functio }); Given( - /^a created game(?: with options described in files? (?(?:[\w-]+\.json(?:,\s)?)+) and)? with the following players$/u, - async function(this: CustomWorld, fileNames: string | null, playersDatatable: DataTable): Promise { + /^a created game(?: with additional cards described in file (?[\w-]+\.json) and)?(?: with options described in files? (?(?:[\w-]+\.json(?:,\s)?)+) and)? with the following players$/u, + async function(this: CustomWorld, cardsFileName: string | null, optionFilenames: string | null, playersDatatable: DataTable): Promise { + let additionalCards: GameAdditionalCard[] = []; + if (cardsFileName !== null) { + additionalCards = readJsonFile("game", cardsFileName); + } let options = {}; - if (fileNames !== null) { - const flatOptions = fileNames.split(",").reduce((acc, fileName) => { + if (optionFilenames !== null) { + const flatOptions = optionFilenames.split(",").reduce((acc, fileName) => { const flatOption = crush(readJsonFile("game", fileName.trim())); return { ...acc, ...flatOption }; }, {}); options = construct>(flatOptions); } const players = convertDatatableToCreateGamePlayersDto(playersDatatable.rows()); - const createGameDto: CreateGameDto = plainToInstance(CreateGameDto, { players, options }, plainToInstanceDefaultOptions); + const createGameDto: CreateGameDto = plainToInstance(CreateGameDto, { + players, + options, + additionalCards: additionalCards.length ? additionalCards : undefined, + }, plainToInstanceDefaultOptions); this.response = await createGameRequest(createGameDto, this.app); this.game = this.response.json(); diff --git a/tests/acceptance/features/game/step-definitions/game.then-steps.ts b/tests/acceptance/features/game/step-definitions/game.then-steps.ts index d8d0d3ea4..d053381c9 100644 --- a/tests/acceptance/features/game/step-definitions/game.then-steps.ts +++ b/tests/acceptance/features/game/step-definitions/game.then-steps.ts @@ -9,7 +9,7 @@ import type { PLAYER_DEATH_CAUSES, PLAYER_ATTRIBUTE_NAMES } from "../../../../.. import { getPlayerWithNameOrThrow } from "../../../../../src/modules/game/helpers/game.helper"; import { getPlayerAttributeWithNameAndSource, isPlayerAttributeActive } from "../../../../../src/modules/game/helpers/player/player-attribute/player-attribute.helper"; import type { GameSource } from "../../../../../src/modules/game/types/game.type"; -import type { ROLE_SIDES } from "../../../../../src/modules/role/enums/role.enum"; +import type { ROLE_NAMES, ROLE_SIDES } from "../../../../../src/modules/role/enums/role.enum"; import type { CustomWorld } from "../../../shared/types/world.types"; import { convertDatatableToPlayers } from "../helpers/game-datatable.helper"; @@ -132,6 +132,16 @@ Then( }, ); +Then( + /^the player named (?.+?) should be currently a (?.+) and originally a (?.+)$/u, + function(this: CustomWorld, playerName: string, currentRole: ROLE_NAMES, originalRole: ROLE_NAMES): void { + const player = getPlayerWithNameOrThrow(playerName, this.game, new Error("Player name not found")); + + expect(player.role.current).toBe(currentRole); + expect(player.role.original).toBe(originalRole); + }, +); + Then( /^the player named (?.+?) should be on (?villagers|werewolves) current side and originally be on (?villagers|werewolves) side$/u, function(this: CustomWorld, playerName: string, currentSide: ROLE_SIDES, originalSide: ROLE_SIDES): void { diff --git a/tests/acceptance/features/game/step-definitions/game.when-steps.ts b/tests/acceptance/features/game/step-definitions/game.when-steps.ts index 295b93e9a..b5fa89597 100644 --- a/tests/acceptance/features/game/step-definitions/game.when-steps.ts +++ b/tests/acceptance/features/game/step-definitions/game.when-steps.ts @@ -4,7 +4,7 @@ import type { MakeGamePlayDto } from "../../../../../src/modules/game/dto/make-g import type { WITCH_POTIONS } from "../../../../../src/modules/game/enums/game-play.enum"; import { getPlayerWithNameOrThrow } from "../../../../../src/modules/game/helpers/game.helper"; import type { Game } from "../../../../../src/modules/game/schemas/game.schema"; -import type { ROLE_SIDES } from "../../../../../src/modules/role/enums/role.enum"; +import type { ROLE_NAMES, ROLE_SIDES } from "../../../../../src/modules/role/enums/role.enum"; import type { CustomWorld } from "../../../shared/types/world.types"; import { convertDatatableToMakeGameplayVotes, convertDatatableToPlayers } from "../helpers/game-datatable.helper"; import { makeGamePlayRequest } from "../helpers/game-request.helper"; @@ -175,6 +175,12 @@ When(/^the stuttering judge chooses his sign$/u, async function(this: CustomWorl this.game = this.response.json(); }); +When(/^the thief chooses card with role (?.+)$/u, async function(this: CustomWorld, cardRole: ROLE_NAMES): Promise { + const chosenCard = this.game.additionalCards?.find(({ roleName }) => roleName === cardRole); + this.response = await makeGamePlayRequest({ chosenCardId: chosenCard?._id }, this.game, this.app); + this.game = this.response.json(); +}); + When(/^the player or group skips his turn$/u, async function(this: CustomWorld): Promise { this.response = await makeGamePlayRequest({}, this.game, this.app); this.game = this.response.json(); diff --git a/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts b/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts index 144c9b13c..fe823eaf8 100644 --- a/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts +++ b/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts @@ -5,6 +5,7 @@ import { getModelToken } from "@nestjs/mongoose"; import type { NestFastifyApplication } from "@nestjs/platform-fastify"; import type { Model, Types } from "mongoose"; import { stringify } from "qs"; +import { gameAdditionalCardsThiefRoleNames } from "../../../../../../src/modules/game/constants/game-additional-card/game-additional-card.constant"; import { defaultGameOptions } from "../../../../../../src/modules/game/constants/game-options/game-options.constant"; import type { CreateGamePlayerDto } from "../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player.dto"; import type { CreateGameDto } from "../../../../../../src/modules/game/dto/create-game/create-game.dto"; @@ -13,22 +14,27 @@ import type { MakeGamePlayDto } from "../../../../../../src/modules/game/dto/mak import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from "../../../../../../src/modules/game/enums/game-play.enum"; import { GAME_PHASES, GAME_STATUSES } from "../../../../../../src/modules/game/enums/game.enum"; import { PLAYER_GROUPS } from "../../../../../../src/modules/game/enums/player.enum"; +import type { GameAdditionalCard } from "../../../../../../src/modules/game/schemas/game-additional-card/game-additional-card.schema"; import { GameHistoryRecord } from "../../../../../../src/modules/game/schemas/game-history-record/game-history-record.schema"; import type { GameOptions } from "../../../../../../src/modules/game/schemas/game-options/game-options.schema"; import type { GamePlay } from "../../../../../../src/modules/game/schemas/game-play/game-play.schema"; import { Game } from "../../../../../../src/modules/game/schemas/game.schema"; import type { Player } from "../../../../../../src/modules/game/schemas/player/player.schema"; import { ROLE_NAMES, ROLE_SIDES } from "../../../../../../src/modules/role/enums/role.enum"; +import { createFakeCreateGameAdditionalCardDto } from "../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory"; import { createFakeGameOptionsDto } from "../../../../../factories/game/dto/create-game/create-game-options/create-game-options.dto.factory"; +import { createFakeCreateThiefGameOptionsDto } from "../../../../../factories/game/dto/create-game/create-game-options/create-roles-game-options/create-roles-game-options.dto.factory"; import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; import { createFakeCreateGameDto, createFakeCreateGameWithPlayersDto } from "../../../../../factories/game/dto/create-game/create-game.dto.factory"; import { createFakeMakeGamePlayDto } from "../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory"; +import { createFakeGameAdditionalCard } from "../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory"; import { createFakeGameHistoryRecord } from "../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory"; import { createFakeCompositionGameOptions } from "../../../../../factories/game/schemas/game-options/composition-game-options.schema.factory"; import { createFakeGameOptions } from "../../../../../factories/game/schemas/game-options/game-options.schema.factory"; +import { createFakeRolesGameOptions } from "../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory"; import { createFakeVotesGameOptions } from "../../../../../factories/game/schemas/game-options/votes-game-options.schema.factory"; import { createFakeGamePlaySource } from "../../../../../factories/game/schemas/game-play/game-play-source.schema.factory"; -import { createFakeGamePlayAllVote, createFakeGamePlayCupidCharms, createFakeGamePlayLoversMeetEachOther, createFakeGamePlaySeerLooks, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats } from "../../../../../factories/game/schemas/game-play/game-play.schema.factory"; +import { createFakeGamePlayAllVote, createFakeGamePlayCupidCharms, createFakeGamePlayLoversMeetEachOther, createFakeGamePlaySeerLooks, createFakeGamePlayThiefChoosesCard, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats } from "../../../../../factories/game/schemas/game-play/game-play.schema.factory"; import { createFakeGame, createFakeGameWithCurrentPlay } from "../../../../../factories/game/schemas/game.schema.factory"; import { createFakeSeenBySeerPlayerAttribute } from "../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory"; import { createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from "../../../../../factories/game/schemas/player/player-with-role.schema.factory"; @@ -366,6 +372,133 @@ describe("Game Controller", () => { test: "one of the player position is not consistent faced to others", errorMessage: "players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1", }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + }), + test: "thief is in the game but additional cards are not set", + errorMessage: "additionalCards must be set if there is a player with role `thief`", + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.VILLAGER } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + ], + }), + test: "thief is not in the game but additional cards are set", + errorMessage: "additionalCards can't be set if there is no player with role `thief`", + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + ], + }), + test: "thief additional cards are more than the expected default limit", + errorMessage: "additionalCards length must be equal to options.roles.thief.additionalCardsCount", + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + ], + options: createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 4 }) }) }), + }), + test: "thief additional cards are less than the expected limit defined in options", + errorMessage: "additionalCards length must be equal to options.roles.thief.additionalCardsCount", + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.THIEF, recipient: ROLE_NAMES.THIEF }), + ], + }), + test: "one thief additional card is the thief himself", + errorMessage: `additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`, + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.TWO_SISTERS, recipient: ROLE_NAMES.THIEF }), + ], + }), + test: "one thief additional card is is not available for thief", + errorMessage: `additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`, + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.DOG_WOLF, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.DOG_WOLF, recipient: ROLE_NAMES.THIEF }), + ], + }), + test: "two thief additional role cards exceed the maximum occurrences in game possible", + errorMessage: "additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles", + }, + { + payload: createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(4, [ + { role: { name: ROLE_NAMES.WEREWOLF } }, + { role: { name: ROLE_NAMES.PIED_PIPER } }, + { role: { name: ROLE_NAMES.WITCH } }, + { role: { name: ROLE_NAMES.THIEF } }, + ]), + additionalCards: [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + ], + }), + test: "one thief additional role card exceeds the maximum occurrences in game possible because another player has it", + errorMessage: "additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles", + }, ])("should not allow game creation when $test [#$#].", async({ payload, errorMessage, @@ -438,6 +571,77 @@ describe("Game Controller", () => { expect(response.statusCode).toBe(HttpStatus.CREATED); expect(response.json()).toStrictEqual(expectedGame); }); + + it(`should create game with additional cards when thief is in the game.`, async() => { + const payload = createFakeCreateGameDto({ + players: bulkCreateFakeCreateGamePlayerDto(6, [ + { role: { name: ROLE_NAMES.THIEF }, name: "Antoine" }, + { role: { name: ROLE_NAMES.WEREWOLF }, name: "Mathis" }, + { role: { name: ROLE_NAMES.VILLAGER_VILLAGER }, name: "Virgil" }, + { role: { name: ROLE_NAMES.WHITE_WEREWOLF }, name: "JB" }, + { role: { name: ROLE_NAMES.CUPID }, name: "Doudou" }, + { role: { name: ROLE_NAMES.SEER }, name: "Juju" }, + ]), + additionalCards: [ + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }), + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.VILE_FATHER_OF_WOLVES, recipient: ROLE_NAMES.THIEF }), + ], + }, { options: undefined }); + const response = await app.inject({ + method: "POST", + url: "/games", + payload, + }); + const expectedPlayers = payload.players.map((player, index) => ({ + _id: expect.any(String) as Types.ObjectId, + name: player.name, + role: { + current: player.role.name, + original: player.role.name, + isRevealed: player.role.name === ROLE_NAMES.VILLAGER_VILLAGER, + }, + side: { + current: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER, ROLE_NAMES.THIEF].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES, + original: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER, ROLE_NAMES.THIEF].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES, + }, + attributes: [], + position: index, + isAlive: true, + })); + const expectedGameAdditionalCards = payload.additionalCards?.map(additionalCard => ({ + _id: expect.any(String) as Types.ObjectId, + roleName: additionalCard.roleName, + recipient: additionalCard.recipient, + isUsed: false, + })); + const expectedGame: Game = { + _id: expect.any(String) as Types.ObjectId, + phase: GAME_PHASES.NIGHT, + status: GAME_STATUSES.PLAYING, + turn: 1, + tick: 1, + players: expectedPlayers, + currentPlay: { + action: GAME_PLAY_ACTIONS.ELECT_SHERIFF, + source: { name: PLAYER_GROUPS.ALL, players: expectedPlayers }, + }, + upcomingPlays: toJSON([ + createFakeGamePlayThiefChoosesCard(), + createFakeGamePlayCupidCharms(), + createFakeGamePlaySeerLooks(), + createFakeGamePlayLoversMeetEachOther(), + createFakeGamePlayWerewolvesEat(), + createFakeGamePlayWhiteWerewolfEats(), + ]) as GamePlay[], + additionalCards: expectedGameAdditionalCards, + options: defaultGameOptions, + createdAt: expect.any(String) as Date, + updatedAt: expect.any(String) as Date, + }; + + expect(response.statusCode).toBe(HttpStatus.CREATED); + expect(response.json()).toStrictEqual(expectedGame); + }); it(`should create game with different options when called with options specified and some omitted.`, async() => { const options: Partial = { @@ -677,7 +881,10 @@ describe("Game Controller", () => { const game = createFakeGame({ status: GAME_STATUSES.PLAYING, currentPlay: createFakeGamePlayAllVote({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players }) }), - upcomingPlays: [createFakeGamePlaySeerLooks()], + upcomingPlays: [ + createFakeGamePlaySeerLooks(), + createFakeGamePlayWerewolvesEat(), + ], players, }); await models.game.create(game); @@ -718,6 +925,7 @@ describe("Game Controller", () => { createFakeWerewolfAlivePlayer(), ]); const game = createFakeGame({ + phase: GAME_PHASES.NIGHT, status: GAME_STATUSES.PLAYING, currentPlay: createFakeGamePlaySeerLooks({ source: createFakeGamePlaySource({ name: ROLE_NAMES.SEER, players: [players[1]] }) }), upcomingPlays: [createFakeGamePlayWerewolvesEat()], diff --git a/tests/factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory.ts b/tests/factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory.ts new file mode 100644 index 000000000..dcc270e92 --- /dev/null +++ b/tests/factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory.ts @@ -0,0 +1,18 @@ +import { faker } from "@faker-js/faker"; +import { plainToInstance } from "class-transformer"; +import { CreateGameAdditionalCardDto } from "../../../../../../src/modules/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto"; +import { ROLE_NAMES } from "../../../../../../src/modules/role/enums/role.enum"; +import { plainToInstanceDefaultOptions } from "../../../../../../src/shared/validation/constants/validation.constant"; + +function createFakeCreateGameAdditionalCardDto( + createGameAdditionalCardDto: Partial = {}, + override: Record = {}, +): CreateGameAdditionalCardDto { + return plainToInstance(CreateGameAdditionalCardDto, { + roleName: createGameAdditionalCardDto.roleName ?? faker.helpers.arrayElement(Object.values(ROLE_NAMES)), + recipient: createGameAdditionalCardDto.recipient ?? ROLE_NAMES.THIEF, + ...override, + }, plainToInstanceDefaultOptions); +} + +export { createFakeCreateGameAdditionalCardDto }; \ No newline at end of file diff --git a/tests/factories/game/dto/create-game/create-game.dto.factory.ts b/tests/factories/game/dto/create-game/create-game.dto.factory.ts index cc778cdee..722c7cf67 100644 --- a/tests/factories/game/dto/create-game/create-game.dto.factory.ts +++ b/tests/factories/game/dto/create-game/create-game.dto.factory.ts @@ -25,6 +25,7 @@ function createFakeCreateGameDto(createGameDto: Partial = {}, ove players: createGameDto.players ?? [], upcomingPlays: createGameDto.upcomingPlays ?? [], currentPlay: createGameDto.currentPlay ?? null, + additionalCards: createGameDto.additionalCards ?? undefined, options: createGameDto.options ?? defaultGameOptions, ...override, }, plainToInstanceDefaultOptions); diff --git a/tests/factories/game/schemas/game-play/game-play-source.schema.factory.ts b/tests/factories/game/schemas/game-play/game-play-source.schema.factory.ts index f5451d557..c29ef977f 100644 --- a/tests/factories/game/schemas/game-play/game-play-source.schema.factory.ts +++ b/tests/factories/game/schemas/game-play/game-play-source.schema.factory.ts @@ -1,7 +1,7 @@ import { faker } from "@faker-js/faker"; import { plainToInstance } from "class-transformer"; import { gameSourceValues } from "../../../../../src/modules/game/constants/game.constant"; -import { GamePlaySource } from "../../../../../src/modules/game/schemas/game-play/game-play-source.schema"; +import { GamePlaySource } from "../../../../../src/modules/game/schemas/game-play/game-play-source/game-play-source.schema"; import { plainToInstanceDefaultOptions } from "../../../../../src/shared/validation/constants/validation.constant"; function createFakeGamePlaySource(gamePlaySource: Partial = {}, override: object = {}): GamePlaySource { diff --git a/tests/stryker/incremental.json b/tests/stryker/incremental.json index 853f90acc..dee83e356 100644 --- a/tests/stryker/incremental.json +++ b/tests/stryker/incremental.json @@ -12,7 +12,7 @@ "static": true, "killedBy": [], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -34,10 +34,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -59,10 +59,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -84,10 +84,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -109,10 +109,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -134,10 +134,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -159,10 +159,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -184,10 +184,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -209,10 +209,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "935" + "992" ], "coveredBy": [ - "935" + "992" ], "location": { "end": { @@ -240,8 +240,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -263,8 +263,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -286,8 +286,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -309,8 +309,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -332,11 +332,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "942" + "999" ], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -358,8 +358,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -381,8 +381,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "941", - "942" + "998", + "999" ], "location": { "end": { @@ -404,10 +404,10 @@ "testsCompleted": 1, "static": false, "killedBy": [ - "942" + "999" ], "coveredBy": [ - "942" + "999" ], "location": { "end": { @@ -429,9 +429,9 @@ "static": true, "killedBy": [], "coveredBy": [ - "943", - "944", - "945" + "1000", + "1001", + "1002" ], "location": { "end": { @@ -453,9 +453,9 @@ "static": true, "killedBy": [], "coveredBy": [ - "943", - "944", - "945" + "1000", + "1001", + "1002" ], "location": { "end": { @@ -477,12 +477,12 @@ "testsCompleted": 3, "static": true, "killedBy": [ - "943" + "1000" ], "coveredBy": [ - "943", - "944", - "945" + "1000", + "1001", + "1002" ], "location": { "end": { @@ -504,10 +504,10 @@ "testsCompleted": 1, "static": false, "killedBy": [ - "943" + "1000" ], "coveredBy": [ - "943" + "1000" ], "location": { "end": { @@ -529,9 +529,9 @@ "static": true, "killedBy": [], "coveredBy": [ - "943", - "944", - "945" + "1000", + "1001", + "1002" ], "location": { "end": { @@ -553,7 +553,7 @@ "static": true, "killedBy": [], "coveredBy": [ - "945" + "1002" ], "location": { "end": { @@ -575,7 +575,7 @@ "static": true, "killedBy": [], "coveredBy": [ - "945" + "1002" ], "location": { "end": { @@ -597,10 +597,10 @@ "testsCompleted": 1, "static": true, "killedBy": [ - "945" + "1002" ], "coveredBy": [ - "945" + "1002" ], "location": { "end": { @@ -628,8 +628,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "961", - "962" + "1018", + "1019" ], "location": { "end": { @@ -651,8 +651,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "961", - "962" + "1018", + "1019" ], "location": { "end": { @@ -674,11 +674,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "961" + "1018" ], "coveredBy": [ - "961", - "962" + "1018", + "1019" ], "location": { "end": { @@ -700,11 +700,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "961" + "1018" ], "coveredBy": [ - "961", - "962" + "1018", + "1019" ], "location": { "end": { @@ -726,11 +726,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "961" + "1018" ], "coveredBy": [ - "961", - "962" + "1018", + "1019" ], "location": { "end": { @@ -752,8 +752,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "961", - "962" + "1018", + "1019" ], "location": { "end": { @@ -781,8 +781,8 @@ "static": true, "killedBy": [], "coveredBy": [ - "959", - "960" + "1016", + "1017" ], "location": { "end": { @@ -804,11 +804,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "959" + "1016" ], "coveredBy": [ - "959", - "960" + "1016", + "1017" ], "location": { "end": { @@ -830,11 +830,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "959" + "1016" ], "coveredBy": [ - "959", - "960" + "1016", + "1017" ], "location": { "end": { @@ -856,11 +856,11 @@ "testsCompleted": 2, "static": true, "killedBy": [ - "959" + "1016" ], "coveredBy": [ - "959", - "960" + "1016", + "1017" ], "location": { "end": { @@ -888,8 +888,8 @@ "static": false, "killedBy": [], "coveredBy": [ - "533", - "534" + "482", + "483" ], "location": { "end": { @@ -911,7 +911,7 @@ "static": false, "killedBy": [], "coveredBy": [ - "544" + "493" ], "location": { "end": { @@ -933,7 +933,7 @@ "static": false, "killedBy": [], "coveredBy": [ - "547" + "496" ], "location": { "end": { @@ -955,8 +955,9 @@ "static": false, "killedBy": [], "coveredBy": [ - "560", - "561" + "517", + "518", + "519" ], "location": { "end": { @@ -978,8 +979,8 @@ "static": false, "killedBy": [], "coveredBy": [ - "564", - "565" + "522", + "523" ], "location": { "end": { @@ -1001,10 +1002,10 @@ "static": false, "killedBy": [], "coveredBy": [ - "570", - "571", - "572", - "573" + "528", + "529", + "530", + "531" ], "location": { "end": { @@ -1026,8 +1027,8 @@ "static": false, "killedBy": [], "coveredBy": [ - "576", - "577" + "534", + "535" ], "location": { "end": { @@ -1055,28 +1056,28 @@ "static": false, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987" ], "location": { "end": { @@ -1098,26 +1099,26 @@ "testsCompleted": 17, "static": false, "killedBy": [ - "934" + "987" ], "coveredBy": [ - "546", - "547", - "563", - "564", - "565", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "575", - "576", - "577", - "933", - "934" + "495", + "496", + "521", + "522", + "523", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "533", + "534", + "535", + "986", + "987" ], "location": { "end": { @@ -1139,22 +1140,23 @@ "static": false, "killedBy": [], "coveredBy": [ - "546", - "547", - "563", - "564", - "565", - "568", - "569", - "570", - "571", - "572", - "573", - "575", - "576", - "577", - "933", - "934" + "495", + "496", + "521", + "522", + "523", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "533", + "534", + "535", + "986", + "987" ], "location": { "end": { @@ -1176,22 +1178,23 @@ "static": false, "killedBy": [], "coveredBy": [ - "546", - "547", - "563", - "564", - "565", - "568", - "569", - "570", - "571", - "572", - "573", - "575", - "576", - "577", - "933", - "934" + "495", + "496", + "521", + "522", + "523", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "533", + "534", + "535", + "986", + "987" ], "location": { "end": { @@ -1213,22 +1216,23 @@ "static": false, "killedBy": [], "coveredBy": [ - "546", - "547", - "563", - "564", - "565", - "568", - "569", - "570", - "571", - "572", - "573", - "575", - "576", - "577", - "933", - "934" + "495", + "496", + "521", + "522", + "523", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "533", + "534", + "535", + "986", + "987" ], "location": { "end": { @@ -1250,12 +1254,13 @@ "static": false, "killedBy": [], "coveredBy": [ - "546", - "563", - "568", - "569", - "575", - "933" + "495", + "521", + "525", + "526", + "527", + "533", + "986" ], "location": { "end": { @@ -1271,319 +1276,306 @@ ], "source": "import type { PipeTransform } from \"@nestjs/common\";\nimport { Injectable } from \"@nestjs/common\";\nimport { API_RESOURCES } from \"../../../../shared/api/enums/api.enum\";\nimport { ValidateMongoId } from \"../../../../shared/api/pipes/validate-mongo-id.pipe\";\nimport { ResourceNotFoundException } from \"../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { GameRepository } from \"../../providers/repositories/game.repository\";\nimport type { Game } from \"../../schemas/game.schema\";\n\n@Injectable()\nexport class GetGameByIdPipe implements PipeTransform {\n public constructor(private readonly gameRepository: GameRepository) {}\n public async transform(value: unknown): Promise {\n const validateMongoIdPipe = new ValidateMongoId();\n const objectId = validateMongoIdPipe.transform(value);\n const game = await this.gameRepository.findOne({ _id: objectId });\n if (game === null) {\n throw new ResourceNotFoundException(API_RESOURCES.GAMES, objectId.toString());\n }\n return game;\n }\n}" }, - "src/modules/game/dto/base/decorators/composition-bounds.decorator.ts": { + "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts": { "language": "typescript", "mutants": [ { "id": "48", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts(6,68): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "988", + "989", + "990" + ], "location": { "end": { "column": 2, - "line": 10 + "line": 12 }, "start": { - "column": 177, - "line": 5 + "column": 76, + "line": 6 } } - } - ], - "source": "import { applyDecorators } from \"@nestjs/common\";\nimport { ArrayMaxSize, ArrayMinSize } from \"class-validator\";\nimport { gameFieldsSpecs } from \"../../../constants/game.constant\";\n\nfunction CompositionBounds(): void, Y>(target: (TFunction | object), propertyKey?: (string | symbol), descriptor?: TypedPropertyDescriptor) => void {\n return applyDecorators(\n ArrayMinSize(gameFieldsSpecs.players.minItems),\n ArrayMaxSize(gameFieldsSpecs.players.maxItems),\n );\n}\n\nexport { CompositionBounds };" - }, - "src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts": { - "language": "typescript", - "mutants": [ + }, { "id": "49", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts(9,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "898", - "899", - "900", - "901", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "988", + "989", + "990" ], "location": { "end": { - "column": 2, - "line": 16 + "column": 26, + "line": 7 }, "start": { - "column": 74, - "line": 9 + "column": 7, + "line": 7 } } }, { "id": "50", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:38:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 26, "static": false, "killedBy": [ - "699" + "497" ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "898", - "899", - "900", - "901", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "988", + "989", + "990" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 26, + "line": 7 }, "start": { "column": 7, - "line": 10 + "line": 7 } } }, { "id": "51", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 26, + "mutatorName": "EqualityOperator", + "replacement": "value !== undefined", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts(10,32): error TS2352: Conversion of type 'undefined' to type 'CreateGameAdditionalCardDto[]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "548" - ], + "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "898", - "899", - "900", - "901", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "988", + "989", + "990" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 26, + "line": 7 }, "start": { "column": 7, - "line": 10 + "line": 7 } } }, { "id": "52", - "mutatorName": "LogicalOperator", - "replacement": "!Array.isArray(value) && value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts(10,32): error TS18046: 'value' is of type 'unknown'.\n", - "status": "CompileError", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "898", - "899", - "900", - "901", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "517", + "519", + "988" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 4, + "line": 9 }, "start": { - "column": 7, - "line": 10 + "column": 28, + "line": 7 } } }, { "id": "53", "mutatorName": "BooleanLiteral", - "replacement": "Array.isArray(value)", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts(10,31): error TS18046: 'value' is of type 'unknown'.\n", - "status": "CompileError", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:540:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "898", - "899", - "900", - "901", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "517", + "519", + "988" ], "location": { "end": { - "column": 28, - "line": 10 + "column": 16, + "line": 8 }, "start": { - "column": 7, - "line": 10 + "column": 12, + "line": 8 } } }, { "id": "54", "mutatorName": "MethodExpression", - "replacement": "value.every(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "thiefAdditionalCards.some(({\n roleName\n}) => gameAdditionalCardsThiefRoleNames.includes(roleName))", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"additionalCards.roleName must be one of the following values: werewolf,big-bad-wolf,vile-father-of-wolves,white-werewolf,villager,villager-villager,seer,cupid,witch,hunter,little-girl,guard,ancient,scapegoat,idiot,fox,bear-tamer,stuttering-judge,rusty-sword-knight,wild-child,dog-wolf,angel,pied-piper,raven\"\nReceived array: [\"additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 10, "static": false, "killedBy": [ - "900" + "513" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "903", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "989", + "990" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 108, + "line": 11 }, "start": { - "column": 32, - "line": 10 + "column": 10, + "line": 11 } } }, @@ -1591,815 +1583,591 @@ "id": "55", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.spec.ts:30:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 8, "static": false, "killedBy": [ - "900" + "990" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "903", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "989", + "990" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 107, + "line": 11 }, "start": { - "column": 43, - "line": 10 + "column": 37, + "line": 11 } } }, { "id": "56", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.ts(14,59): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" + "513", + "514", + "991" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 2, + "line": 16 }, "start": { - "column": 53, - "line": 10 + "column": 66, + "line": 14 } } }, { "id": "57", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 22, + "mutatorName": "StringLiteral", + "replacement": "``", + "status": "Timeout", "static": false, - "killedBy": [ - "900" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" + "513", + "514", + "991" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 121, + "line": 15 }, "start": { - "column": 53, - "line": 10 + "column": 10, + "line": 15 } } }, { "id": "58", - "mutatorName": "LogicalOperator", - "replacement": "!isObject(player) && !has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" - ], + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 104, - "line": 10 + "column": 2, + "line": 31 }, "start": { - "column": 53, - "line": 10 + "column": 78, + "line": 18 } } }, { "id": "59", - "mutatorName": "BooleanLiteral", - "replacement": "isObject(player)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" - ], + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 70, - "line": 10 + "column": 4, + "line": 30 }, "start": { - "column": 53, - "line": 10 + "column": 58, + "line": 19 } } }, { "id": "60", - "mutatorName": "BooleanLiteral", - "replacement": "has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" - ], + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 104, - "line": 10 + "column": 6, + "line": 29 }, "start": { - "column": 74, - "line": 10 + "column": 23, + "line": 20 } } }, { "id": "61", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" - ], + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 103, - "line": 10 + "column": 43, + "line": 21 }, "start": { - "column": 87, - "line": 10 + "column": 13, + "line": 21 } } }, { "id": "62", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" - ], + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 94, - "line": 10 + "column": 8, + "line": 28 }, "start": { - "column": 88, - "line": 10 + "column": 18, + "line": 25 } } - }, + } + ], + "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport { gameAdditionalCardsThiefRoleNames } from \"../../../../constants/game-additional-card/game-additional-card.constant\";\nimport type { CreateGameAdditionalCardDto } from \"../../../create-game/create-game-additional-card/create-game-additional-card.dto\";\n\nfunction areAdditionalCardsForThiefRolesRespected(value: unknown): boolean {\n if (value === undefined) {\n return true;\n }\n const thiefAdditionalCards = value as CreateGameAdditionalCardDto[];\n return thiefAdditionalCards.every(({ roleName }) => gameAdditionalCardsThiefRoleNames.includes(roleName));\n}\n\nfunction getAdditionalCardsForThiefRolesDefaultMessage(): string {\n return `additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`;\n}\n\nfunction AdditionalCardsForThiefRoles(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"AdditionalCardsForThiefRoles\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: areAdditionalCardsForThiefRolesRespected,\n defaultMessage: getAdditionalCardsForThiefRolesDefaultMessage,\n },\n });\n };\n}\n\nexport {\n AdditionalCardsForThiefRoles,\n getAdditionalCardsForThiefRolesDefaultMessage,\n areAdditionalCardsForThiefRolesRespected,\n};" + }, + "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts": { + "language": "typescript", + "mutants": [ { "id": "63", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(5,108): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "900", - "901", - "902", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "910", + "911", + "912", + "913" ], "location": { "end": { - "column": 102, - "line": 10 + "column": 2, + "line": 14 }, "start": { - "column": 96, - "line": 10 + "column": 116, + "line": 5 } } }, { "id": "64", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,55): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "548" - ], + "killedBy": [], "coveredBy": [ - "548", - "898", - "899", - "900", - "901" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "910", + "911", + "912", + "913" ], "location": { "end": { - "column": 4, - "line": 12 + "column": 26, + "line": 7 }, "start": { - "column": 107, - "line": 10 + "column": 7, + "line": 7 } } }, { "id": "65", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts:12:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 23, "static": false, "killedBy": [ - "898" + "517" ], "coveredBy": [ - "548", - "898", - "899", - "900", - "901" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "910", + "911", + "912", + "913" ], "location": { "end": { - "column": 17, - "line": 11 + "column": 26, + "line": 7 }, "start": { - "column": 12, - "line": 11 + "column": 7, + "line": 7 } } }, { "id": "66", - "mutatorName": "MethodExpression", - "replacement": "roles", - "status": "Timeout", + "mutatorName": "EqualityOperator", + "replacement": "value !== undefined", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,61): error TS2339: Property 'length' does not exist on type 'never'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "910", + "911", + "912", + "913" ], "location": { "end": { - "column": 81, - "line": 14 + "column": 26, + "line": 7 }, "start": { - "column": 25, - "line": 14 + "column": 7, + "line": 7 } } }, { "id": "67", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 16, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "517", + "519", + "910" ], "location": { "end": { - "column": 80, - "line": 14 + "column": 4, + "line": 9 }, "start": { - "column": 38, - "line": 14 + "column": 28, + "line": 7 } } }, { "id": "68", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "556" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "517", + "519", + "910" ], "location": { "end": { - "column": 80, - "line": 14 + "column": 16, + "line": 8 }, "start": { - "column": 46, - "line": 14 + "column": 12, + "line": 8 } } }, { "id": "69", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "mutatorName": "BooleanLiteral", + "replacement": "Array.isArray(value)", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,55): error TS18047: 'value' is possibly 'null'.\nsrc/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,61): error TS2339: Property 'length' does not exist on type '{}'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "911", + "912", + "913" ], "location": { "end": { - "column": 80, - "line": 14 + "column": 28, + "line": 10 }, "start": { - "column": 46, - "line": 14 + "column": 7, + "line": 10 } } }, { "id": "70", - "mutatorName": "EqualityOperator", - "replacement": "role.side !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,55): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "556" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "911", + "912", + "913" ], "location": { "end": { - "column": 80, - "line": 14 + "column": 28, + "line": 10 }, "start": { - "column": 46, - "line": 14 + "column": 7, + "line": 10 } } }, { "id": "71", - "mutatorName": "MethodExpression", - "replacement": "players.every(({\n role\n}) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name))", - "status": "Timeout", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,55): error TS18047: 'value' is possibly 'null'.\nsrc/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(13,61): error TS2339: Property 'length' does not exist on type '{}'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "911", + "912", + "913" ], "location": { "end": { - "column": 105, - "line": 15 + "column": 28, + "line": 10 }, "start": { - "column": 10, - "line": 15 + "column": 7, + "line": 10 } } }, { "id": "72", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(11,55): error TS18047: 'value' is possibly 'null'.\nsrc/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(11,61): error TS2339: Property 'length' does not exist on type '{}'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "903", - "904" + "911" ], "location": { "end": { - "column": 104, - "line": 15 + "column": 4, + "line": 12 }, "start": { - "column": 23, - "line": 15 + "column": 30, + "line": 10 } } }, { "id": "73", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:38:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 20, + "mutatorName": "BooleanLiteral", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "699" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "904" + "911" ], "location": { "end": { - "column": 103, - "line": 15 + "column": 17, + "line": 11 }, "start": { - "column": 56, - "line": 15 + "column": 12, + "line": 11 } } }, @@ -2411,35 +2179,25 @@ "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "912", + "913" ], "location": { "end": { - "column": 103, - "line": 15 + "column": 67, + "line": 13 }, "start": { - "column": 72, - "line": 15 + "column": 10, + "line": 13 } } }, @@ -2447,87 +2205,63 @@ "id": "75", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 20, + "status": "Timeout", "static": false, - "killedBy": [ - "904" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "912", + "913" ], "location": { "end": { - "column": 103, - "line": 15 + "column": 67, + "line": 13 }, "start": { - "column": 72, - "line": 15 + "column": 10, + "line": 13 } } }, { "id": "76", "mutatorName": "EqualityOperator", - "replacement": "role.name !== werewolfRole.name", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "options.roles.thief.additionalCardsCount !== value.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 20, + "testsCompleted": 10, "static": false, "killedBy": [ - "556" + "511" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "902", - "904" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "912", + "913" ], "location": { "end": { - "column": 103, - "line": 15 + "column": 67, + "line": 13 }, "start": { - "column": 72, - "line": 15 + "column": 10, + "line": 13 } } }, @@ -2535,23 +2269,23 @@ "id": "77", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-villager.decorator.ts(18,53): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.ts(16,58): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "556", - "905" + "511", + "512", + "914" ], "location": { "end": { "column": 2, - "line": 20 + "line": 18 }, "start": { - "column": 60, - "line": 18 + "column": 65, + "line": 16 } } }, @@ -2559,26 +2293,26 @@ "id": "78", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"one of the players.role must have at least one role from `villagers` side\"\nReceived: \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts:70:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"additionalCards length must be equal to options.roles.thief.additionalCardsCount\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "905" + "511" ], "coveredBy": [ - "548", - "556", - "905" + "511", + "512", + "914" ], "location": { "end": { - "column": 85, - "line": 19 + "column": 92, + "line": 17 }, "start": { "column": 10, - "line": 19 + "line": 17 } } }, @@ -2593,11 +2327,11 @@ "location": { "end": { "column": 2, - "line": 35 + "line": 33 }, "start": { - "column": 72, - "line": 22 + "column": 77, + "line": 20 } } }, @@ -2612,11 +2346,11 @@ "location": { "end": { "column": 4, - "line": 34 + "line": 32 }, "start": { "column": 58, - "line": 23 + "line": 21 } } }, @@ -2631,11 +2365,11 @@ "location": { "end": { "column": 6, - "line": 33 + "line": 31 }, "start": { "column": 23, - "line": 24 + "line": 22 } } }, @@ -2649,12 +2383,12 @@ "coveredBy": [], "location": { "end": { - "column": 37, - "line": 25 + "column": 42, + "line": 23 }, "start": { "column": 13, - "line": 25 + "line": 23 } } }, @@ -2669,64 +2403,66 @@ "location": { "end": { "column": 8, - "line": 32 + "line": 30 }, "start": { "column": 18, - "line": 29 + "line": 27 } } } ], - "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { ROLE_SIDES } from \"../../../../role/enums/role.enum\";\n\nfunction doesCompositionHaveAtLeastOneVillager(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n const werewolfRoles = roles.filter(role => role.side === ROLE_SIDES.VILLAGERS);\n return players.some(({ role }) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name));\n}\n\nfunction getCompositionHasVillagerDefaultMessage(): string {\n return \"one of the players.role must have at least one role from `villagers` side\";\n}\n\nfunction CompositionHasVillager(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionHasVillager\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: doesCompositionHaveAtLeastOneVillager,\n defaultMessage: getCompositionHasVillagerDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionHasVillager, doesCompositionHaveAtLeastOneVillager, getCompositionHasVillagerDefaultMessage };" + "source": "import type { ValidationArguments, ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport type { CreateGameDto } from \"../../../create-game/create-game.dto\";\n\nfunction isAdditionalCardsForThiefSizeRespected(value: unknown, validationArguments: ValidationArguments): boolean {\n const { options } = validationArguments.object as CreateGameDto;\n if (value === undefined) {\n return true;\n }\n if (!Array.isArray(value)) {\n return false;\n }\n return options.roles.thief.additionalCardsCount === value.length;\n}\n\nfunction getAdditionalCardsForThiefSizeDefaultMessage(): string {\n return \"additionalCards length must be equal to options.roles.thief.additionalCardsCount\";\n}\n\nfunction AdditionalCardsForThiefSize(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"AdditionalCardsForThiefSize\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: isAdditionalCardsForThiefSizeRespected,\n defaultMessage: getAdditionalCardsForThiefSizeDefaultMessage,\n },\n });\n };\n}\n\nexport {\n AdditionalCardsForThiefSize,\n getAdditionalCardsForThiefSizeDefaultMessage,\n isAdditionalCardsForThiefSizeRespected,\n};" }, - "src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts": { + "src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts": { "language": "typescript", "mutants": [ { "id": "84", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts(9,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts(6,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "906", - "907", - "908", - "909", - "910", - "911", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { "column": 2, - "line": 16 + "line": 10 }, "start": { - "column": 74, - "line": 9 + "column": 112, + "line": 6 } } }, @@ -2734,49 +2470,51 @@ "id": "85", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 26, + "testsCompleted": 28, "static": false, "killedBy": [ - "699" + "510" ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "906", - "907", - "908", - "909", - "910", - "911", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 115, + "line": 8 }, "start": { - "column": 7, - "line": 10 + "column": 44, + "line": 8 } } }, @@ -2784,190 +2522,196 @@ "id": "86", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'some')\n at doesCompositionHaveAtLeastOneWerewolf (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts:76:113)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts:12:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 26, + "testsCompleted": 28, "static": false, "killedBy": [ - "906" + "509" ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "906", - "907", - "908", - "909", - "910", - "911", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 115, + "line": 8 }, "start": { - "column": 7, - "line": 10 + "column": 44, + "line": 8 } } }, { "id": "87", - "mutatorName": "LogicalOperator", - "replacement": "!Array.isArray(value) && value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts(10,32): error TS18046: 'value' is of type 'unknown'.\n", - "status": "CompileError", + "mutatorName": "EqualityOperator", + "replacement": "players?.some(player => player.role.name === ROLE_NAMES.THIEF) !== true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "906", - "907", - "908", - "909", - "910", - "911", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 115, + "line": 8 }, "start": { - "column": 7, - "line": 10 + "column": 44, + "line": 8 } } }, { "id": "88", - "mutatorName": "BooleanLiteral", - "replacement": "Array.isArray(value)", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts(10,31): error TS18046: 'value' is of type 'unknown'.\n", - "status": "CompileError", + "mutatorName": "MethodExpression", + "replacement": "players?.every(player => player.role.name === ROLE_NAMES.THIEF)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "906", - "907", - "908", - "909", - "910", - "911", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 28, - "line": 10 + "column": 106, + "line": 8 }, "start": { - "column": 7, - "line": 10 + "column": 44, + "line": 8 } } }, { "id": "89", - "mutatorName": "MethodExpression", - "replacement": "value.every(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 23, + "mutatorName": "OptionalChaining", + "replacement": "players.some", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts(8,44): error TS18048: 'players' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "908" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "911", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 105, - "line": 10 + "column": 57, + "line": 8 }, "start": { - "column": 32, - "line": 10 + "column": 44, + "line": 8 } } }, @@ -2975,46 +2719,50 @@ "id": "90", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 27, "static": false, "killedBy": [ - "908" + "509" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "911", - "912" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 105, + "line": 8 }, "start": { - "column": 43, - "line": 10 + "column": 58, + "line": 8 } } }, @@ -3022,45 +2770,46 @@ "id": "91", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 105, + "line": 8 }, "start": { - "column": 53, - "line": 10 + "column": 68, + "line": 8 } } }, @@ -3068,879 +2817,463 @@ "id": "92", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:51:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 25, "static": false, "killedBy": [ - "908" + "874" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 105, + "line": 8 }, "start": { - "column": 53, - "line": 10 + "column": 68, + "line": 8 } } }, { "id": "93", - "mutatorName": "LogicalOperator", - "replacement": "!isObject(player) && !has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "mutatorName": "EqualityOperator", + "replacement": "player.role.name !== ROLE_NAMES.THIEF", + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" - ], - "location": { - "end": { - "column": 104, - "line": 10 + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" + ], + "location": { + "end": { + "column": 105, + "line": 8 }, "start": { - "column": 53, - "line": 10 + "column": 68, + "line": 8 } } }, { "id": "94", "mutatorName": "BooleanLiteral", - "replacement": "isObject(player)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877" ], "location": { "end": { - "column": 70, - "line": 10 + "column": 115, + "line": 8 }, "start": { - "column": 53, - "line": 10 + "column": 111, + "line": 8 } } }, { "id": "95", - "mutatorName": "BooleanLiteral", - "replacement": "has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:32:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 16, "static": false, "killedBy": [ - "560" + "873" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "497", + "498", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "510", + "517", + "519", + "873", + "877" ], "location": { "end": { - "column": 104, - "line": 10 + "column": 87, + "line": 9 }, "start": { - "column": 74, - "line": 10 + "column": 68, + "line": 9 } } }, { "id": "96", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:112:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "877" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "497", + "498", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "510", + "517", + "519", + "873", + "877" ], "location": { "end": { - "column": 103, - "line": 10 + "column": 87, + "line": 9 }, "start": { - "column": 87, - "line": 10 + "column": 68, + "line": 9 } } }, { "id": "97", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "status": "Timeout", + "mutatorName": "EqualityOperator", + "replacement": "value !== undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:32:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "873" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "497", + "498", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "510", + "517", + "519", + "873", + "877" ], "location": { "end": { - "column": 94, - "line": 10 + "column": 87, + "line": 9 }, "start": { - "column": 88, - "line": 10 + "column": 68, + "line": 9 } } }, { "id": "98", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.ts(12,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "908", - "909", - "910", - "912" + "499", + "509", + "510", + "878", + "879" ], "location": { "end": { - "column": 102, - "line": 10 + "column": 2, + "line": 17 }, "start": { - "column": 96, - "line": 10 + "column": 101, + "line": 12 } } }, { "id": "99", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "mutatorName": "BooleanLiteral", + "replacement": "Array.isArray(validationArguments.value)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"additionalCards must be set if there is a player with role `thief`\"\nReceived: \"additionalCards can't be set if there is no player with role `thief`\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:133:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "548" + "878" ], "coveredBy": [ - "548", - "906", - "907", - "908", - "909" + "499", + "509", + "510", + "878", + "879" ], "location": { "end": { - "column": 4, - "line": 12 + "column": 48, + "line": 13 }, "start": { - "column": 107, - "line": 10 + "column": 7, + "line": 13 } } }, { "id": "100", - "mutatorName": "BooleanLiteral", + "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"additionalCards can't be set if there is no player with role `thief`\"\nReceived: \"additionalCards must be set if there is a player with role `thief`\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:157:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "879" + ], "coveredBy": [ - "548", - "906", - "907", - "908", - "909" + "499", + "509", + "510", + "878", + "879" ], "location": { "end": { - "column": 17, - "line": 11 + "column": 48, + "line": 13 }, "start": { - "column": 12, - "line": 11 + "column": 7, + "line": 13 } } }, { "id": "101", - "mutatorName": "MethodExpression", - "replacement": "roles", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"additionalCards must be set if there is a player with role `thief`\"\nReceived array: [\"additionalCards can't be set if there is no player with role `thief`\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 6, "static": false, "killedBy": [ - "910" + "509" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" + "499", + "509", + "510", + "878", + "879" ], "location": { "end": { - "column": 82, - "line": 14 + "column": 48, + "line": 13 }, "start": { - "column": 25, - "line": 14 + "column": 7, + "line": 13 } } }, { "id": "102", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"additionalCards must be set if there is a player with role `thief`\"\nReceived array: [\"additionalCards can't be set if there is no player with role `thief`\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 3, "static": false, "killedBy": [ - "560" + "509" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" + "499", + "509", + "878" ], "location": { "end": { - "column": 81, - "line": 14 + "column": 4, + "line": 15 }, "start": { - "column": 38, - "line": 14 + "column": 50, + "line": 13 } } }, { "id": "103", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"additionalCards must be set if there is a player with role `thief`\"\nReceived: \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts:133:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 4, "static": false, "killedBy": [ - "557" + "878" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" + "499", + "509", + "878" ], "location": { "end": { - "column": 81, + "column": 80, "line": 14 }, "start": { - "column": 46, + "column": 12, "line": 14 } } }, { "id": "104", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"additionalCards can't be set if there is no player with role `thief`\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "510" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" + "510", + "879" ], "location": { "end": { - "column": 81, - "line": 14 + "column": 80, + "line": 16 }, "start": { - "column": 46, - "line": 14 + "column": 10, + "line": 16 } } }, { "id": "105", - "mutatorName": "EqualityOperator", - "replacement": "role.side !== ROLE_SIDES.WEREWOLVES", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, - "static": false, - "killedBy": [ - "557" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" - ], - "location": { - "end": { - "column": 81, - "line": 14 - }, - "start": { - "column": 46, - "line": 14 - } - } - }, - { - "id": "106", - "mutatorName": "MethodExpression", - "replacement": "players.every(({\n role\n}) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name))", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" - ], - "location": { - "end": { - "column": 105, - "line": 15 - }, - "start": { - "column": 10, - "line": 15 - } - } - }, - { - "id": "107", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "911", - "912" - ], - "location": { - "end": { - "column": 104, - "line": 15 - }, - "start": { - "column": 23, - "line": 15 - } - } - }, - { - "id": "108", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 20, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "912" - ], - "location": { - "end": { - "column": 103, - "line": 15 - }, - "start": { - "column": 56, - "line": 15 - } - } - }, - { - "id": "109", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 20, - "static": false, - "killedBy": [ - "557" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "912" - ], - "location": { - "end": { - "column": 103, - "line": 15 - }, - "start": { - "column": 72, - "line": 15 - } - } - }, - { - "id": "110", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "912" - ], - "location": { - "end": { - "column": 103, - "line": 15 - }, - "start": { - "column": 72, - "line": 15 - } - } - }, - { - "id": "111", - "mutatorName": "EqualityOperator", - "replacement": "role.name !== werewolfRole.name", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "910", - "912" - ], - "location": { - "end": { - "column": 103, - "line": 15 - }, - "start": { - "column": 72, - "line": 15 - } - } - }, - { - "id": "113", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"one of the players.role must have at least one role from `werewolves` side\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "557" - ], - "coveredBy": [ - "548", - "549", - "551", - "555", - "557", - "558", - "559", - "913" - ], - "location": { - "end": { - "column": 86, - "line": 19 - }, - "start": { - "column": 10, - "line": 19 - } - } - }, - { - "id": "114", "mutatorName": "BlockStatement", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -3950,16 +3283,16 @@ "location": { "end": { "column": 2, - "line": 35 + "line": 32 }, "start": { - "column": 72, - "line": 22 + "column": 73, + "line": 19 } } }, { - "id": "115", + "id": "106", "mutatorName": "BlockStatement", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -3969,16 +3302,16 @@ "location": { "end": { "column": 4, - "line": 34 + "line": 31 }, "start": { "column": 58, - "line": 23 + "line": 20 } } }, { - "id": "116", + "id": "107", "mutatorName": "ObjectLiteral", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -3988,16 +3321,16 @@ "location": { "end": { "column": 6, - "line": 33 + "line": 30 }, "start": { "column": 23, - "line": 24 + "line": 21 } } }, { - "id": "117", + "id": "108", "mutatorName": "StringLiteral", "replacement": "\"\"", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -4006,17 +3339,17 @@ "coveredBy": [], "location": { "end": { - "column": 37, - "line": 25 + "column": 42, + "line": 22 }, "start": { "column": 13, - "line": 25 + "line": 22 } } }, { - "id": "118", + "id": "109", "mutatorName": "ObjectLiteral", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -4026,1374 +3359,1039 @@ "location": { "end": { "column": 8, - "line": 32 + "line": 29 }, "start": { "column": 18, - "line": 29 + "line": 26 } } - }, + } + ], + "source": "import type { ValidationArguments, ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\nimport type { CreateGameDto } from \"../../../create-game/create-game.dto\";\n\nfunction isAdditionalCardsPresenceRespected(value: unknown, validationArguments: ValidationArguments): boolean {\n const { players } = validationArguments.object as Partial;\n const doSomePlayersNeedAdditionalCards = players?.some(player => player.role.name === ROLE_NAMES.THIEF) === true;\n return doSomePlayersNeedAdditionalCards ? Array.isArray(value) : value === undefined;\n}\n\nfunction getAdditionalCardsPresenceDefaultMessage(validationArguments: ValidationArguments): string {\n if (!Array.isArray(validationArguments.value)) {\n return \"additionalCards must be set if there is a player with role `thief`\";\n }\n return \"additionalCards can't be set if there is no player with role `thief`\";\n}\n\nfunction AdditionalCardsPresence(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"AdditionalCardsForThiefSize\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: isAdditionalCardsPresenceRespected,\n defaultMessage: getAdditionalCardsPresenceDefaultMessage,\n },\n });\n };\n}\n\nexport {\n isAdditionalCardsPresenceRespected,\n getAdditionalCardsPresenceDefaultMessage,\n AdditionalCardsPresence,\n};" + }, + "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts": { + "language": "typescript", + "mutants": [ { - "id": "112", + "id": "110", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-has-werewolf.decorator.ts(18,53): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(7,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "548", - "549", - "551", - "555", - "557", - "558", - "559", - "913" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "880", + "881", + "882", + "883", + "884" ], "location": { "end": { "column": 2, - "line": 20 + "line": 21 }, "start": { - "column": 60, - "line": 18 + "column": 119, + "line": 7 } } - } - ], - "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { ROLE_SIDES } from \"../../../../role/enums/role.enum\";\n\nfunction doesCompositionHaveAtLeastOneWerewolf(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n const werewolfRoles = roles.filter(role => role.side === ROLE_SIDES.WEREWOLVES);\n return players.some(({ role }) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name));\n}\n\nfunction getCompositionHasWerewolfDefaultMessage(): string {\n return \"one of the players.role must have at least one role from `werewolves` side\";\n}\n\nfunction CompositionHasWerewolf(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionHasWerewolf\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: doesCompositionHaveAtLeastOneWerewolf,\n defaultMessage: getCompositionHasWerewolfDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionHasWerewolf, doesCompositionHaveAtLeastOneWerewolf, getCompositionHasWerewolfDefaultMessage };" - }, - "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "119", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(5,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "111", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(17,30): error TS18048: 'players' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "863", - "864", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "880", + "881", + "882", + "883", + "884" ], "location": { "end": { - "column": 2, - "line": 17 + "column": 26, + "line": 8 }, "start": { - "column": 75, - "line": 5 + "column": 7, + "line": 8 } } }, { - "id": "120", + "id": "112", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 23, + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "863", - "864", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "880", + "881", + "882", + "883", + "884" ], "location": { "end": { - "column": 71, - "line": 6 + "column": 26, + "line": 8 }, "start": { "column": 7, - "line": 6 + "line": 8 } } }, { - "id": "121", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 23, + "id": "113", + "mutatorName": "EqualityOperator", + "replacement": "value !== undefined", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(15,27): error TS2352: Conversion of type 'undefined' to type 'CreateGameAdditionalCardDto[]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "548" - ], + "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "863", - "864", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "880", + "881", + "882", + "883", + "884" ], "location": { "end": { - "column": 71, - "line": 6 + "column": 26, + "line": 8 }, "start": { "column": 7, - "line": 6 + "line": 8 } } }, { - "id": "122", - "mutatorName": "LogicalOperator", - "replacement": "!Array.isArray(value) && value.some(player => !isObject(player))", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(6,32): error TS18046: 'value' is of type 'unknown'.\n", - "status": "CompileError", + "id": "114", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "863", - "864", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "517", + "519", + "880" ], "location": { "end": { - "column": 71, - "line": 6 + "column": 4, + "line": 10 }, "start": { - "column": 7, - "line": 6 + "column": 28, + "line": 8 } } }, { - "id": "123", + "id": "115", "mutatorName": "BooleanLiteral", - "replacement": "Array.isArray(value)", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(6,31): error TS18046: 'value' is of type 'unknown'.\n", - "status": "CompileError", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "863", - "864", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "517", + "519", + "880" ], "location": { "end": { - "column": 28, - "line": 6 + "column": 16, + "line": 9 }, "start": { - "column": 7, - "line": 6 + "column": 12, + "line": 9 } } }, { - "id": "124", - "mutatorName": "MethodExpression", - "replacement": "value.every(player => !isObject(player))", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:27:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 20, + "id": "116", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(17,30): error TS18048: 'players' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "865" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "881", + "882", + "883", + "884" ], "location": { "end": { - "column": 71, - "line": 6 + "column": 28, + "line": 12 }, "start": { - "column": 32, - "line": 6 + "column": 7, + "line": 12 } } }, { - "id": "125", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:27:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 20, + "id": "117", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(17,30): error TS18048: 'players' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "865" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "881", + "882", + "883", + "884" ], "location": { "end": { - "column": 70, - "line": 6 + "column": 28, + "line": 12 }, "start": { - "column": 43, - "line": 6 + "column": 7, + "line": 12 } } }, { - "id": "126", - "mutatorName": "BooleanLiteral", - "replacement": "isObject(player)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 20, + "id": "118", + "mutatorName": "EqualityOperator", + "replacement": "players !== undefined", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(17,30): error TS18048: 'players' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "865", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "881", + "882", + "883", + "884" ], "location": { "end": { - "column": 70, - "line": 6 + "column": 28, + "line": 12 }, "start": { - "column": 53, - "line": 6 + "column": 7, + "line": 12 } } }, { - "id": "127", + "id": "119", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 4, + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(15,30): error TS18048: 'players' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "548" - ], + "killedBy": [], "coveredBy": [ - "548", - "863", - "864", - "865" + "881" ], "location": { "end": { "column": 4, - "line": 8 + "line": 14 }, "start": { - "column": 73, - "line": 6 + "column": 30, + "line": 12 } } }, { - "id": "128", + "id": "120", "mutatorName": "BooleanLiteral", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:12:65)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts:45:95)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 1, "static": false, "killedBy": [ - "863" + "881" ], "coveredBy": [ - "548", - "863", - "864", - "865" + "881" ], "location": { "end": { "column": 17, - "line": 7 + "line": 13 }, "start": { "column": 12, - "line": 7 + "line": 13 } } }, { - "id": "129", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(10,52): error TS2345: Argument of type '(acc: number[], { position }: { position?: number | undefined; }) => void' is not assignable to parameter of type '(previousValue: number[], currentValue: { position?: number | undefined; }, currentIndex: number, array: { position?: number | undefined; }[]) => number[]'.\n Type 'void' is not assignable to type 'number[]'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,26): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,58): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\n", - "status": "CompileError", + "id": "121", + "mutatorName": "MethodExpression", + "replacement": "roles.some(role => {\n const playersRoleCount = players.filter(player => player.role.name === role.name).length;\n const additionalCardsRoleCount = additionalCards.filter(additionalCard => additionalCard.roleName === role.name).length;\n return playersRoleCount + additionalCardsRoleCount <= role.maxInGame;\n})", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 4, - "line": 15 + "column": 5, + "line": 20 }, "start": { - "column": 75, - "line": 10 + "column": 10, + "line": 16 } } }, { - "id": "130", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "122", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:643:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "518" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 87, - "line": 11 + "column": 4, + "line": 20 }, "start": { - "column": 9, - "line": 11 + "column": 30, + "line": 16 } } }, { - "id": "131", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "123", + "mutatorName": "MethodExpression", + "replacement": "players", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 87, - "line": 11 + "column": 86, + "line": 17 }, "start": { - "column": 9, - "line": 11 + "column": 30, + "line": 17 } } }, { - "id": "132", - "mutatorName": "LogicalOperator", - "replacement": "position !== undefined && !acc.includes(position) || position < players.length", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,62): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "124", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 87, - "line": 11 + "column": 85, + "line": 17 }, "start": { - "column": 9, - "line": 11 + "column": 45, + "line": 17 } } }, { - "id": "133", + "id": "125", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,17): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 58, - "line": 11 + "column": 85, + "line": 17 }, "start": { - "column": 9, - "line": 11 + "column": 55, + "line": 17 } } }, { - "id": "134", - "mutatorName": "LogicalOperator", - "replacement": "position !== undefined || !acc.includes(position)", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,49): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,62): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "126", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 58, - "line": 11 + "column": 85, + "line": 17 }, "start": { - "column": 9, - "line": 11 + "column": 55, + "line": 17 } } }, { - "id": "135", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,31): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,44): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "127", + "mutatorName": "EqualityOperator", + "replacement": "player.role.name !== role.name", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 31, - "line": 11 + "column": 85, + "line": 17 }, "start": { - "column": 9, - "line": 11 + "column": 55, + "line": 17 } } }, { - "id": "136", - "mutatorName": "EqualityOperator", - "replacement": "position === undefined", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,49): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(11,62): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", - "status": "CompileError", + "id": "128", + "mutatorName": "MethodExpression", + "replacement": "additionalCards", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 31, - "line": 11 + "column": 117, + "line": 18 }, "start": { - "column": 9, - "line": 11 + "column": 38, + "line": 18 } } }, { - "id": "137", - "mutatorName": "BooleanLiteral", - "replacement": "acc.includes(position)", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "129", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts:68:95)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 11, "static": false, "killedBy": [ - "559" + "882" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 58, - "line": 11 + "column": 116, + "line": 18 }, "start": { - "column": 35, - "line": 11 + "column": 61, + "line": 18 } } }, { - "id": "138", + "id": "130", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 18, + "status": "Timeout", "static": false, - "killedBy": [ - "559" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 87, - "line": 11 + "column": 116, + "line": 18 }, "start": { - "column": 62, - "line": 11 + "column": 79, + "line": 18 } } }, { - "id": "139", - "mutatorName": "EqualityOperator", - "replacement": "position <= players.length", + "id": "131", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 87, - "line": 11 + "column": 116, + "line": 18 }, "start": { - "column": 62, - "line": 11 + "column": 79, + "line": 18 } } }, { - "id": "140", + "id": "132", "mutatorName": "EqualityOperator", - "replacement": "position >= players.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:49:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "additionalCard.roleName !== role.name", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:643:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 11, "static": false, "killedBy": [ - "867" + "518" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 87, - "line": 11 + "column": 116, + "line": 18 }, "start": { - "column": 62, - "line": 11 + "column": 79, + "line": 18 } } }, { - "id": "141", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:49:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 18, + "id": "133", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "867" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 6, - "line": 13 + "column": 73, + "line": 19 }, "start": { - "column": 89, - "line": 11 + "column": 12, + "line": 19 } } }, { - "id": "142", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(15,7): error TS2322: Type 'string' is not assignable to type 'number'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(16,26): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\nsrc/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(16,58): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\n", - "status": "CompileError", + "id": "134", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 8, - "line": 15 + "column": 73, + "line": 19 }, "start": { - "column": 6, - "line": 15 + "column": 12, + "line": 19 } } }, { - "id": "143", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "135", + "mutatorName": "EqualityOperator", + "replacement": "playersRoleCount + additionalCardsRoleCount < role.maxInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts:114:95)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 19, + "testsCompleted": 11, "static": false, "killedBy": [ - "559" + "884" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" - ], - "location": { - "end": { - "column": 83, - "line": 16 - }, - "start": { - "column": 10, - "line": 16 - } - } - }, - { - "id": "144", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 19, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" - ], - "location": { - "end": { - "column": 83, - "line": 16 - }, - "start": { - "column": 10, - "line": 16 - } - } - }, - { - "id": "145", - "mutatorName": "LogicalOperator", - "replacement": "uniquePositions.length === 0 && uniquePositions.length === players.length", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" - ], - "location": { - "end": { - "column": 83, - "line": 16 - }, - "start": { - "column": 10, - "line": 16 - } - } - }, - { - "id": "146", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:38:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 19, - "static": false, - "killedBy": [ - "866" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 38, - "line": 16 + "column": 73, + "line": 19 }, "start": { - "column": 10, - "line": 16 + "column": 12, + "line": 19 } } }, { - "id": "147", + "id": "136", "mutatorName": "EqualityOperator", - "replacement": "uniquePositions.length !== 0", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 19, - "static": false, - "killedBy": [ - "559" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "866", - "867", - "868", - "869", - "870", - "871" - ], - "location": { - "end": { - "column": 38, - "line": 16 - }, - "start": { - "column": 10, - "line": 16 - } - } - }, - { - "id": "148", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "playersRoleCount + additionalCardsRoleCount > role.maxInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:643:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 11, "static": false, "killedBy": [ - "560" + "518" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 83, - "line": 16 + "column": 73, + "line": 19 }, "start": { - "column": 42, - "line": 16 + "column": 12, + "line": 19 } } }, { - "id": "149", - "mutatorName": "EqualityOperator", - "replacement": "uniquePositions.length !== players.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts:49:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "137", + "mutatorName": "ArithmeticOperator", + "replacement": "playersRoleCount - additionalCardsRoleCount", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 11, "static": false, "killedBy": [ - "867" + "515" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "867", - "868", - "869", - "870", - "871" + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "518", + "882", + "883", + "884" ], "location": { "end": { - "column": 83, - "line": 16 + "column": 55, + "line": 19 }, "start": { - "column": 42, - "line": 16 + "column": 12, + "line": 19 } } }, { - "id": "150", + "id": "138", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-positions-consistency.decorator.ts(19,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.ts(23,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "558", - "559", - "872" + "513", + "515", + "516", + "885" ], "location": { "end": { "column": 2, - "line": 21 + "line": 25 }, "start": { - "column": 69, - "line": 19 + "column": 67, + "line": 23 } } }, { - "id": "151", + "id": "139", "mutatorName": "StringLiteral", "replacement": "\"\"", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "548", - "558", - "559", - "872" + "513", + "515", + "516", + "885" ], "location": { "end": { - "column": 143, - "line": 20 + "column": 126, + "line": 24 }, "start": { "column": 10, - "line": 20 + "line": 24 } } }, { - "id": "152", + "id": "140", "mutatorName": "BlockStatement", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -5403,16 +4401,16 @@ "location": { "end": { "column": 2, - "line": 36 + "line": 40 }, "start": { - "column": 81, - "line": 23 + "column": 79, + "line": 27 } } }, { - "id": "153", + "id": "141", "mutatorName": "BlockStatement", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -5422,16 +4420,16 @@ "location": { "end": { "column": 4, - "line": 35 + "line": 39 }, "start": { "column": 58, - "line": 24 + "line": 28 } } }, { - "id": "154", + "id": "142", "mutatorName": "ObjectLiteral", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -5441,16 +4439,16 @@ "location": { "end": { "column": 6, - "line": 34 + "line": 38 }, "start": { "column": 23, - "line": 25 + "line": 29 } } }, { - "id": "155", + "id": "143", "mutatorName": "StringLiteral", "replacement": "\"\"", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -5459,17 +4457,17 @@ "coveredBy": [], "location": { "end": { - "column": 46, - "line": 26 + "column": 44, + "line": 30 }, "start": { "column": 13, - "line": 26 + "line": 30 } } }, { - "id": "156", + "id": "144", "mutatorName": "ObjectLiteral", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -5479,1300 +4477,1552 @@ "location": { "end": { "column": 8, - "line": 33 + "line": 37 }, "start": { "column": 18, - "line": 30 + "line": 34 } } } ], - "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\n\nfunction doesCompositionHaveConsistentPositions(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player))) {\n return false;\n }\n const players = value as { position?: number }[];\n const uniquePositions = players.reduce((acc, { position }) => {\n if (position !== undefined && !acc.includes(position) && position < players.length) {\n acc.push(position);\n }\n return acc;\n }, []);\n return uniquePositions.length === 0 || uniquePositions.length === players.length;\n}\n\nfunction getCompositionPositionsConsistencyDefaultMessage(): string {\n return \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\";\n}\n\nfunction CompositionPositionsConsistency(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionPositionsConsistency\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: doesCompositionHaveConsistentPositions,\n defaultMessage: getCompositionPositionsConsistencyDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionPositionsConsistency, doesCompositionHaveConsistentPositions, getCompositionPositionsConsistencyDefaultMessage };" + "source": "import { registerDecorator } from \"class-validator\";\nimport type { ValidationArguments, ValidationOptions } from \"class-validator\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { CreateGameAdditionalCardDto } from \"../../../create-game/create-game-additional-card/create-game-additional-card.dto\";\nimport type { CreateGameDto } from \"../../../create-game/create-game.dto\";\n\nfunction areAdditionalCardsRolesMaxInGameRespected(value: unknown, validationArguments: ValidationArguments): boolean {\n if (value === undefined) {\n return true;\n }\n const { players } = validationArguments.object as Partial;\n if (players === undefined) {\n return false;\n }\n const additionalCards = value as CreateGameAdditionalCardDto[];\n return roles.every(role => {\n const playersRoleCount = players.filter(player => player.role.name === role.name).length;\n const additionalCardsRoleCount = additionalCards.filter(additionalCard => additionalCard.roleName === role.name).length;\n return playersRoleCount + additionalCardsRoleCount <= role.maxInGame;\n });\n}\n\nfunction getAdditionalCardsRolesMaxInGameDefaultMessage(): string {\n return \"additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\";\n}\n\nfunction AdditionalCardsRolesMaxInGame(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"AdditionalCardsRolesMaxInGame\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: areAdditionalCardsRolesMaxInGameRespected,\n defaultMessage: getAdditionalCardsRolesMaxInGameDefaultMessage,\n },\n });\n };\n}\n\nexport {\n AdditionalCardsRolesMaxInGame,\n areAdditionalCardsRolesMaxInGameRespected,\n getAdditionalCardsRolesMaxInGameDefaultMessage,\n};" }, - "src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts": { + "src/modules/game/dto/base/decorators/composition/composition-bounds.decorator.ts": { "language": "typescript", "mutants": [ { - "id": "157", + "id": "145", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], + "location": { + "end": { + "column": 2, + "line": 10 + }, + "start": { + "column": 177, + "line": 5 + } + } + } + ], + "source": "import { applyDecorators } from \"@nestjs/common\";\nimport { ArrayMaxSize, ArrayMinSize } from \"class-validator\";\nimport { gameFieldsSpecs } from \"../../../../schemas/game.schema.constant\";\n\nfunction CompositionBounds(): void, Y>(target: (TFunction | object), propertyKey?: (string | symbol), descriptor?: TypedPropertyDescriptor) => void {\n return applyDecorators(\n ArrayMinSize(gameFieldsSpecs.players.minItems),\n ArrayMaxSize(gameFieldsSpecs.players.maxItems),\n );\n}\n\nexport { CompositionBounds };" + }, + "src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts": { + "language": "typescript", + "mutants": [ + { + "id": "146", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts(8,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts(9,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "890", - "891", - "892", - "893", - "894", - "895", - "896" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "955", + "956", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 2, - "line": 17 + "line": 16 }, "start": { "column": 74, - "line": 8 + "line": 9 } } }, { - "id": "158", + "id": "147", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 26, + "testsCompleted": 31, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "890", - "891", - "892", - "893", - "894", - "895", - "896" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "955", + "956", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 105, - "line": 9 + "line": 10 }, "start": { "column": 7, - "line": 9 + "line": 10 } } }, { - "id": "159", + "id": "148", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 26, + "status": "Timeout", "static": false, - "killedBy": [ - "548" - ], + "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "890", - "891", - "892", - "893", - "894", - "895", - "896" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "955", + "956", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 105, - "line": 9 + "line": 10 }, "start": { "column": 7, - "line": 9 + "line": 10 } } }, { - "id": "160", + "id": "149", "mutatorName": "LogicalOperator", "replacement": "!Array.isArray(value) && value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts(9,32): error TS18046: 'value' is of type 'unknown'.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts(10,32): error TS18046: 'value' is of type 'unknown'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "890", - "891", - "892", - "893", - "894", - "895", - "896" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "955", + "956", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 105, - "line": 9 + "line": 10 }, "start": { "column": 7, - "line": 9 + "line": 10 } } }, { - "id": "161", + "id": "150", "mutatorName": "BooleanLiteral", "replacement": "Array.isArray(value)", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts(9,31): error TS18046: 'value' is of type 'unknown'.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts(10,31): error TS18046: 'value' is of type 'unknown'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "890", - "891", - "892", - "893", - "894", - "895", - "896" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "955", + "956", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 28, - "line": 9 + "line": 10 }, "start": { "column": 7, - "line": 9 + "line": 10 } } }, { - "id": "162", + "id": "151", "mutatorName": "MethodExpression", "replacement": "value.every(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts:80:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts:80:101\n at Array.every ()\n at areCompositionRolesMaxInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts:75:39)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 28, "static": false, "killedBy": [ - "892" + "957" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 105, - "line": 9 + "line": 10 }, "start": { "column": 32, - "line": 9 + "line": 10 } } }, { - "id": "163", + "id": "152", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts:80:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts:80:101\n at Array.every ()\n at areCompositionRolesMaxInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts:75:39)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 28, "static": false, "killedBy": [ - "892" + "957" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "960", + "961" ], "location": { "end": { "column": 104, - "line": 9 + "line": 10 }, "start": { "column": 43, - "line": 9 + "line": 10 } } }, { - "id": "164", + "id": "153", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:38:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "560" + "727" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 104, - "line": 9 + "line": 10 }, "start": { "column": 53, - "line": 9 + "line": 10 } } }, { - "id": "165", + "id": "154", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 27, "static": false, - "killedBy": [], + "killedBy": [ + "957" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 104, - "line": 9 + "line": 10 }, "start": { "column": 53, - "line": 9 + "line": 10 } } }, { - "id": "166", + "id": "155", "mutatorName": "LogicalOperator", "replacement": "!isObject(player) && !has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:38:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "560" + "958" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 104, - "line": 9 + "line": 10 }, "start": { "column": 53, - "line": 9 + "line": 10 } } }, { - "id": "167", + "id": "156", "mutatorName": "BooleanLiteral", "replacement": "isObject(player)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "560" + "961" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 70, - "line": 9 + "line": 10 }, "start": { "column": 53, - "line": 9 + "line": 10 } } }, { - "id": "168", + "id": "157", "mutatorName": "BooleanLiteral", "replacement": "has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 31, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 104, - "line": 9 + "line": 10 }, "start": { "column": 74, - "line": 9 + "line": 10 } } }, { - "id": "169", + "id": "158", "mutatorName": "ArrayDeclaration", "replacement": "[]", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:540:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 29, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 103, - "line": 9 + "line": 10 }, "start": { "column": 87, - "line": 9 + "line": 10 } } }, { - "id": "170", + "id": "159", "mutatorName": "StringLiteral", "replacement": "\"\"", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 94, - "line": 9 + "line": 10 }, "start": { "column": 88, - "line": 9 + "line": 10 } } }, { - "id": "171", + "id": "160", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 31, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "892", - "893", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "957", + "958", + "959", + "961" ], "location": { "end": { "column": 102, - "line": 9 + "line": 10 }, "start": { "column": 96, - "line": 9 + "line": 10 } } }, { - "id": "172", + "id": "161", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "undefined TypeError: Cannot read properties of undefined (reading 'close')\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:66:15)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusHook (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:280:40)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:153:7)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "RuntimeError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "497" + ], "coveredBy": [ - "548", - "890", - "891", - "892", - "893" + "497", + "955", + "956", + "957", + "958" ], "location": { "end": { "column": 4, - "line": 11 + "line": 12 }, "start": { "column": 107, - "line": 9 + "line": 10 } } }, { - "id": "173", + "id": "162", "mutatorName": "BooleanLiteral", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts:12:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "890" - ], + "killedBy": [], "coveredBy": [ - "548", - "890", - "891", - "892", - "893" + "497", + "955", + "956", + "957", + "958" ], "location": { "end": { "column": 17, - "line": 10 + "line": 11 }, "start": { "column": 12, - "line": 10 + "line": 11 } } }, { - "id": "174", + "id": "163", "mutatorName": "MethodExpression", - "replacement": "roles.some(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount <= role.maxInGame;\n})", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 21, - "static": false, - "killedBy": [ - "894" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" - ], - "location": { - "end": { - "column": 5, - "line": 16 - }, - "start": { - "column": 10, - "line": 13 - } - } - }, - { - "id": "175", - "mutatorName": "BlockStatement", - "replacement": "{}", + "replacement": "roles", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 4, - "line": 16 + "column": 81, + "line": 14 }, "start": { - "column": 30, - "line": 13 + "column": 25, + "line": 14 } } }, { - "id": "176", - "mutatorName": "MethodExpression", - "replacement": "players", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "164", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 26, "static": false, "killedBy": [ - "560" + "961" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 79, + "column": 80, "line": 14 }, "start": { - "column": 23, + "column": 38, "line": 14 } } }, { - "id": "177", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "165", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 26, "static": false, "killedBy": [ - "555" + "959" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 78, + "column": 80, "line": 14 }, "start": { - "column": 38, + "column": 46, "line": 14 } } }, { - "id": "178", + "id": "166", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 20, + "testsCompleted": 26, "static": false, "killedBy": [ - "560" + "961" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 78, + "column": 80, "line": 14 }, "start": { - "column": 48, + "column": 46, "line": 14 } } }, { - "id": "179", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "167", + "mutatorName": "EqualityOperator", + "replacement": "role.side !== ROLE_SIDES.VILLAGERS", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 78, + "column": 80, "line": 14 }, "start": { - "column": 48, + "column": 46, "line": 14 } } }, { - "id": "180", - "mutatorName": "EqualityOperator", - "replacement": "player.role.name !== role.name", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 20, + "id": "168", + "mutatorName": "MethodExpression", + "replacement": "players.every(({\n role\n}) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name))", + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 78, - "line": 14 + "column": 105, + "line": 15 }, "start": { - "column": 48, - "line": 14 + "column": 10, + "line": 15 } } }, { - "id": "181", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "169", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 26, "static": false, "killedBy": [ - "555" + "961" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "960", + "961" ], "location": { "end": { - "column": 39, + "column": 104, "line": 15 }, "start": { - "column": 12, + "column": 23, "line": 15 } } }, { - "id": "182", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "170", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 25, "static": false, "killedBy": [ - "560" + "961" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "961" ], "location": { "end": { - "column": 39, + "column": 103, "line": 15 }, "start": { - "column": 12, + "column": 56, "line": 15 } } }, { - "id": "183", - "mutatorName": "EqualityOperator", - "replacement": "roleCount < role.maxInGame", + "id": "171", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "961" ], "location": { "end": { - "column": 39, + "column": 103, "line": 15 }, "start": { - "column": 12, + "column": 72, "line": 15 } } }, { - "id": "184", - "mutatorName": "EqualityOperator", - "replacement": "roleCount > role.maxInGame", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "172", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 25, "static": false, "killedBy": [ - "699" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "894", - "895", - "896" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "961" ], "location": { "end": { - "column": 39, + "column": 103, "line": 15 }, "start": { - "column": 12, + "column": 72, "line": 15 } } }, { - "id": "186", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "id": "173", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== werewolfRole.name", + "status": "Timeout", "static": false, - "killedBy": [ - "555" - ], + "killedBy": [], "coveredBy": [ - "548", - "550", - "555", - "558", - "897" - ], - "location": { - "end": { - "column": 114, - "line": 20 - }, - "start": { - "column": 10, - "line": 20 - } - } - }, - { - "id": "187", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "959", + "961" + ], + "location": { + "end": { + "column": 103, + "line": 15 + }, + "start": { + "column": 72, + "line": 15 + } + } + }, + { + "id": "174", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.ts(18,53): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "497", + "505", + "962" + ], "location": { "end": { "column": 2, - "line": 36 + "line": 20 }, "start": { - "column": 75, - "line": 23 + "column": 60, + "line": 18 } } }, { - "id": "188", + "id": "175", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "497", + "505", + "962" + ], + "location": { + "end": { + "column": 85, + "line": 19 + }, + "start": { + "column": 10, + "line": 19 + } + } + }, + { + "id": "176", "mutatorName": "BlockStatement", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -6781,17 +6031,36 @@ "coveredBy": [], "location": { "end": { - "column": 4, + "column": 2, "line": 35 }, + "start": { + "column": 72, + "line": 22 + } + } + }, + { + "id": "177", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], + "location": { + "end": { + "column": 4, + "line": 34 + }, "start": { "column": 58, - "line": 24 + "line": 23 } } }, { - "id": "189", + "id": "178", "mutatorName": "ObjectLiteral", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -6801,16 +6070,16 @@ "location": { "end": { "column": 6, - "line": 34 + "line": 33 }, "start": { "column": 23, - "line": 25 + "line": 24 } } }, { - "id": "190", + "id": "179", "mutatorName": "StringLiteral", "replacement": "\"\"", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -6819,17 +6088,17 @@ "coveredBy": [], "location": { "end": { - "column": 40, - "line": 26 + "column": 37, + "line": 25 }, "start": { "column": 13, - "line": 26 + "line": 25 } } }, { - "id": "191", + "id": "180", "mutatorName": "ObjectLiteral", "replacement": "{}", "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", @@ -6839,85 +6108,69 @@ "location": { "end": { "column": 8, - "line": 33 + "line": 32 }, "start": { "column": 18, - "line": 30 - } - } - }, - { - "id": "185", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.ts(19,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "coveredBy": [ - "548", - "550", - "555", - "558", - "897" - ], - "location": { - "end": { - "column": 2, - "line": 21 - }, - "start": { - "column": 63, - "line": 19 + "line": 29 } } } ], - "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\n\nfunction areCompositionRolesMaxInGameRespected(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n return roles.every(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount <= role.maxInGame;\n });\n}\n\nfunction getCompositionRolesMaxInGameDefaultMessage(): string {\n return \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\";\n}\n\nfunction CompositionRolesMaxInGame(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionRolesMaxInGame\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: areCompositionRolesMaxInGameRespected,\n defaultMessage: getCompositionRolesMaxInGameDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionRolesMaxInGame, areCompositionRolesMaxInGameRespected, getCompositionRolesMaxInGameDefaultMessage };" + "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\nimport { ROLE_SIDES } from \"../../../../../role/enums/role.enum\";\n\nfunction doesCompositionHaveAtLeastOneVillager(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n const werewolfRoles = roles.filter(role => role.side === ROLE_SIDES.VILLAGERS);\n return players.some(({ role }) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name));\n}\n\nfunction getCompositionHasVillagerDefaultMessage(): string {\n return \"one of the players.role must have at least one role from `villagers` side\";\n}\n\nfunction CompositionHasVillager(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionHasVillager\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: doesCompositionHaveAtLeastOneVillager,\n defaultMessage: getCompositionHasVillagerDefaultMessage,\n },\n });\n };\n}\n\nexport {\n CompositionHasVillager,\n doesCompositionHaveAtLeastOneVillager,\n getCompositionHasVillagerDefaultMessage,\n};" }, - "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts": { + "src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts": { "language": "typescript", "mutants": [ { - "id": "192", + "id": "181", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts(9,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts(9,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "882", - "883", - "884", - "885", - "886", - "887", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "963", + "964", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { "column": 2, - "line": 20 + "line": 16 }, "start": { "column": 74, @@ -6926,43 +6179,48 @@ } }, { - "id": "193", + "id": "182", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:39:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 26, + "status": "Timeout", "static": false, - "killedBy": [ - "699" - ], + "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "882", - "883", - "884", - "885", - "886", - "887", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "963", + "964", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { @@ -6976,43 +6234,52 @@ } }, { - "id": "194", + "id": "183", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 26, + "testsCompleted": 35, "static": false, "killedBy": [ - "548" + "497" ], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "882", - "883", - "884", - "885", - "886", - "887", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "963", + "964", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { @@ -7026,40 +6293,49 @@ } }, { - "id": "195", + "id": "184", "mutatorName": "LogicalOperator", "replacement": "!Array.isArray(value) && value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts(10,32): error TS18046: 'value' is of type 'unknown'.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts(10,32): error TS18046: 'value' is of type 'unknown'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "882", - "883", - "884", - "885", - "886", - "887", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "963", + "964", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { @@ -7073,40 +6349,49 @@ } }, { - "id": "196", + "id": "185", "mutatorName": "BooleanLiteral", "replacement": "Array.isArray(value)", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts(10,31): error TS18046: 'value' is of type 'unknown'.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts(10,31): error TS18046: 'value' is of type 'unknown'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "882", - "883", - "884", - "885", - "886", - "887", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "963", + "964", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { @@ -7120,40 +6405,49 @@ } }, { - "id": "197", + "id": "186", "mutatorName": "MethodExpression", "replacement": "value.every(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:88:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 32, "static": false, "killedBy": [ - "884" + "965" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { @@ -7167,40 +6461,49 @@ } }, { - "id": "198", + "id": "187", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:88:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 23, + "testsCompleted": 30, "static": false, "killedBy": [ - "884" + "965" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "968", + "969" ], "location": { "end": { @@ -7214,39 +6517,48 @@ } }, { - "id": "199", + "id": "188", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "560" + "727" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7260,39 +6572,48 @@ } }, { - "id": "200", + "id": "189", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:88:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts:27:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "884" + "965" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7306,39 +6627,48 @@ } }, { - "id": "201", + "id": "190", "mutatorName": "LogicalOperator", "replacement": "!isObject(player) && !has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:38:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts:38:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "885" + "966" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7352,39 +6682,48 @@ } }, { - "id": "202", + "id": "191", "mutatorName": "BooleanLiteral", "replacement": "isObject(player)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7398,39 +6737,44 @@ } }, { - "id": "203", + "id": "192", "mutatorName": "BooleanLiteral", "replacement": "has(player, [\"role\", \"name\"])", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7444,39 +6788,48 @@ } }, { - "id": "204", + "id": "193", "mutatorName": "ArrayDeclaration", "replacement": "[]", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 27, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7490,35 +6843,48 @@ } }, { - "id": "205", + "id": "194", "mutatorName": "StringLiteral", "replacement": "\"\"", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7532,39 +6898,44 @@ } }, { - "id": "206", + "id": "195", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 22, + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "884", - "885", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "965", + "966", + "967", + "969" ], "location": { "end": { @@ -7578,22 +6949,18 @@ } }, { - "id": "207", + "id": "196", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "548" - ], + "killedBy": [], "coveredBy": [ - "548", - "882", - "883", - "884", - "885" + "497", + "963", + "964", + "965", + "966" ], "location": { "end": { @@ -7607,22 +6974,22 @@ } }, { - "id": "208", + "id": "197", "mutatorName": "BooleanLiteral", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:12:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts:12:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "882" + "963" ], "coveredBy": [ - "548", - "882", - "883", - "884", - "885" + "497", + "963", + "964", + "965", + "966" ], "location": { "end": { @@ -7636,69445 +7003,80129 @@ } }, { - "id": "209", + "id": "198", "mutatorName": "MethodExpression", - "replacement": "roles.filter((role): role is Role & {\n minInGame: number;\n} => role.minInGame !== undefined).some(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount === 0 || roleCount >= role.minInGame;\n})", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "roles", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 30, "static": false, "killedBy": [ - "886" + "506" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], "location": { "end": { - "column": 7, - "line": 19 + "column": 82, + "line": 14 }, "start": { - "column": 10, + "column": 25, "line": 14 } } }, { - "id": "210", - "mutatorName": "MethodExpression", - "replacement": "roles", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts(17,46): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "199", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts:64:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 26, "static": false, - "killedBy": [], + "killedBy": [ + "969" + ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], "location": { "end": { - "column": 90, - "line": 15 + "column": 81, + "line": 14 }, "start": { - "column": 10, + "column": 38, "line": 14 } } }, { - "id": "211", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts(18,46): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "200", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], "location": { "end": { - "column": 89, - "line": 15 + "column": 81, + "line": 14 }, "start": { - "column": 13, - "line": 15 + "column": 46, + "line": 14 } } }, { - "id": "212", + "id": "201", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 26, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], "location": { "end": { - "column": 89, - "line": 15 + "column": 81, + "line": 14 }, "start": { - "column": 61, - "line": 15 + "column": 46, + "line": 14 } } }, { - "id": "213", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, + "id": "202", + "mutatorName": "EqualityOperator", + "replacement": "role.side !== ROLE_SIDES.WEREWOLVES", + "status": "Timeout", "static": false, - "killedBy": [ - "554" + "killedBy": [], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], + "location": { + "end": { + "column": 81, + "line": 14 + }, + "start": { + "column": 46, + "line": 14 + } + } + }, + { + "id": "203", + "mutatorName": "MethodExpression", + "replacement": "players.every(({\n role\n}) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name))", + "status": "Timeout", + "static": false, + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], "location": { "end": { - "column": 89, + "column": 105, "line": 15 }, "start": { - "column": 61, + "column": 10, "line": 15 } } }, { - "id": "214", - "mutatorName": "EqualityOperator", - "replacement": "role.minInGame === undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:69:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "204", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 26, "static": false, "killedBy": [ - "888" + "727" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "968", + "969" ], "location": { "end": { - "column": 89, + "column": 104, "line": 15 }, "start": { - "column": 61, + "column": 23, "line": 15 } } }, { - "id": "215", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:53:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "205", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 25, "static": false, "killedBy": [ - "887" + "727" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "969" ], "location": { "end": { - "column": 6, - "line": 19 + "column": 103, + "line": 15 }, "start": { - "column": 20, - "line": 16 + "column": 56, + "line": 15 } } }, { - "id": "216", - "mutatorName": "MethodExpression", - "replacement": "players", + "id": "206", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "969" ], "location": { "end": { - "column": 81, - "line": 17 + "column": 103, + "line": 15 }, "start": { - "column": 25, - "line": 17 + "column": 72, + "line": 15 } } }, { - "id": "217", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "207", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 21, + "testsCompleted": 29, "static": false, "killedBy": [ - "554" + "517" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "969" ], "location": { "end": { - "column": 80, - "line": 17 + "column": 103, + "line": 15 }, "start": { - "column": 40, - "line": 17 + "column": 72, + "line": 15 } } }, { - "id": "218", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 20, + "id": "208", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== werewolfRole.name", + "status": "Timeout", "static": false, - "killedBy": [ - "554" - ], + "killedBy": [], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "888" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "967", + "969" ], "location": { "end": { - "column": 80, - "line": 17 + "column": 103, + "line": 15 }, "start": { - "column": 50, - "line": 17 + "column": 72, + "line": 15 } } }, { - "id": "219", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "210", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"one of the players.role must have at least one role from `werewolves` side\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox9157706/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 20, + "testsCompleted": 7, "static": false, "killedBy": [ - "554" + "506" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "888" + "497", + "498", + "501", + "504", + "506", + "507", + "508", + "970" ], "location": { "end": { - "column": 80, - "line": 17 + "column": 86, + "line": 19 }, "start": { - "column": 50, - "line": 17 + "column": 10, + "line": 19 } } }, { - "id": "220", - "mutatorName": "EqualityOperator", - "replacement": "player.role.name !== role.name", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "888" - ], + "id": "211", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 80, - "line": 17 + "column": 2, + "line": 35 }, "start": { - "column": 50, - "line": 17 + "column": 72, + "line": 22 } } }, { - "id": "221", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 21, - "static": false, - "killedBy": [ - "886" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" - ], + "id": "212", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 60, - "line": 18 + "column": 4, + "line": 34 }, "start": { - "column": 14, - "line": 18 + "column": 58, + "line": 23 } } }, { - "id": "222", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:53:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 21, - "static": false, - "killedBy": [ - "887" - ], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" - ], + "id": "213", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 60, - "line": 18 + "column": 6, + "line": 33 }, "start": { - "column": 14, - "line": 18 + "column": 23, + "line": 24 } } }, { - "id": "223", - "mutatorName": "LogicalOperator", - "replacement": "roleCount === 0 && roleCount >= role.minInGame", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" - ], + "id": "214", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 60, - "line": 18 + "column": 37, + "line": 25 }, "start": { - "column": 14, - "line": 18 + "column": 13, + "line": 25 } } }, { - "id": "224", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" - ], + "id": "215", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 29, - "line": 18 + "column": 8, + "line": 32 }, "start": { - "column": 14, - "line": 18 + "column": 18, + "line": 29 } } }, { - "id": "225", - "mutatorName": "EqualityOperator", - "replacement": "roleCount !== 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 21, + "id": "209", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.ts(18,53): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "886", - "887", - "888" + "497", + "498", + "501", + "504", + "506", + "507", + "508", + "970" ], "location": { "end": { - "column": 29, - "line": 18 + "column": 2, + "line": 20 }, "start": { - "column": 14, + "column": 60, "line": 18 } } - }, + } + ], + "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\nimport { ROLE_SIDES } from \"../../../../../role/enums/role.enum\";\n\nfunction doesCompositionHaveAtLeastOneWerewolf(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n const werewolfRoles = roles.filter(role => role.side === ROLE_SIDES.WEREWOLVES);\n return players.some(({ role }) => werewolfRoles.find(werewolfRole => role.name === werewolfRole.name));\n}\n\nfunction getCompositionHasWerewolfDefaultMessage(): string {\n return \"one of the players.role must have at least one role from `werewolves` side\";\n}\n\nfunction CompositionHasWerewolf(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionHasWerewolf\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: doesCompositionHaveAtLeastOneWerewolf,\n defaultMessage: getCompositionHasWerewolfDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionHasWerewolf, doesCompositionHaveAtLeastOneWerewolf, getCompositionHasWerewolfDefaultMessage };" + }, + "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts": { + "language": "typescript", + "mutants": [ { - "id": "226", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox9735738/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:39:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "id": "216", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(5,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "700" - ], + "killedBy": [], "coveredBy": [ - "550", - "553", - "554", - "555", - "700", - "701", - "702", - "703", - "886", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "915", + "916", + "917", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, - "line": 18 + "column": 2, + "line": 17 }, "start": { - "column": 33, - "line": 18 + "column": 75, + "line": 5 } } }, { - "id": "227", - "mutatorName": "EqualityOperator", - "replacement": "roleCount > role.minInGame", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox9735738/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:39:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "217", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 28, "static": false, "killedBy": [ - "700" + "517" ], "coveredBy": [ - "550", - "553", - "554", - "555", - "700", - "701", - "702", - "703", - "886", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "915", + "916", + "917", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, - "line": 18 + "column": 71, + "line": 6 }, "start": { - "column": 33, - "line": 18 + "column": 7, + "line": 6 } } }, { - "id": "228", - "mutatorName": "EqualityOperator", - "replacement": "roleCount < role.minInGame", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 12, + "id": "218", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "886" - ], + "killedBy": [], "coveredBy": [ - "550", - "553", - "554", - "555", - "700", - "701", - "702", - "703", - "886", - "888" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "915", + "916", + "917", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, - "line": 18 + "column": 71, + "line": 6 }, "start": { - "column": 33, - "line": 18 + "column": 7, + "line": 6 } } }, { - "id": "230", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\"\nReceived: \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts:75:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "219", + "mutatorName": "LogicalOperator", + "replacement": "!Array.isArray(value) && value.some(player => !isObject(player))", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(6,32): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "889" - ], + "killedBy": [], "coveredBy": [ - "548", - "550", - "553", - "554", - "555", - "889" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "915", + "916", + "917", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 112, - "line": 23 + "column": 71, + "line": 6 }, "start": { - "column": 10, - "line": 23 + "column": 7, + "line": 6 } } }, { - "id": "231", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "id": "220", + "mutatorName": "BooleanLiteral", + "replacement": "Array.isArray(value)", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(6,31): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "915", + "916", + "917", + "918", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 2, - "line": 39 + "column": 28, + "line": 6 }, "start": { - "column": 75, - "line": 26 + "column": 7, + "line": 6 } } }, { - "id": "232", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "id": "221", + "mutatorName": "MethodExpression", + "replacement": "value.every(player => !isObject(player))", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:27:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 25, + "static": false, + "killedBy": [ + "917" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "917", + "918", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 4, - "line": 38 + "column": 71, + "line": 6 }, "start": { - "column": 58, - "line": 27 + "column": 32, + "line": 6 } } }, { - "id": "233", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "id": "222", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:27:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 29, + "static": false, + "killedBy": [ + "917" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "917", + "918", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 6, - "line": 37 + "column": 70, + "line": 6 }, "start": { - "column": 23, - "line": 28 + "column": 43, + "line": 6 } } }, { - "id": "234", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "id": "223", + "mutatorName": "BooleanLiteral", + "replacement": "isObject(player)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 25, + "static": false, + "killedBy": [ + "517" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "917", + "918", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 40, - "line": 29 + "column": 70, + "line": 6 }, "start": { - "column": 13, - "line": 29 + "column": 53, + "line": 6 } } }, { - "id": "235", - "mutatorName": "ObjectLiteral", + "id": "224", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "statusReason": "TypeError: Cannot read properties of undefined (reading 'reduce')\n at doesCompositionHaveConsistentPositions (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts:67:37)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:12:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "915" + ], + "coveredBy": [ + "497", + "915", + "916", + "917" + ], "location": { "end": { - "column": 8, - "line": 36 + "column": 4, + "line": 8 }, "start": { - "column": 18, - "line": 33 + "column": 73, + "line": 6 } } }, { - "id": "229", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.ts(22,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "225", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:12:65)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, + "killedBy": [ + "915" + ], "coveredBy": [ - "548", - "550", - "553", - "554", - "555", - "889" + "497", + "915", + "916", + "917" ], "location": { "end": { - "column": 2, - "line": 24 + "column": 17, + "line": 7 }, "start": { - "column": 63, - "line": 22 + "column": 12, + "line": 7 } } - } - ], - "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport type { Role } from \"../../../../role/types/role.type\";\n\nfunction areCompositionRolesMinInGameRespected(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n return roles\n .filter((role): role is Role & { minInGame: number } => role.minInGame !== undefined)\n .every(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount === 0 || roleCount >= role.minInGame;\n });\n}\n\nfunction getCompositionRolesMinInGameDefaultMessage(): string {\n return \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\";\n}\n\nfunction CompositionRolesMinInGame(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionRolesMinInGame\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: areCompositionRolesMinInGameRespected,\n defaultMessage: getCompositionRolesMinInGameDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionRolesMinInGame, areCompositionRolesMinInGameRespected, getCompositionRolesMinInGameDefaultMessage };" - }, - "src/modules/game/dto/base/decorators/composition-unique-names.decorator.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "236", + "id": "226", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/decorators/composition-unique-names.decorator.ts(6,42): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(10,52): error TS2345: Argument of type '(acc: number[], { position }: { position?: number | undefined; }) => void' is not assignable to parameter of type '(previousValue: number[], currentValue: { position?: number | undefined; }, currentIndex: number, array: { position?: number | undefined; }[]) => number[]'.\n Type 'void' is not assignable to type 'number[]'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,26): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,58): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "986", - "987", - "988", - "989" - ], + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 2, - "line": 11 + "column": 4, + "line": 15 }, "start": { - "column": 50, - "line": 6 + "column": 75, + "line": 10 } } }, { - "id": "237", + "id": "227", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:168:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 26, + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "540" - ], + "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "986", - "987", - "988", - "989" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 46, - "line": 7 + "column": 87, + "line": 11 }, "start": { - "column": 7, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "238", + "id": "228", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "TypeError: Cannot read properties of null (reading 'name')\n at getPlayerName (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-unique-names.decorator.ts:67:8)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts:7:27)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 26, + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "986" - ], + "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "986", - "987", - "988", - "989" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 46, - "line": 7 + "column": 87, + "line": 11 }, "start": { - "column": 7, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "239", + "id": "229", "mutatorName": "LogicalOperator", - "replacement": "!isObject(value) && !has(value, \"name\")", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"toto\": \"tata\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts:15:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 26, + "replacement": "position !== undefined && !acc.includes(position) || position < players.length", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,62): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "988" - ], + "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "986", - "987", - "988", - "989" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 46, - "line": 7 + "column": 87, + "line": 11 }, "start": { - "column": 7, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "240", - "mutatorName": "BooleanLiteral", - "replacement": "isObject(value)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"Antoine\"\nReceived: {\"name\": \"Antoine\"}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts:19:50)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 26, + "id": "230", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,17): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "989" - ], + "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "986", - "987", - "988", - "989" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 23, - "line": 7 + "column": 58, + "line": 11 }, "start": { - "column": 7, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "241", - "mutatorName": "BooleanLiteral", - "replacement": "has(value, \"name\")", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"toto\": \"tata\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts:15:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 24, + "id": "231", + "mutatorName": "LogicalOperator", + "replacement": "position !== undefined || !acc.includes(position)", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,49): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,62): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "988" - ], + "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "988", - "989" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 46, - "line": 7 + "column": 58, + "line": 11 }, "start": { - "column": 27, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "242", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"Antoine\"\nReceived: {\"name\": \"Antoine\"}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts:19:50)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 24, + "id": "232", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,31): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,44): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "989" - ], + "killedBy": [], "coveredBy": [ - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "988", - "989" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 45, - "line": 7 + "column": 31, + "line": 11 }, "start": { - "column": 39, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "243", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of null (reading 'name')\n at getPlayerName (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/decorators/composition-unique-names.decorator.ts:67:8)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts:7:27)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "233", + "mutatorName": "EqualityOperator", + "replacement": "position === undefined", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,49): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(11,62): error TS18048: 'position' is possibly 'undefined'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(12,16): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "986" - ], + "killedBy": [], "coveredBy": [ - "986", - "987", - "988" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 4, - "line": 9 + "column": 31, + "line": 11 }, "start": { - "column": 48, - "line": 7 + "column": 9, + "line": 11 } } }, { - "id": "244", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], - "location": { - "end": { - "column": 2, - "line": 19 - }, - "start": { - "column": 11, - "line": 17 - } - } - }, - { - "id": "245", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "id": "234", + "mutatorName": "BooleanLiteral", + "replacement": "acc.includes(position)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 95, - "line": 18 + "column": 58, + "line": 11 }, "start": { - "column": 53, - "line": 18 + "column": 35, + "line": 11 } } }, { - "id": "246", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], + "id": "235", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:71:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 23, + "static": false, + "killedBy": [ + "921" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "919", + "920", + "921", + "922", + "923" + ], "location": { "end": { - "column": 93, - "line": 18 + "column": 87, + "line": 11 }, "start": { - "column": 64, - "line": 18 + "column": 62, + "line": 11 } } - } - ], - "source": "import { applyDecorators } from \"@nestjs/common\";\nimport { ArrayUnique } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\n\nfunction getPlayerName(value?: unknown): unknown {\n if (!isObject(value) || !has(value, \"name\")) {\n return value;\n }\n return (value as { name: unknown }).name;\n}\n\nfunction CompositionUniqueNames(): void, Y>(\n target: (TFunction | object),\n propertyKey?: (string | symbol),\n descriptor?: TypedPropertyDescriptor\n) => void {\n return applyDecorators(ArrayUnique(getPlayerName, { message: \"players.name must be unique\" }));\n}\n\nexport { getPlayerName, CompositionUniqueNames };" - }, - "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "247", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(6,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": true, - "killedBy": [], + "id": "236", + "mutatorName": "EqualityOperator", + "replacement": "position <= players.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:71:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 23, + "static": false, + "killedBy": [ + "921" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "919", - "923", - "924", - "925", - "926", - "927", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 2, - "line": 24 + "column": 87, + "line": 11 }, "start": { - "column": 68, - "line": 6 + "column": 62, + "line": 11 } } }, { - "id": "248", - "mutatorName": "BooleanLiteral", - "replacement": "has((params.value as object), \"name\")", - "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {\"name\": \"fox\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"2\", \"role\": {\"name\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"3\", \"role\": {\"name\": \"two-sisters\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"4\", \"role\": {\"name\": \"two-sisters\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"5\", \"role\": {\"name\": \"bear-tamer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"6\", \"role\": {\"name\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"7\", \"role\": {\"name\": \"little-girl\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"8\", \"role\": {\"name\": \"dog-wolf\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"9\", \"role\": {\"name\": \"three-brothers\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"10\", \"role\": {\"name\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:225:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "237", + "mutatorName": "EqualityOperator", + "replacement": "position >= players.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:49:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 80, - "static": true, + "testsCompleted": 25, + "static": false, "killedBy": [ - "544" + "919" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "919", - "923", - "924", - "925", - "926", - "927", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 43, - "line": 7 + "column": 87, + "line": 11 }, "start": { - "column": 7, - "line": 7 + "column": 62, + "line": 11 } } }, { - "id": "249", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", + "id": "238", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "919", + "920", + "921", + "922", + "923" + ], + "location": { + "end": { + "column": 6, + "line": 13 + }, + "start": { + "column": 89, + "line": 11 + } + } + }, + { + "id": "239", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(15,7): error TS2322: Type 'string' is not assignable to type 'number'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(16,26): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\nsrc/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(16,58): error TS2339: Property 'length' does not exist on type '{ position?: number | undefined; }'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "918", "919", - "923", - "924", - "925", - "926", - "927", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 43, - "line": 7 + "column": 8, + "line": 15 }, "start": { - "column": 7, - "line": 7 + "column": 6, + "line": 15 } } }, { - "id": "250", + "id": "240", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": true, - "killedBy": [], + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:49:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 26, + "static": false, + "killedBy": [ + "919" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "918", "919", - "923", - "924", - "925", - "926", - "927", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 43, - "line": 7 + "column": 83, + "line": 16 }, "start": { - "column": 7, - "line": 7 + "column": 10, + "line": 16 } } }, { - "id": "251", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "241", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:38:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 24, + "static": false, + "killedBy": [ + "918" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "918", "919", - "923", - "924", - "925", - "926", - "927", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 42, - "line": 7 + "column": 83, + "line": 16 }, "start": { - "column": 36, - "line": 7 + "column": 10, + "line": 16 } } }, { - "id": "252", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "242", + "mutatorName": "LogicalOperator", + "replacement": "uniquePositions.length === 0 && uniquePositions.length === players.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:38:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 26, "static": false, - "killedBy": [], + "killedBy": [ + "918" + ], "coveredBy": [ - "925", - "926", - "927" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "918", + "919", + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 4, - "line": 9 + "column": 83, + "line": 16 }, "start": { - "column": 45, - "line": 7 + "column": 10, + "line": 16 } } }, { - "id": "253", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "243", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts:38:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 24, + "static": false, + "killedBy": [ + "918" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "918", "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, + "column": 38, "line": 16 }, "start": { - "column": 27, + "column": 10, "line": 16 } } }, { - "id": "254", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "244", + "mutatorName": "EqualityOperator", + "replacement": "uniquePositions.length !== 0", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "918", "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, + "column": 38, "line": 16 }, "start": { - "column": 41, + "column": 10, "line": 16 } } }, { - "id": "255", + "id": "245", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", - "static": true, - "killedBy": [], + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, + "column": 83, "line": 16 }, "start": { - "column": 41, + "column": 42, "line": 16 } } }, { - "id": "256", + "id": "246", "mutatorName": "EqualityOperator", - "replacement": "name !== value.name", + "replacement": "uniquePositions.length !== players.length", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "920", + "921", + "922", + "923" ], "location": { "end": { - "column": 60, + "column": 83, "line": 16 }, "start": { - "column": 41, + "column": 42, "line": 16 } } }, { - "id": "257", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", + "id": "247", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.ts(19,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", - "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "497", + "507", + "508", + "924" ], "location": { "end": { - "column": 25, - "line": 17 + "column": 2, + "line": 21 }, "start": { - "column": 7, - "line": 17 + "column": 69, + "line": 19 } } }, { - "id": "258", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], + "id": "248", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\"\nReceived array: [\"\", \"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "508" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", - "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" + "497", + "507", + "508", + "924" ], "location": { "end": { - "column": 25, - "line": 17 + "column": 143, + "line": 20 }, "start": { - "column": 7, - "line": 17 + "column": 10, + "line": 20 } } }, { - "id": "259", - "mutatorName": "EqualityOperator", - "replacement": "role !== undefined", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "249", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", - "919", - "923", - "924", - "928", - "929", - "930", - "931", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 25, - "line": 17 + "column": 2, + "line": 36 }, "start": { - "column": 7, - "line": 17 + "column": 81, + "line": 23 } } }, { - "id": "260", + "id": "250", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(18,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(19,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,22): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "928" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { "column": 4, - "line": 19 + "line": 35 }, "start": { - "column": 27, - "line": 17 + "column": 58, + "line": 24 } } }, { - "id": "261", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "251", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", - "919", - "923", - "924", - "929", - "930", - "931", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 64, - "line": 22 + "column": 6, + "line": 34 }, "start": { - "column": 22, - "line": 22 + "column": 23, + "line": 25 } } }, { - "id": "262", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "252", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", - "919", - "923", - "924", - "929", - "930", - "931", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 64, - "line": 22 + "column": 46, + "line": 26 }, "start": { - "column": 22, - "line": 22 + "column": 13, + "line": 26 } } }, { - "id": "263", - "mutatorName": "EqualityOperator", - "replacement": "role.name !== ROLE_NAMES.VILLAGER_VILLAGER", - "status": "Timeout", + "id": "253", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "722", - "723", - "865", - "866", - "867", - "868", - "869", - "870", - "871", - "884", - "885", - "886", - "888", - "892", - "893", - "894", - "896", - "900", - "901", - "902", - "904", - "908", - "909", - "910", - "912", - "918", - "919", - "923", - "924", - "929", - "930", - "931", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 64, - "line": 22 + "column": 8, + "line": 33 }, "start": { - "column": 22, - "line": 22 + "column": 18, + "line": 30 } } } ], - "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\n\nfunction playerRoleTransformer(params: TransformFnParams): unknown {\n if (!has(params.value as object, \"name\")) {\n return params.value;\n }\n const value = params.value as {\n name: string;\n current: ROLE_NAMES;\n original: ROLE_NAMES;\n isRevealed: boolean;\n };\n const role = roles.find(({ name }) => name === value.name);\n if (role === undefined) {\n return value;\n }\n value.current = role.name;\n value.original = role.name;\n value.isRevealed = role.name === ROLE_NAMES.VILLAGER_VILLAGER;\n return value;\n}\n\nexport { playerRoleTransformer };" + "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\n\nfunction doesCompositionHaveConsistentPositions(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player))) {\n return false;\n }\n const players = value as { position?: number }[];\n const uniquePositions = players.reduce((acc, { position }) => {\n if (position !== undefined && !acc.includes(position) && position < players.length) {\n acc.push(position);\n }\n return acc;\n }, []);\n return uniquePositions.length === 0 || uniquePositions.length === players.length;\n}\n\nfunction getCompositionPositionsConsistencyDefaultMessage(): string {\n return \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\";\n}\n\nfunction CompositionPositionsConsistency(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionPositionsConsistency\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: doesCompositionHaveConsistentPositions,\n defaultMessage: getCompositionPositionsConsistencyDefaultMessage,\n },\n });\n };\n}\n\nexport {\n CompositionPositionsConsistency,\n doesCompositionHaveConsistentPositions,\n getCompositionPositionsConsistencyDefaultMessage,\n};" }, - "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts": { + "src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts": { "language": "typescript", "mutants": [ { - "id": "264", + "id": "254", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(7,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts(8,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "947", + "948", + "949", + "950", + "951", + "952", + "953" ], "location": { "end": { "column": 2, - "line": 23 + "line": 17 }, "start": { - "column": 68, - "line": 7 + "column": 74, + "line": 8 } } }, { - "id": "265", + "id": "255", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", - "static": true, + "status": "Timeout", + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "947", + "948", + "949", + "950", + "951", + "952", + "953" ], "location": { "end": { - "column": 103, - "line": 8 + "column": 105, + "line": 9 }, "start": { "column": 7, - "line": 8 + "line": 9 } } }, { - "id": "266", + "id": "256", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", - "static": true, + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 35, + "static": false, + "killedBy": [ + "497" + ], + "coveredBy": [ + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "947", + "948", + "949", + "950", + "951", + "952", + "953" + ], + "location": { + "end": { + "column": 105, + "line": 9 + }, + "start": { + "column": 7, + "line": 9 + } + } + }, + { + "id": "257", + "mutatorName": "LogicalOperator", + "replacement": "!Array.isArray(value) && value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts(9,32): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "947", + "948", + "949", + "950", + "951", + "952", + "953" ], "location": { "end": { - "column": 103, - "line": 8 + "column": 105, + "line": 9 }, "start": { "column": 7, - "line": 8 + "line": 9 } } }, { - "id": "267", - "mutatorName": "LogicalOperator", - "replacement": "(!isObject(params.value) || !isObject(params.obj)) && !has((params.obj as object), [\"role\", \"name\"])", - "status": "Timeout", - "static": true, + "id": "258", + "mutatorName": "BooleanLiteral", + "replacement": "Array.isArray(value)", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts(9,31): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "947", + "948", + "949", + "950", + "951", + "952", + "953" ], "location": { "end": { - "column": 103, - "line": 8 + "column": 28, + "line": 9 }, "start": { "column": 7, - "line": 8 + "line": 9 } } }, { - "id": "268", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "TypeError: Cannot set properties of null (setting 'current')\n at playerSideTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts:86:18)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts:13:35)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "259", + "mutatorName": "MethodExpression", + "replacement": "value.every(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:80:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:80:101\n at Array.every ()\n at areCompositionRolesMaxInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:75:39)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 47, - "static": true, + "testsCompleted": 30, + "static": false, "killedBy": [ - "918" + "949" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "952", + "953" ], "location": { "end": { - "column": 55, - "line": 8 + "column": 105, + "line": 9 }, "start": { - "column": 7, - "line": 8 + "column": 32, + "line": 9 } } }, { - "id": "269", - "mutatorName": "LogicalOperator", - "replacement": "!isObject(params.value) && !isObject(params.obj)", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "260", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:80:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:80:101\n at Array.every ()\n at areCompositionRolesMaxInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:75:39)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 28, + "static": false, + "killedBy": [ + "949" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "952", + "953" ], "location": { "end": { - "column": 55, - "line": 8 + "column": 104, + "line": 9 }, "start": { - "column": 7, - "line": 8 + "column": 43, + "line": 9 } } }, { - "id": "270", - "mutatorName": "BooleanLiteral", - "replacement": "isObject(params.value)", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "261", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:540:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 29, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "918", - "919", - "920", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" ], "location": { "end": { - "column": 30, - "line": 8 + "column": 104, + "line": 9 }, "start": { - "column": 7, - "line": 8 + "column": 53, + "line": 9 } } }, { - "id": "271", - "mutatorName": "BooleanLiteral", - "replacement": "isObject(params.obj)", - "status": "Timeout", - "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "920", - "921", - "922", - "923", - "924" + "id": "262", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:80:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:80:101\n at Array.every ()\n at areCompositionRolesMaxInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts:75:39)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "949" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" ], "location": { "end": { - "column": 55, - "line": 8 + "column": 104, + "line": 9 }, "start": { - "column": 34, - "line": 8 + "column": 53, + "line": 9 } } }, { - "id": "272", + "id": "263", + "mutatorName": "LogicalOperator", + "replacement": "!isObject(player) && !has(player, [\"role\", \"name\"])", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:38:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 31, + "static": false, + "killedBy": [ + "950" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" + ], + "location": { + "end": { + "column": 104, + "line": 9 + }, + "start": { + "column": 53, + "line": 9 + } + } + }, + { + "id": "264", "mutatorName": "BooleanLiteral", - "replacement": "has((params.obj as object), [\"role\", \"name\"])", - "status": "Timeout", - "static": true, - "killedBy": [], + "replacement": "isObject(player)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" ], "location": { "end": { - "column": 103, - "line": 8 + "column": 70, + "line": 9 }, "start": { - "column": 59, - "line": 8 + "column": 53, + "line": 9 } } }, { - "id": "273", + "id": "265", + "mutatorName": "BooleanLiteral", + "replacement": "has(player, [\"role\", \"name\"])", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:68:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "953" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" + ], + "location": { + "end": { + "column": 104, + "line": 9 + }, + "start": { + "column": 74, + "line": 9 + } + } + }, + { + "id": "266", "mutatorName": "ArrayDeclaration", "replacement": "[]", - "status": "Timeout", - "static": true, - "killedBy": [], + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" ], "location": { "end": { - "column": 102, - "line": 8 + "column": 103, + "line": 9 }, "start": { - "column": 86, - "line": 8 + "column": 87, + "line": 9 } } }, { - "id": "274", + "id": "267", "mutatorName": "StringLiteral", "replacement": "\"\"", - "status": "Timeout", - "static": true, - "killedBy": [], + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" ], "location": { "end": { - "column": 93, - "line": 8 + "column": 94, + "line": 9 }, "start": { - "column": 87, - "line": 8 + "column": 88, + "line": 9 } } }, { - "id": "275", + "id": "268", "mutatorName": "StringLiteral", "replacement": "\"\"", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "921", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "949", + "950", + "951", + "953" ], "location": { "end": { - "column": 101, - "line": 8 + "column": 102, + "line": 9 }, "start": { - "column": 95, - "line": 8 + "column": 96, + "line": 9 } } }, { - "id": "276", + "id": "269", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "TypeError: Cannot set properties of null (setting 'current')\n at playerSideTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts:86:18)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts:13:35)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 5, "static": false, "killedBy": [ - "918" + "497" ], "coveredBy": [ - "918", - "919", - "920", - "921" + "497", + "947", + "948", + "949", + "950" ], "location": { "end": { "column": 4, - "line": 10 + "line": 11 }, "start": { - "column": 105, - "line": 8 + "column": 107, + "line": 9 } } }, { - "id": "277", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "270", + "mutatorName": "BooleanLiteral", + "replacement": "true", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "497", + "947", + "948", + "949", + "950" ], "location": { "end": { - "column": 63, - "line": 16 + "column": 17, + "line": 10 }, "start": { - "column": 27, - "line": 16 + "column": 12, + "line": 10 } } }, { - "id": "278", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "271", + "mutatorName": "MethodExpression", + "replacement": "roles.some(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount <= role.maxInGame;\n})", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 30, + "static": false, + "killedBy": [ + "504" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 63, + "column": 5, "line": 16 }, "start": { - "column": 41, - "line": 16 + "column": 10, + "line": 13 } } }, { - "id": "279", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "272", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 63, + "column": 4, "line": 16 }, "start": { - "column": 41, - "line": 16 + "column": 30, + "line": 13 } } }, { - "id": "280", - "mutatorName": "EqualityOperator", - "replacement": "name !== obj.role.name", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "273", + "mutatorName": "MethodExpression", + "replacement": "players", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:68:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 26, + "static": false, + "killedBy": [ + "953" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 63, - "line": 16 + "column": 79, + "line": 14 }, "start": { - "column": 41, - "line": 16 + "column": 23, + "line": 14 } } }, { - "id": "281", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", - "static": true, + "id": "274", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 25, - "line": 17 + "column": 78, + "line": 14 }, "start": { - "column": 7, - "line": 17 + "column": 38, + "line": 14 } } }, { - "id": "282", + "id": "275", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 29, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "953" ], "location": { "end": { - "column": 25, - "line": 17 + "column": 78, + "line": 14 }, "start": { - "column": 7, - "line": 17 + "column": 48, + "line": 14 } } }, { - "id": "283", - "mutatorName": "EqualityOperator", - "replacement": "role !== undefined", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "544", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "699", - "700", - "701", - "702", - "703", - "922", - "923", - "924" + "id": "276", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 25, + "static": false, + "killedBy": [ + "951" + ], + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "953" ], "location": { "end": { - "column": 25, - "line": 17 + "column": 78, + "line": 14 }, "start": { - "column": 7, - "line": 17 + "column": 48, + "line": 14 } } }, { - "id": "284", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(18,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(19,20): error TS18048: 'role' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "277", + "mutatorName": "EqualityOperator", + "replacement": "player.role.name !== role.name", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:68:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 25, "static": false, - "killedBy": [], - "coveredBy": [ - "922" + "killedBy": [ + "953" ], - "location": { - "end": { - "column": 4, - "line": 19 - }, - "start": { - "column": 27, - "line": 17 - } - } - } - ], - "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { ROLE_SIDES, ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\n\nfunction playerSideTransformer(params: TransformFnParams): unknown {\n if (!isObject(params.value) || !isObject(params.obj) || !has(params.obj as object, [\"role\", \"name\"])) {\n return params.value;\n }\n const obj = params.obj as { role: { name: ROLE_NAMES } };\n const value = params.value as {\n current: ROLE_SIDES;\n original: ROLE_SIDES;\n };\n const role = roles.find(({ name }) => name === obj.role.name);\n if (role === undefined) {\n return value;\n }\n value.current = role.side;\n value.original = role.side;\n return params.value;\n}\n\nexport { playerSideTransformer };" - }, - "src/modules/game/dto/base/transformers/game-players-position.transformer.ts": { - "language": "typescript", - "mutants": [ - { - "id": "285", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/dto/base/transformers/game-players-position.transformer.ts(4,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": true, - "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "936", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "953" ], "location": { "end": { - "column": 2, - "line": 18 + "column": 78, + "line": 14 }, "start": { - "column": 77, - "line": 4 + "column": 48, + "line": 14 } } }, { - "id": "286", - "mutatorName": "BooleanLiteral", - "replacement": "Array.isArray(params.value)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "278", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 46, - "static": true, + "testsCompleted": 30, + "static": false, "killedBy": [ - "560" + "504" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "936", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 35, - "line": 5 + "column": 39, + "line": 15 }, "start": { - "column": 7, - "line": 5 + "column": 12, + "line": 15 } } }, { - "id": "287", + "id": "279", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts:53:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 46, - "static": true, + "testsCompleted": 26, + "static": false, "killedBy": [ - "560" + "952" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "936", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 35, - "line": 5 + "column": 39, + "line": 15 }, "start": { - "column": 7, - "line": 5 + "column": 12, + "line": 15 } } }, { - "id": "288", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "TypeError: Cannot read properties of null (reading 'some')\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:66:144)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:9:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "280", + "mutatorName": "EqualityOperator", + "replacement": "roleCount < role.maxInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:540:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 46, - "static": true, + "testsCompleted": 28, + "static": false, "killedBy": [ - "936" + "517" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "936", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 35, - "line": 5 + "column": 39, + "line": 15 }, "start": { - "column": 7, - "line": 5 + "column": 12, + "line": 15 } } }, { - "id": "289", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of null (reading 'some')\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:66:144)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:9:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "281", + "mutatorName": "EqualityOperator", + "replacement": "roleCount > role.maxInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 26, "static": false, "killedBy": [ - "936" + "517" ], "coveredBy": [ - "936" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "951", + "952", + "953" ], "location": { "end": { - "column": 4, - "line": 7 + "column": 39, + "line": 15 }, "start": { - "column": 37, - "line": 5 + "column": 12, + "line": 15 } } }, { - "id": "290", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": true, - "killedBy": [], + "id": "283", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "504" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "937", - "938", - "939", - "940" + "497", + "499", + "504", + "507", + "954" ], "location": { "end": { - "column": 100, - "line": 10 + "column": 114, + "line": 20 }, "start": { - "column": 7, - "line": 9 + "column": 10, + "line": 20 } } }, { - "id": "291", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "284", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 100, - "line": 10 + "column": 2, + "line": 36 }, "start": { - "column": 7, - "line": 9 + "column": 75, + "line": 23 } } }, { - "id": "292", - "mutatorName": "MethodExpression", - "replacement": "value.every(player => typeof player !== \"object\" || has(player, \"position\") && (player as {\n position: number | undefined;\n}).position !== undefined)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:380:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 45, + "id": "285", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [ - "558" - ], - "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 100, - "line": 10 + "column": 4, + "line": 35 }, "start": { - "column": 7, - "line": 9 + "column": 58, + "line": 24 } } }, { - "id": "293", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "TypeError: Cannot create property 'position' on string 'toto'\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:15:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 45, + "id": "286", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [ - "937" - ], - "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "664", - "665", - "666", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 99, - "line": 10 + "column": 6, + "line": 34 }, "start": { - "column": 18, - "line": 9 + "column": 23, + "line": 25 } } }, { - "id": "294", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "287", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 99, - "line": 10 + "column": 40, + "line": 26 }, "start": { - "column": 28, - "line": 9 + "column": 13, + "line": 26 } } }, { - "id": "295", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.0.position must not be less than 0\"\nReceived array: [\"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 38, + "id": "288", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", "static": true, - "killedBy": [ - "558" - ], - "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939", - "940" - ], + "coveredBy": [], "location": { "end": { - "column": 99, - "line": 10 + "column": 8, + "line": 33 }, "start": { - "column": 28, - "line": 9 + "column": 18, + "line": 30 } } }, { - "id": "296", - "mutatorName": "LogicalOperator", - "replacement": "typeof player !== \"object\" && has(player, \"position\") && (player as {\n position: number | undefined;\n}).position !== undefined", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.0.position must not be less than 0\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\", \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 38, - "static": true, - "killedBy": [ - "558" + "id": "282", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.ts(19,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "coveredBy": [ + "497", + "499", + "504", + "507", + "954" ], + "location": { + "end": { + "column": 2, + "line": 21 + }, + "start": { + "column": 63, + "line": 19 + } + } + } + ], + "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\n\nfunction areCompositionRolesMaxInGameRespected(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n return roles.every(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount <= role.maxInGame;\n });\n}\n\nfunction getCompositionRolesMaxInGameDefaultMessage(): string {\n return \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\";\n}\n\nfunction CompositionRolesMaxInGame(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionRolesMaxInGame\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: areCompositionRolesMaxInGameRespected,\n defaultMessage: getCompositionRolesMaxInGameDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionRolesMaxInGame, areCompositionRolesMaxInGameRespected, getCompositionRolesMaxInGameDefaultMessage };" + }, + "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts": { + "language": "typescript", + "mutants": [ + { + "id": "289", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts(9,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", "939", - "940" + "940", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 99, - "line": 10 + "column": 2, + "line": 20 }, "start": { - "column": 28, + "column": 74, "line": 9 } } }, { - "id": "297", + "id": "290", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 38, - "static": true, + "testsCompleted": 35, + "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", "939", - "940" + "940", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 54, - "line": 9 + "column": 105, + "line": 10 }, "start": { - "column": 28, - "line": 9 + "column": 7, + "line": 10 } } }, { - "id": "298", - "mutatorName": "EqualityOperator", - "replacement": "typeof player === \"object\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 38, - "static": true, - "killedBy": [ - "940" - ], + "id": "291", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", "939", - "940" + "940", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 54, - "line": 9 + "column": 105, + "line": 10 }, "start": { - "column": 28, - "line": 9 + "column": 7, + "line": 10 } } }, { - "id": "299", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "src/modules/game/dto/base/transformers/game-players-position.transformer.ts(9,28): error TS2367: This comparison appears to be unintentional because the types '\"string\" | \"number\" | \"bigint\" | \"boolean\" | \"symbol\" | \"undefined\" | \"object\" | \"function\"' and '\"\"' have no overlap.\n", + "id": "292", + "mutatorName": "LogicalOperator", + "replacement": "!Array.isArray(value) && value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts(10,32): error TS18046: 'value' is of type 'unknown'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", "939", - "940" + "940", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 54, - "line": 9 + "column": 105, + "line": 10 }, "start": { - "column": 46, - "line": 9 + "column": 7, + "line": 10 } } }, { - "id": "300", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.0.position must not be less than 0\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 38, - "static": true, - "killedBy": [ - "558" - ], + "id": "293", + "mutatorName": "BooleanLiteral", + "replacement": "Array.isArray(value)", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts(10,31): error TS18046: 'value' is of type 'unknown'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", "939", - "940" + "940", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 99, + "column": 28, "line": 10 }, "start": { - "column": 5, + "column": 7, "line": 10 } } }, { - "id": "301", - "mutatorName": "LogicalOperator", - "replacement": "has(player, \"position\") || (player as {\n position: number | undefined;\n}).position !== undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "294", + "mutatorName": "MethodExpression", + "replacement": "value.every(player => !isObject(player) || !has(player, [\"role\", \"name\"]))", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 38, - "static": true, + "testsCompleted": 30, + "static": false, "killedBy": [ - "940" + "941" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 99, + "column": 105, "line": 10 }, "start": { - "column": 5, + "column": 32, "line": 10 } } }, { - "id": "302", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.0.position must not be less than 0\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\", \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:381:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "295", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 38, - "static": true, + "testsCompleted": 28, + "static": false, "killedBy": [ - "558" + "941" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "944", + "945" ], "location": { "end": { - "column": 27, + "column": 104, "line": 10 }, "start": { - "column": 17, + "column": 43, "line": 10 } } }, { - "id": "303", + "id": "296", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", - "static": true, - "killedBy": [], + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:540:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 29, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 99, + "column": 104, "line": 10 }, "start": { - "column": 32, + "column": 53, "line": 10 } } }, { - "id": "304", - "mutatorName": "EqualityOperator", - "replacement": "(player as {\n position: number | undefined;\n}).position === undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "297", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:360\n at Array.filter ()\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:27:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 38, - "static": true, + "testsCompleted": 29, + "static": false, "killedBy": [ - "940" + "941" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 99, + "column": 104, "line": 10 }, "start": { - "column": 32, + "column": 53, "line": 10 } } }, { - "id": "305", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "TypeError: Cannot create property 'position' on string 'toto'\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:15:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "298", + "mutatorName": "LogicalOperator", + "replacement": "!isObject(player) && !has(player, [\"role\", \"name\"])", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:38:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, - "static": true, + "testsCompleted": 29, + "static": false, "killedBy": [ - "937" + "942" ], "coveredBy": [ - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "937", - "938", - "939" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 4, - "line": 12 + "column": 104, + "line": 10 }, "start": { - "column": 102, + "column": 53, "line": 10 } } }, { - "id": "306", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "299", + "mutatorName": "BooleanLiteral", + "replacement": "isObject(player)", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "560", - "561", - "664", - "665", - "666", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 35, - "line": 14 + "column": 70, + "line": 10 }, "start": { - "column": 19, - "line": 14 + "column": 53, + "line": 10 } } }, { - "id": "307", - "mutatorName": "EqualityOperator", - "replacement": "i <= value.length", - "statusReason": "undefinedCannot set properties of undefined (setting 'position') TypeError: Cannot set properties of undefined (setting 'position')\n at Object.gamePlayersPositionTransformer [as transformFn] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:412:24\n at Array.forEach ()\n at TransformOperationExecutor.applyCustomTransformations (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:411:15)\n at TransformOperationExecutor.transform (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:334:33)\n at ClassTransformer.plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/ClassTransformer.ts:77:21)\n at plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/index.ts:84:27)\n at createFakeCreateGameDto (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/factories/game/dto/create-game/create-game.dto.factory.ts:23:25)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:278:41\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:270:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:42:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "RuntimeError", - "static": true, - "killedBy": [], + "id": "300", + "mutatorName": "BooleanLiteral", + "replacement": "has(player, [\"role\", \"name\"])", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:69:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "945" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "560", - "561", - "664", - "665", - "666", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 35, - "line": 14 + "column": 104, + "line": 10 }, "start": { - "column": 19, - "line": 14 + "column": 74, + "line": 10 } } }, { - "id": "308", - "mutatorName": "EqualityOperator", - "replacement": "i >= value.length", + "id": "301", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", "status": "Timeout", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "250", - "251", - "259", - "260", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "331", - "332", - "560", - "561", - "664", - "665", - "666", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 35, - "line": 14 + "column": 103, + "line": 10 }, "start": { - "column": 19, - "line": 14 + "column": 87, + "line": 10 } } }, { - "id": "309", - "mutatorName": "UpdateOperator", - "replacement": "i--", - "statusReason": "undefinedCannot set properties of undefined (setting 'position') TypeError: Cannot set properties of undefined (setting 'position')\n at Object.gamePlayersPositionTransformer [as transformFn] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:412:24\n at Array.forEach ()\n at TransformOperationExecutor.applyCustomTransformations (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:411:15)\n at TransformOperationExecutor.transform (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:334:33)\n at ClassTransformer.plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/ClassTransformer.ts:77:21)\n at plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/index.ts:84:27)\n at createFakeCreateGameDto (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/factories/game/dto/create-game/create-game.dto.factory.ts:23:25)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:278:41\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:270:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:42:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "RuntimeError", - "static": true, - "killedBy": [], + "id": "302", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 27, + "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "560", - "561", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 40, - "line": 14 + "column": 94, + "line": 10 }, "start": { - "column": 37, - "line": 14 + "column": 88, + "line": 10 } } }, { - "id": "310", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "303", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:69:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 24, - "static": true, + "testsCompleted": 31, + "static": false, "killedBy": [ - "940" + "945" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "272", - "273", - "282", - "283", - "287", - "288", - "297", - "298", - "299", - "306", - "307", - "308", - "321", - "324", - "327", - "560", - "561", - "940" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "941", + "942", + "943", + "945" ], "location": { "end": { - "column": 4, - "line": 16 + "column": 102, + "line": 10 }, "start": { - "column": 42, - "line": 14 + "column": 96, + "line": 10 } } - } - ], - "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { has } from \"lodash\";\n\nfunction gamePlayersPositionTransformer(params: TransformFnParams): unknown {\n if (!Array.isArray(params.value)) {\n return params.value;\n }\n const value = params.value as unknown[];\n if (value.some(player => typeof player !== \"object\" ||\n has(player, \"position\") && (player as { position: number | undefined }).position !== undefined)) {\n return value;\n }\n const players = value as { position: number | undefined }[];\n for (let i = 0; i < value.length; i++) {\n players[i].position = i;\n }\n return value;\n}\n\nexport { gamePlayersPositionTransformer };" - }, - "src/modules/game/helpers/game-phase/game-phase.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "311", + "id": "304", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-phase/game-phase.helper.ts(3,39): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'filter')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:88:101\n at Array.every ()\n at areCompositionRolesMinInGameRespected (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts:83:203)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:12:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "939" + ], "coveredBy": [ - "572", - "573", - "991", - "992" + "497", + "939", + "940", + "941", + "942" ], "location": { "end": { - "column": 2, - "line": 5 + "column": 4, + "line": 12 }, "start": { - "column": 47, - "line": 3 + "column": 107, + "line": 10 } } }, { - "id": "312", + "id": "305", "mutatorName": "BooleanLiteral", - "replacement": "game.currentPlay", - "statusReason": "src/modules/game/helpers/game-phase/game-phase.helper.ts(4,3): error TS2322: Type 'GamePlay | null' is not assignable to type 'boolean'.\n Type 'null' is not assignable to type 'boolean'.\n", - "status": "CompileError", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "991", - "992" + "497", + "939", + "940", + "941", + "942" ], "location": { "end": { - "column": 27, - "line": 4 + "column": 17, + "line": 11 }, "start": { - "column": 10, - "line": 4 + "column": 12, + "line": 11 } } - } - ], - "source": "import type { Game } from \"../../schemas/game.schema\";\n\nfunction isGamePhaseOver(game: Game): boolean {\n return !game.currentPlay;\n}\n\nexport { isGamePhaseOver };" - }, - "src/modules/game/helpers/game-play/game-play.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "313", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(9,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "306", + "mutatorName": "MethodExpression", + "replacement": "roles.filter((role): role is Role & {\n minInGame: number;\n} => role.minInGame !== undefined).some(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount === 0 || roleCount >= role.minInGame;\n})", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 30, "static": false, - "killedBy": [], + "killedBy": [ + "943" + ], "coveredBy": [ - "168", - "724" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 2, - "line": 15 + "column": 7, + "line": 19 }, "start": { - "column": 88, - "line": 9 + "column": 10, + "line": 14 } } }, { - "id": "314", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(10,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "id": "307", + "mutatorName": "MethodExpression", + "replacement": "roles", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts(17,46): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "168", - "724" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 4, - "line": 14 + "column": 90, + "line": 15 }, "start": { - "column": 25, - "line": 10 + "column": 10, + "line": 14 } } }, { - "id": "315", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(11,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "id": "308", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts(18,46): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "168", - "724" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 74, - "line": 11 + "column": 89, + "line": 15 }, "start": { - "column": 34, - "line": 11 + "column": 13, + "line": 15 } } }, { - "id": "316", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(17,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "309", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "385", - "386", - "725" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 2, - "line": 23 + "column": 89, + "line": 15 }, "start": { - "column": 85, - "line": 17 + "column": 61, + "line": 15 } } }, { - "id": "317", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(18,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "310", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 30, "static": false, - "killedBy": [], + "killedBy": [ + "943" + ], "coveredBy": [ - "385", - "386", - "725" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 4, - "line": 22 + "column": 89, + "line": 15 }, "start": { - "column": 25, - "line": 18 + "column": 61, + "line": 15 } } }, { - "id": "318", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(19,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "311", + "mutatorName": "EqualityOperator", + "replacement": "role.minInGame === undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 26, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "385", - "386", - "725" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 74, - "line": 19 + "column": 89, + "line": 15 }, "start": { - "column": 34, - "line": 19 + "column": 61, + "line": 15 } } }, { - "id": "319", + "id": "312", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(25,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:53:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 26, "static": false, - "killedBy": [], + "killedBy": [ + "944" + ], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "175", - "232", - "572", - "726" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 2, - "line": 31 + "column": 6, + "line": 19 }, "start": { - "column": 76, - "line": 25 + "column": 20, + "line": 16 } } }, { - "id": "320", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(26,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "313", + "mutatorName": "MethodExpression", + "replacement": "players", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 30, "static": false, - "killedBy": [], - "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "175", - "232", - "572", - "726" + "killedBy": [ + "943" ], - "location": { - "end": { - "column": 4, - "line": 30 + "coveredBy": [ + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" + ], + "location": { + "end": { + "column": 81, + "line": 17 }, "start": { "column": 25, - "line": 26 + "line": 17 } } }, { - "id": "321", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(27,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "314", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "175", - "232", - "572", - "726" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 61, - "line": 27 + "column": 80, + "line": 17 }, "start": { - "column": 34, - "line": 27 + "column": 40, + "line": 17 } } }, { - "id": "322", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(33,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "315", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 29, "static": false, - "killedBy": [], + "killedBy": [ + "503" + ], "coveredBy": [ - "233", - "234", - "452", - "560", - "727" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "945" ], "location": { "end": { - "column": 2, - "line": 39 + "column": 80, + "line": 17 }, "start": { - "column": 84, - "line": 33 + "column": 50, + "line": 17 } } }, { - "id": "323", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(34,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "316", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "452", - "560", - "727" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "945" ], "location": { "end": { - "column": 4, - "line": 38 + "column": 80, + "line": 17 }, "start": { - "column": 25, - "line": 34 + "column": 50, + "line": 17 } } }, { - "id": "324", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(35,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "317", + "mutatorName": "EqualityOperator", + "replacement": "player.role.name !== role.name", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:49:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 25, "static": false, - "killedBy": [], + "killedBy": [ + "943" + ], "coveredBy": [ - "233", - "234", - "452", - "560", - "727" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "945" ], "location": { "end": { - "column": 61, - "line": 35 + "column": 80, + "line": 17 }, "start": { - "column": 34, - "line": 35 + "column": 50, + "line": 17 } } }, { - "id": "325", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(41,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "318", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "728" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 2, - "line": 47 + "column": 60, + "line": 18 }, "start": { - "column": 85, - "line": 41 + "column": 14, + "line": 18 } } }, { - "id": "326", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(42,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "319", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "728" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 4, - "line": 46 + "column": 60, + "line": 18 }, "start": { - "column": 25, - "line": 42 + "column": 14, + "line": 18 } } }, { - "id": "327", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(43,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "320", + "mutatorName": "LogicalOperator", + "replacement": "roleCount === 0 && roleCount >= role.minInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 30, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "728" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { "column": 60, - "line": 43 + "line": 18 }, "start": { - "column": 34, - "line": 43 + "column": 14, + "line": 18 } } }, { - "id": "328", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(49,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "321", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 26, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "729" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 2, - "line": 55 + "column": 29, + "line": 18 }, "start": { - "column": 95, - "line": 49 + "column": 14, + "line": 18 } } }, { - "id": "329", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(50,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "322", + "mutatorName": "EqualityOperator", + "replacement": "roleCount !== 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 26, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "729" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "943", + "944", + "945" ], "location": { "end": { - "column": 4, - "line": 54 + "column": 29, + "line": 18 }, "start": { - "column": 25, - "line": 50 + "column": 14, + "line": 18 } } }, { - "id": "330", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(51,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "323", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:69:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], - "coveredBy": [ - "729" + "killedBy": [ + "945" + ], + "coveredBy": [ + "498", + "499", + "500", + "502", + "503", + "504", + "728", + "729", + "730", + "731", + "943", + "945" ], "location": { "end": { - "column": 71, - "line": 51 + "column": 60, + "line": 18 }, "start": { - "column": 34, - "line": 51 + "column": 33, + "line": 18 } } }, { - "id": "331", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(57,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "324", + "mutatorName": "EqualityOperator", + "replacement": "roleCount > role.minInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts:69:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "945" + ], "coveredBy": [ - "397", - "730" + "498", + "499", + "500", + "502", + "503", + "504", + "728", + "729", + "730", + "731", + "943", + "945" ], "location": { "end": { - "column": 2, - "line": 63 + "column": 60, + "line": 18 }, "start": { - "column": 88, - "line": 57 + "column": 33, + "line": 18 } } }, { - "id": "332", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(58,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "325", + "mutatorName": "EqualityOperator", + "replacement": "roleCount < role.minInGame", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "503" + ], "coveredBy": [ - "397", - "730" + "498", + "499", + "500", + "502", + "503", + "504", + "728", + "729", + "730", + "731", + "943", + "945" ], "location": { "end": { - "column": 4, - "line": 62 + "column": 60, + "line": 18 }, "start": { - "column": 25, - "line": 58 + "column": 33, + "line": 18 } } }, { - "id": "333", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(59,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "327", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\"\nReceived array: [\"\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "503" + ], "coveredBy": [ - "397", - "730" + "497", + "498", + "499", + "500", + "502", + "503", + "504", + "946" ], "location": { "end": { - "column": 64, - "line": 59 + "column": 112, + "line": 23 }, "start": { - "column": 34, - "line": 59 + "column": 10, + "line": 23 } } }, { - "id": "334", + "id": "328", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(65,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "731" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { "column": 2, - "line": 71 + "line": 39 }, "start": { - "column": 87, - "line": 65 + "column": 75, + "line": 26 } } }, { - "id": "335", - "mutatorName": "ObjectLiteral", + "id": "329", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(66,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "731" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { "column": 4, - "line": 70 + "line": 38 }, "start": { - "column": 25, - "line": 66 + "column": 58, + "line": 27 } } }, { - "id": "336", + "id": "330", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(67,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "731" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 63, - "line": 67 + "column": 6, + "line": 37 }, "start": { - "column": 34, - "line": 67 + "column": 23, + "line": 28 } } }, { - "id": "337", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(73,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "732" - ], + "id": "331", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 2, - "line": 79 + "column": 40, + "line": 29 }, "start": { - "column": 90, - "line": 73 + "column": 13, + "line": 29 } } }, { - "id": "338", + "id": "332", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(74,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "732" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 4, - "line": 78 + "column": 8, + "line": 36 }, "start": { - "column": 25, - "line": 74 + "column": 18, + "line": 33 } } }, { - "id": "339", - "mutatorName": "ObjectLiteral", + "id": "326", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(75,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.ts(22,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, - "killedBy": [], "coveredBy": [ - "732" + "497", + "498", + "499", + "500", + "502", + "503", + "504", + "946" ], "location": { "end": { - "column": 65, - "line": 75 + "column": 2, + "line": 24 }, "start": { - "column": 34, - "line": 75 + "column": 63, + "line": 22 } } - }, + } + ], + "source": "import type { ValidationOptions } from \"class-validator\";\nimport { registerDecorator } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\nimport type { Role } from \"../../../../../role/types/role.type\";\n\nfunction areCompositionRolesMinInGameRespected(value?: unknown): boolean {\n if (!Array.isArray(value) || value.some(player => !isObject(player) || !has(player, [\"role\", \"name\"]))) {\n return false;\n }\n const players = value as { role: { name: ROLE_NAMES } }[];\n return roles\n .filter((role): role is Role & { minInGame: number } => role.minInGame !== undefined)\n .every(role => {\n const roleCount = players.filter(player => player.role.name === role.name).length;\n return roleCount === 0 || roleCount >= role.minInGame;\n });\n}\n\nfunction getCompositionRolesMinInGameDefaultMessage(): string {\n return \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\";\n}\n\nfunction CompositionRolesMinInGame(validationOptions?: ValidationOptions) {\n return (object: object, propertyName: string): void => {\n registerDecorator({\n name: \"CompositionRolesMinInGame\",\n target: object.constructor,\n propertyName,\n options: validationOptions,\n validator: {\n validate: areCompositionRolesMinInGameRespected,\n defaultMessage: getCompositionRolesMinInGameDefaultMessage,\n },\n });\n };\n}\n\nexport { CompositionRolesMinInGame, areCompositionRolesMinInGameRespected, getCompositionRolesMinInGameDefaultMessage };" + }, + "src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.ts": { + "language": "typescript", + "mutants": [ { - "id": "340", + "id": "333", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(81,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.ts(6,42): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "733" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1043", + "1044", + "1045", + "1046" ], "location": { "end": { "column": 2, - "line": 87 + "line": 11 }, "start": { - "column": 78, - "line": 81 + "column": 50, + "line": 6 } } }, { - "id": "341", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(82,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "334", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "733" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1043", + "1044", + "1045", + "1046" ], "location": { "end": { - "column": 4, - "line": 86 + "column": 46, + "line": 7 }, "start": { - "column": 25, - "line": 82 + "column": 7, + "line": 7 } } }, { - "id": "342", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(83,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "335", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "733" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1043", + "1044", + "1045", + "1046" ], "location": { "end": { - "column": 58, - "line": 83 + "column": 46, + "line": 7 }, "start": { - "column": 34, - "line": 83 + "column": 7, + "line": 7 } } }, { - "id": "343", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(89,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "336", + "mutatorName": "LogicalOperator", + "replacement": "!isObject(value) && !has(value, \"name\")", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"toto\": \"tata\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.spec.ts:15:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 35, "static": false, - "killedBy": [], + "killedBy": [ + "1045" + ], "coveredBy": [ - "734" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1043", + "1044", + "1045", + "1046" ], "location": { "end": { - "column": 2, - "line": 95 + "column": 46, + "line": 7 }, "start": { - "column": 89, - "line": 89 + "column": 7, + "line": 7 } } }, { - "id": "344", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(90,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "337", + "mutatorName": "BooleanLiteral", + "replacement": "isObject(value)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:174:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 33, "static": false, - "killedBy": [], + "killedBy": [ + "489" + ], "coveredBy": [ - "734" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1043", + "1044", + "1045", + "1046" ], "location": { "end": { - "column": 4, - "line": 94 + "column": 23, + "line": 7 }, "start": { - "column": 25, - "line": 90 + "column": 7, + "line": 7 } } }, { - "id": "345", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(91,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", + "id": "338", + "mutatorName": "BooleanLiteral", + "replacement": "has(value, \"name\")", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:174:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 33, "static": false, - "killedBy": [], - "coveredBy": [ - "734" + "killedBy": [ + "489" ], - "location": { - "end": { - "column": 65, - "line": 91 - }, - "start": { - "column": 34, - "line": 91 - } - } - }, - { - "id": "346", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(97,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "735" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1045", + "1046" ], "location": { "end": { - "column": 2, - "line": 103 + "column": 46, + "line": 7 }, "start": { - "column": 88, - "line": 97 + "column": 27, + "line": 7 } } }, { - "id": "347", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(98,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "id": "339", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:174:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 31, "static": false, - "killedBy": [], - "coveredBy": [ - "735" + "killedBy": [ + "489" ], - "location": { - "end": { - "column": 4, - "line": 102 - }, - "start": { - "column": 25, - "line": 98 - } - } - }, - { - "id": "348", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(99,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "735" + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "1045", + "1046" ], "location": { "end": { - "column": 64, - "line": 99 + "column": 45, + "line": 7 }, "start": { - "column": 34, - "line": 99 + "column": 39, + "line": 7 } } }, { - "id": "349", + "id": "340", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(105,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "TypeError: Cannot read properties of null (reading 'name')\n at getPlayerName (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.ts:67:8)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.spec.ts:7:27)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], - "coveredBy": [ - "736" + "killedBy": [ + "1043" ], - "location": { - "end": { - "column": 2, - "line": 111 - }, - "start": { - "column": 95, - "line": 105 - } - } - }, - { - "id": "350", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(106,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "736" + "1043", + "1044", + "1045" ], "location": { "end": { "column": 4, - "line": 110 - }, - "start": { - "column": 25, - "line": 106 - } - } - }, - { - "id": "351", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(107,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "736" - ], - "location": { - "end": { - "column": 69, - "line": 107 + "line": 9 }, "start": { - "column": 34, - "line": 107 + "column": 48, + "line": 7 } } }, { - "id": "352", + "id": "341", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(113,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "737" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { "column": 2, - "line": 119 + "line": 19 }, "start": { - "column": 92, - "line": 113 + "column": 11, + "line": 17 } } }, { - "id": "353", + "id": "342", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(114,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "737" - ], + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 4, - "line": 118 + "column": 95, + "line": 18 }, "start": { - "column": 25, - "line": 114 + "column": 53, + "line": 18 } } }, { - "id": "354", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(115,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "737" - ], + "id": "343", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 66, - "line": 115 + "column": 93, + "line": 18 }, "start": { - "column": 34, - "line": 115 + "column": 64, + "line": 18 } } - }, + } + ], + "source": "import { applyDecorators } from \"@nestjs/common\";\nimport { ArrayUnique } from \"class-validator\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\n\nfunction getPlayerName(value?: unknown): unknown {\n if (!isObject(value) || !has(value, \"name\")) {\n return value;\n }\n return (value as { name: unknown }).name;\n}\n\nfunction CompositionUniqueNames(): void, Y>(\n target: (TFunction | object),\n propertyKey?: (string | symbol),\n descriptor?: TypedPropertyDescriptor\n) => void {\n return applyDecorators(ArrayUnique(getPlayerName, { message: \"players.name must be unique\" }));\n}\n\nexport { getPlayerName, CompositionUniqueNames };" + }, + "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts": { + "language": "typescript", + "mutants": [ { - "id": "355", + "id": "344", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(121,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(6,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "738" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "978", + "979", + "980", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { "column": 2, - "line": 127 + "line": 24 }, "start": { - "column": 79, - "line": 121 + "column": 68, + "line": 6 } } }, { - "id": "356", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(122,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "738" + "id": "345", + "mutatorName": "BooleanLiteral", + "replacement": "has((params.value as object), \"name\")", + "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {\"name\": \"fox\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"2\", \"role\": {\"name\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"3\", \"role\": {\"name\": \"two-sisters\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"4\", \"role\": {\"name\": \"two-sisters\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"5\", \"role\": {\"name\": \"bear-tamer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"6\", \"role\": {\"name\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"7\", \"role\": {\"name\": \"little-girl\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"8\", \"role\": {\"name\": \"dog-wolf\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"9\", \"role\": {\"name\": \"three-brothers\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"10\", \"role\": {\"name\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:225:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 80, + "static": true, + "killedBy": [ + "493" ], - "location": { - "end": { - "column": 4, - "line": 126 - }, - "start": { - "column": 25, - "line": 122 - } - } - }, - { - "id": "357", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(123,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "738" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "978", + "979", + "980", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 60, - "line": 123 + "column": 43, + "line": 7 }, "start": { - "column": 34, - "line": 123 + "column": 7, + "line": 7 } } }, { - "id": "358", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(129,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "346", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "739" - ], - "location": { - "end": { - "column": 2, - "line": 135 - }, - "start": { - "column": 82, - "line": 129 - } - } - }, - { - "id": "359", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(130,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "739" - ], - "location": { - "end": { - "column": 4, - "line": 134 - }, - "start": { - "column": 25, - "line": 130 - } - } - }, - { - "id": "360", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(131,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "739" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "978", + "979", + "980", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 60, - "line": 131 + "column": 43, + "line": 7 }, "start": { - "column": 34, - "line": 131 + "column": 7, + "line": 7 } } }, { - "id": "361", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(137,72): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "347", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "407", - "740" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "978", + "979", + "980", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 2, - "line": 143 + "column": 43, + "line": 7 }, "start": { - "column": 81, - "line": 137 + "column": 7, + "line": 7 } } }, { - "id": "362", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(138,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "407", - "740" + "id": "348", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {\"name\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"2\", \"role\": {\"name\": \"witch\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"3\", \"role\": {\"name\": \"idiot\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"4\", \"role\": {\"name\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"5\", \"role\": {\"name\": \"dog-wolf\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"6\", \"role\": {\"name\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"7\", \"role\": {\"name\": \"bear-tamer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"8\", \"role\": {\"name\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"9\", \"role\": {\"name\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"name\": \"10\", \"role\": {\"name\": \"little-girl\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:230:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 92, + "static": true, + "killedBy": [ + "493" ], - "location": { - "end": { - "column": 4, - "line": 142 - }, - "start": { - "column": 25, - "line": 138 - } - } - }, - { - "id": "363", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(139,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "407", - "740" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "978", + "979", + "980", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 61, - "line": 139 + "column": 42, + "line": 7 }, "start": { - "column": 34, - "line": 139 + "column": 36, + "line": 7 } } }, { - "id": "364", + "id": "349", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(145,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "741" - ], - "location": { - "end": { - "column": 2, - "line": 151 - }, - "start": { - "column": 85, - "line": 145 - } - } - }, - { - "id": "365", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(146,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "741" + "978", + "979", + "980" ], "location": { "end": { "column": 4, - "line": 150 + "line": 9 }, "start": { - "column": 25, - "line": 146 + "column": 45, + "line": 7 } } }, { - "id": "366", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(147,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, + "id": "350", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "741" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { "column": 60, - "line": 147 + "line": 16 }, "start": { - "column": 34, - "line": 147 + "column": 27, + "line": 16 } } }, { - "id": "367", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(153,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "351", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "742" - ], - "location": { - "end": { - "column": 2, - "line": 159 - }, - "start": { - "column": 84, - "line": 153 - } - } - }, - { - "id": "368", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(154,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "742" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 4, - "line": 158 + "column": 60, + "line": 16 }, "start": { - "column": 25, - "line": 154 + "column": 41, + "line": 16 } } }, { - "id": "369", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(155,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, + "id": "352", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "742" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 65, - "line": 155 + "column": 60, + "line": 16 }, "start": { - "column": 34, - "line": 155 + "column": 41, + "line": 16 } } }, { - "id": "370", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(161,71): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "353", + "mutatorName": "EqualityOperator", + "replacement": "name !== value.name", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "743" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 2, - "line": 167 + "column": 60, + "line": 16 }, "start": { - "column": 80, - "line": 161 + "column": 41, + "line": 16 } } }, { - "id": "371", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(162,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "id": "354", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "743" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 4, - "line": 166 + "column": 25, + "line": 17 }, "start": { - "column": 25, - "line": 162 + "column": 7, + "line": 17 } } }, { - "id": "372", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(163,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "id": "355", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "743" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 60, - "line": 163 + "column": 25, + "line": 17 }, "start": { - "column": 34, - "line": 163 - } - } - }, - { - "id": "373", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(169,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "744" - ], - "location": { - "end": { - "column": 2, - "line": 175 - }, - "start": { - "column": 78, - "line": 169 + "column": 7, + "line": 17 } } }, { - "id": "374", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(170,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "id": "356", + "mutatorName": "EqualityOperator", + "replacement": "role !== undefined", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(22,22): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "744" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "981", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 4, - "line": 174 - }, - "start": { "column": 25, - "line": 170 - } - } - }, - { - "id": "375", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(171,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "744" - ], - "location": { - "end": { - "column": 59, - "line": 171 + "line": 17 }, "start": { - "column": 34, - "line": 171 + "column": 7, + "line": 17 } } }, { - "id": "376", + "id": "357", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(177,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "745" - ], - "location": { - "end": { - "column": 2, - "line": 183 - }, - "start": { - "column": 86, - "line": 177 - } - } - }, - { - "id": "377", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(178,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(18,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(19,20): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-role.transformer.ts(20,22): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "745" + "981" ], "location": { "end": { "column": 4, - "line": 182 + "line": 19 }, "start": { - "column": 25, - "line": 178 + "column": 27, + "line": 17 } } }, { - "id": "378", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(179,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", - "status": "CompileError", - "static": false, + "id": "358", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "745" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 69, - "line": 179 + "column": 64, + "line": 22 }, "start": { - "column": 34, - "line": 179 + "column": 22, + "line": 22 } } }, { - "id": "379", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(185,74): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "359", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "746" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 2, - "line": 191 + "column": 64, + "line": 22 }, "start": { - "column": 83, - "line": 185 + "column": 22, + "line": 22 } } }, { - "id": "380", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(186,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, + "id": "360", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== ROLE_NAMES.VILLAGER_VILLAGER", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "746" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "750", + "751", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "917", + "918", + "919", + "920", + "921", + "922", + "923", + "941", + "942", + "943", + "945", + "949", + "950", + "951", + "953", + "957", + "958", + "959", + "961", + "965", + "966", + "967", + "969", + "971", + "972", + "976", + "977", + "982", + "983", + "984", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 4, - "line": 190 + "column": 64, + "line": 22 }, "start": { - "column": 25, - "line": 186 + "column": 22, + "line": 22 } } - }, + } + ], + "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\n\nfunction playerRoleTransformer(params: TransformFnParams): unknown {\n if (!has(params.value as object, \"name\")) {\n return params.value;\n }\n const value = params.value as {\n name: string;\n current: ROLE_NAMES;\n original: ROLE_NAMES;\n isRevealed: boolean;\n };\n const role = roles.find(({ name }) => name === value.name);\n if (role === undefined) {\n return value;\n }\n value.current = role.name;\n value.original = role.name;\n value.isRevealed = role.name === ROLE_NAMES.VILLAGER_VILLAGER;\n return value;\n}\n\nexport { playerRoleTransformer };" + }, + "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts": { + "language": "typescript", + "mutants": [ { - "id": "381", - "mutatorName": "ObjectLiteral", + "id": "361", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(187,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(7,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "746" - ], - "location": { - "end": { - "column": 67, - "line": 187 - }, - "start": { - "column": 34, - "line": 187 - } - } - }, - { - "id": "382", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(193,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "747" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { "column": 2, - "line": 199 - }, - "start": { - "column": 82, - "line": 193 - } - } - }, - { - "id": "383", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(194,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "747" - ], - "location": { - "end": { - "column": 4, - "line": 198 + "line": 23 }, "start": { - "column": 25, - "line": 194 + "column": 68, + "line": 7 } } }, { - "id": "384", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(195,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "id": "362", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "747" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 68, - "line": 195 + "column": 103, + "line": 8 }, "start": { - "column": 34, - "line": 195 + "column": 7, + "line": 8 } } }, { - "id": "385", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(201,64): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "363", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "162", - "163", "164", - "166", - "167", - "168", - "169", - "170", + "165", + "174", "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", "232", - "233", - "234", - "385", - "386", - "397", - "407", - "452", - "560", - "572", - "724", - "725", - "726", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "727", "728", "729", "730", "731", - "732", - "733", - "734", - "735", - "736", - "737", - "738", - "739", - "740", - "741", - "742", - "743", - "744", - "745", - "746", - "747", - "748", - "749" + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 2, - "line": 203 + "column": 103, + "line": 8 }, "start": { - "column": 79, - "line": 201 + "column": 7, + "line": 8 } } }, { - "id": "386", - "mutatorName": "ObjectLiteral", - "replacement": "{}", + "id": "364", + "mutatorName": "LogicalOperator", + "replacement": "(!isObject(params.value) || !isObject(params.obj)) && !has((params.obj as object), [\"role\", \"name\"])", "status": "Timeout", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "162", - "163", "164", - "166", - "167", - "168", - "169", - "170", + "165", + "174", "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", "232", - "233", - "234", - "385", - "386", - "397", - "407", - "452", - "560", - "572", - "724", - "725", - "726", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "727", "728", "729", "730", "731", - "732", - "733", - "734", - "735", - "736", - "737", - "738", - "739", - "740", - "741", - "742", - "743", - "744", - "745", - "746", - "747", - "748", - "749" + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 125, - "line": 202 + "column": 103, + "line": 8 }, "start": { - "column": 58, - "line": 202 + "column": 7, + "line": 8 } } }, { - "id": "387", - "mutatorName": "BooleanLiteral", + "id": "365", + "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "TypeError: Cannot set properties of null (setting 'current')\n at playerSideTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts:86:18)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts:13:35)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 44, - "static": false, + "testsCompleted": 47, + "static": true, "killedBy": [ - "572" + "971" ], "coveredBy": [ - "162", - "163", "164", - "166", - "167", - "168", - "169", - "170", + "165", + "174", "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", "232", - "233", - "234", - "385", - "386", - "397", - "407", - "452", - "560", - "572", - "724", - "725", - "726", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "727", "728", "729", "730", "731", - "732", - "733", - "734", - "735", - "736", - "737", - "738", - "739", - "740", - "741", - "742", - "743", - "744", - "745", - "746", - "747", - "748", - "749" + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 123, - "line": 202 + "column": 55, + "line": 8 }, "start": { - "column": 119, - "line": 202 + "column": 7, + "line": 8 } } }, { - "id": "388", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(205,46): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "366", + "mutatorName": "LogicalOperator", + "replacement": "!isObject(params.value) && !isObject(params.obj)", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "162", - "163", "164", - "166", - "167", - "168", - "169", - "170", + "165", + "174", "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", "232", - "233", - "234", - "235", - "385", - "386", - "397", - "407", - "452", - "560", - "561", - "572", - "724", - "725", - "726", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "727", "728", "729", "730", "731", - "732", - "733", - "734", - "735", - "736", - "737", - "738", - "739", - "740", - "741", - "742", - "743", - "744", - "745", - "746", - "747", - "749" + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 2, - "line": 207 + "column": 55, + "line": 8 }, "start": { - "column": 55, - "line": 205 + "column": 7, + "line": 8 } } }, { - "id": "389", - "mutatorName": "ObjectLiteral", - "replacement": "{}", + "id": "367", + "mutatorName": "BooleanLiteral", + "replacement": "isObject(params.value)", "status": "Timeout", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "162", - "163", "164", - "166", - "167", - "168", - "169", - "170", + "165", + "174", "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", "232", - "233", - "234", - "235", - "385", - "386", - "397", - "407", - "452", - "560", - "561", - "572", - "724", - "725", - "726", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "727", "728", "729", "730", "731", - "732", - "733", - "734", - "735", - "736", - "737", - "738", - "739", - "740", - "741", - "742", - "743", - "744", - "745", - "746", - "747", - "749" + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "971", + "972", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 113, - "line": 206 + "column": 30, + "line": 8 }, "start": { - "column": 46, - "line": 206 + "column": 7, + "line": 8 } } }, { - "id": "390", + "id": "368", "mutatorName": "BooleanLiteral", - "replacement": "false", + "replacement": "isObject(params.obj)", "status": "Timeout", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "162", - "163", "164", - "166", - "167", - "168", - "169", - "170", + "165", + "174", "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", "232", - "233", - "234", - "235", - "385", - "386", - "397", - "407", - "452", - "560", - "561", - "572", - "724", - "725", - "726", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", "727", "728", "729", "730", "731", - "732", - "733", - "734", - "735", - "736", - "737", - "738", - "739", - "740", - "741", - "742", - "743", - "744", - "745", - "746", - "747", - "749" + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "973", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 111, - "line": 206 + "column": 55, + "line": 8 }, "start": { - "column": 107, - "line": 206 + "column": 34, + "line": 8 } } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES } from \"../../../role/enums/role.enum\";\nimport { GAME_PLAY_ACTIONS } from \"../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../enums/player.enum\";\nimport { GamePlaySource } from \"../../schemas/game-play/game-play-source.schema\";\nimport { GamePlay } from \"../../schemas/game-play/game-play.schema\";\n\nfunction createGamePlaySheriffSettlesVotes(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.SETTLE_VOTES,\n ...gamePlay,\n });\n}\n\nfunction createGamePlaySheriffDelegates(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.DELEGATE,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayAllVote(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.VOTE,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayAllElectSheriff(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayThiefChoosesCard(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.THIEF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_CARD,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayStutteringJudgeChoosesSign(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.STUTTERING_JUDGE }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIGN,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayScapegoatBansVoting(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.SCAPEGOAT }),\n action: GAME_PLAY_ACTIONS.BAN_VOTING,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayDogWolfChoosesSide(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.DOG_WOLF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIDE,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWildChildChoosesModel(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayFoxSniffs(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.FOX }),\n action: GAME_PLAY_ACTIONS.SNIFF,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayCharmedMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.CHARMED }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayLoversMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.LOVERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayThreeBrothersMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.THREE_BROTHERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayTwoSistersMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.TWO_SISTERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayRavenMarks(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.RAVEN }),\n action: GAME_PLAY_ACTIONS.MARK,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayGuardProtects(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.GUARD }),\n action: GAME_PLAY_ACTIONS.PROTECT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayHunterShoots(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.HUNTER }),\n action: GAME_PLAY_ACTIONS.SHOOT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWitchUsesPotions(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.WITCH }),\n action: GAME_PLAY_ACTIONS.USE_POTIONS,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayPiedPiperCharms(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.PIED_PIPER }),\n action: GAME_PLAY_ACTIONS.CHARM,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayCupidCharms(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.CUPID }),\n action: GAME_PLAY_ACTIONS.CHARM,\n ...gamePlay,\n });\n}\n\nfunction createGamePlaySeerLooks(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.SEER }),\n action: GAME_PLAY_ACTIONS.LOOK,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWhiteWerewolfEats(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.WHITE_WEREWOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayBigBadWolfEats(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.BIG_BAD_WOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWerewolvesEat(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.WEREWOLVES }),\n action: GAME_PLAY_ACTIONS.EAT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlaySource(gamePlaySource: GamePlaySource): GamePlaySource {\n return plainToInstance(GamePlaySource, gamePlaySource, { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n}\n\nfunction createGamePlay(gamePlay: GamePlay): GamePlay {\n return plainToInstance(GamePlay, gamePlay, { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n}\n\nexport {\n createGamePlaySheriffSettlesVotes,\n createGamePlaySheriffDelegates,\n createGamePlayAllVote,\n createGamePlayAllElectSheriff,\n createGamePlayThiefChoosesCard,\n createGamePlayStutteringJudgeChoosesSign,\n createGamePlayScapegoatBansVoting,\n createGamePlayDogWolfChoosesSide,\n createGamePlayWildChildChoosesModel,\n createGamePlayFoxSniffs,\n createGamePlayCharmedMeetEachOther,\n createGamePlayLoversMeetEachOther,\n createGamePlayThreeBrothersMeetEachOther,\n createGamePlayTwoSistersMeetEachOther,\n createGamePlayRavenMarks,\n createGamePlayGuardProtects,\n createGamePlayHunterShoots,\n createGamePlayWitchUsesPotions,\n createGamePlayPiedPiperCharms,\n createGamePlayCupidCharms,\n createGamePlaySeerLooks,\n createGamePlayWhiteWerewolfEats,\n createGamePlayBigBadWolfEats,\n createGamePlayWerewolvesEat,\n createGamePlaySource,\n createGamePlay,\n};" - }, - "src/modules/game/helpers/game-play/game-play.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "391", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(14,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "369", + "mutatorName": "BooleanLiteral", + "replacement": "has((params.obj as object), [\"role\", \"name\"])", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "571", - "572", - "573", - "803", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 2, - "line": 33 + "column": 103, + "line": 8 }, "start": { - "column": 145, - "line": 14 + "column": 59, + "line": 8 } } }, { - "id": "392", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(18,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, + "id": "370", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "571", - "572", - "573", - "803", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 42, - "line": 15 + "column": 102, + "line": 8 }, "start": { - "column": 7, - "line": 15 + "column": 86, + "line": 8 } } }, { - "id": "393", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(18,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "371", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, {\"name\": \"2\", \"role\": {\"current\": \"three-brothers\", \"isRevealed\": false, \"name\": \"three-brothers\", \"original\": \"three-brothers\"}, \"side\": {}}, {\"name\": \"3\", \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"name\": \"hunter\", \"original\": \"hunter\"}, \"side\": {}}, {\"name\": \"4\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, {\"name\": \"5\", \"role\": {\"current\": \"bear-tamer\", \"isRevealed\": false, \"name\": \"bear-tamer\", \"original\": \"bear-tamer\"}, \"side\": {}}, {\"name\": \"6\", \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"name\": \"werewolf\", \"original\": \"werewolf\"}, \"side\": {}}, {\"name\": \"7\", \"role\": {\"current\": \"wild-child\", \"isRevealed\": false, \"name\": \"wild-child\", \"original\": \"wild-child\"}, \"side\": {}}, {\"name\": \"8\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, {\"name\": \"9\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, {\"name\": \"10\", \"role\": {\"current\": \"idiot\", \"isRevealed\": false, \"name\": \"idiot\", \"original\": \"idiot\"}, \"side\": {}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:231:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 58, + "static": true, + "killedBy": [ + "493" + ], "coveredBy": [ - "571", - "572", - "573", - "803", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 42, - "line": 15 + "column": 93, + "line": 8 }, "start": { - "column": 7, - "line": 15 + "column": 87, + "line": 8 } } }, { - "id": "394", - "mutatorName": "EqualityOperator", - "replacement": "makeGamePlayDto.votes !== undefined", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(18,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, + "id": "372", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "571", - "572", - "573", - "803", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "974", + "975", + "976", + "977" ], "location": { "end": { - "column": 42, - "line": 15 + "column": 101, + "line": 8 }, "start": { - "column": 7, - "line": 15 + "column": 95, + "line": 8 } } }, { - "id": "395", + "id": "373", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(16,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "TypeError: Cannot set properties of null (setting 'current')\n at playerSideTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts:86:18)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts:13:35)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "971" + ], "coveredBy": [ - "571", - "573", - "803" + "971", + "972", + "973", + "974" ], "location": { "end": { "column": 4, - "line": 17 + "line": 10 }, "start": { - "column": 44, - "line": 15 + "column": 105, + "line": 8 } } }, { - "id": "396", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(18,3): error TS2740: Type 'MakeGamePlayVoteDto' is missing the following properties from type 'MakeGamePlayVoteWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(18,75): error TS2345: Argument of type '(acc: MakeGamePlayVoteWithRelationsDto[], vote: MakeGamePlayVoteDto) => void' is not assignable to parameter of type '(previousValue: MakeGamePlayVoteWithRelationsDto[], currentValue: MakeGamePlayVoteDto, currentIndex: number, array: MakeGamePlayVoteDto[]) => MakeGamePlayVoteWithRelationsDto[]'.\n Type 'void' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", - "status": "CompileError", - "static": false, + "id": "374", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 4, - "line": 32 + "column": 63, + "line": 16 }, "start": { - "column": 90, - "line": 18 + "column": 27, + "line": 16 } } }, { - "id": "397", + "id": "375", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(29,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(30,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 22\n+ Received + 22\n\n@@ -5,27 +5,27 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e38fa153464e17419683a7\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n \"current\": \"villager\",\n \"isRevealed\": false,\n \"original\": \"villager\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e38fa153464e17419683a8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,27 +37,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e38fa153464e17419683a9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n \"current\": \"villager-villager\",\n \"isRevealed\": true,\n \"original\": \"villager-villager\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e38fa153464e17419683aa\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,39 +69,39 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e38fa153464e17419683ab\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n \"current\": \"cupid\",\n \"isRevealed\": false,\n \"original\": \"cupid\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e38fa153464e17419683ac\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ],\n },\n },\n@@ -192,12 +192,12 @@\n \"current\": \"villager\",\n \"isRevealed\": false,\n \"original\": \"villager\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Object {\n \"_id\": Any,\n \"attributes\": Array [],\n@@ -224,12 +224,12 @@\n \"current\": \"villager-villager\",\n \"isRevealed\": true,\n \"original\": \"villager-villager\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Object {\n \"_id\": Any,\n \"attributes\": Array [],\n@@ -256,12 +256,12 @@\n \"current\": \"cupid\",\n \"isRevealed\": false,\n \"original\": \"cupid\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Object {\n \"_id\": Any,\n \"attributes\": Array [],\n@@ -272,12 +272,12 @@\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n },\n \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 55, + "static": true, + "killedBy": [ + "517" + ], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 29, - "line": 21 + "column": 63, + "line": 16 }, "start": { - "column": 9, - "line": 21 + "column": 41, + "line": 16 } } }, { - "id": "398", + "id": "376", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(29,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {\"current\": \"three-brothers\", \"isRevealed\": false, \"name\": \"three-brothers\", \"original\": \"three-brothers\"}, \"side\": {}}, {\"name\": \"2\", \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"name\": \"werewolf\", \"original\": \"werewolf\"}, \"side\": {}}, {\"name\": \"3\", \"role\": {\"current\": \"vile-father-of-wolves\", \"isRevealed\": false, \"name\": \"vile-father-of-wolves\", \"original\": \"vile-father-of-wolves\"}, \"side\": {}}, {\"name\": \"4\", \"role\": {\"current\": \"white-werewolf\", \"isRevealed\": false, \"name\": \"white-werewolf\", \"original\": \"white-werewolf\"}, \"side\": {}}, {\"name\": \"5\", \"role\": {\"current\": \"thief\", \"isRevealed\": false, \"name\": \"thief\", \"original\": \"thief\"}, \"side\": {}}, {\"name\": \"6\", \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"name\": \"seer\", \"original\": \"seer\"}, \"side\": {}}, {\"name\": \"7\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, {\"name\": \"8\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, {\"name\": \"9\", \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"name\": \"werewolf\", \"original\": \"werewolf\"}, \"side\": {}}, {\"name\": \"10\", \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"name\": \"villager\", \"original\": \"villager\"}, \"side\": {}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:231:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 63, + "static": true, + "killedBy": [ + "493" + ], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 29, - "line": 21 + "column": 63, + "line": 16 }, "start": { - "column": 9, - "line": 21 + "column": 41, + "line": 16 } } }, { - "id": "399", + "id": "377", "mutatorName": "EqualityOperator", - "replacement": "source !== undefined", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(29,5): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, + "replacement": "name !== obj.role.name", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 29, - "line": 21 + "column": 63, + "line": 16 }, "start": { - "column": 9, - "line": 21 + "column": 41, + "line": 16 } } }, { - "id": "400", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(27,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "804" - ], - "location": { - "end": { - "column": 6, - "line": 23 - }, - "start": { - "column": 31, - "line": 21 - } - } - }, - { - "id": "401", + "id": "378", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(29,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(30,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 29, - "line": 24 + "column": 25, + "line": 17 }, "start": { - "column": 9, - "line": 24 + "column": 7, + "line": 17 } } }, { - "id": "402", + "id": "379", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(30,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 29, - "line": 24 + "column": 25, + "line": 17 }, "start": { - "column": 9, - "line": 24 + "column": 7, + "line": 17 } } }, { - "id": "403", + "id": "380", "mutatorName": "EqualityOperator", - "replacement": "target !== undefined", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(30,5): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", + "replacement": "role !== undefined", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(20,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(21,20): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "493", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "727", + "728", + "729", + "730", + "731", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "975", + "976", + "977" ], "location": { "end": { - "column": 29, - "line": 24 + "column": 25, + "line": 17 }, "start": { - "column": 9, - "line": 24 + "column": 7, + "line": 17 } } }, { - "id": "404", + "id": "381", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(28,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(18,19): error TS18048: 'role' is possibly 'undefined'.\nsrc/modules/game/dto/base/game-player/transformers/player-side.transformer.ts(19,20): error TS18048: 'role' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "805" + "975" ], "location": { "end": { - "column": 6, - "line": 26 + "column": 4, + "line": 19 }, "start": { - "column": 31, - "line": 24 + "column": 27, + "line": 17 } } - }, + } + ], + "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport isObject from \"isobject\";\nimport { has } from \"lodash\";\nimport { roles } from \"../../../../../role/constants/role.constant\";\nimport type { ROLE_SIDES, ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\n\nfunction playerSideTransformer(params: TransformFnParams): unknown {\n if (!isObject(params.value) || !isObject(params.obj) || !has(params.obj as object, [\"role\", \"name\"])) {\n return params.value;\n }\n const obj = params.obj as { role: { name: ROLE_NAMES } };\n const value = params.value as {\n current: ROLE_SIDES;\n original: ROLE_SIDES;\n };\n const role = roles.find(({ name }) => name === obj.role.name);\n if (role === undefined) {\n return value;\n }\n value.current = role.side;\n value.original = role.side;\n return params.value;\n}\n\nexport { playerSideTransformer };" + }, + "src/modules/game/dto/base/transformers/game-players-position.transformer.ts": { + "language": "typescript", + "mutants": [ { - "id": "405", - "mutatorName": "ObjectLiteral", + "id": "382", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 4\n\n@@ -15,10 +15,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"sourceId\": \"7ddcbee08e782dd17c9b2b0b\",\n \"target\": Player {\n \"_id\": \"baa8c2aebc673eced8f6b57c\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -32,10 +33,11 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"targetId\": \"baa8c2aebc673eced8f6b57c\",\n },\n MakeGamePlayVoteWithRelationsDto {\n \"source\": Player {\n \"_id\": \"baa8c2aebc673eced8f6b57c\",\n \"attributes\": Array [],\n@@ -51,10 +53,11 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"sourceId\": \"baa8c2aebc673eced8f6b57c\",\n \"target\": Player {\n \"_id\": \"7ddcbee08e782dd17c9b2b0b\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n@@ -68,7 +71,8 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"targetId\": \"7ddcbee08e782dd17c9b2b0b\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:72:21)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, - "static": false, - "killedBy": [ - "806" - ], + "statusReason": "src/modules/game/dto/base/transformers/game-players-position.transformer.ts(4,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "993", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 103, - "line": 27 + "column": 2, + "line": 18 }, "start": { - "column": 36, - "line": 27 + "column": 77, + "line": 4 } } }, { - "id": "406", + "id": "383", "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 4\n\n@@ -15,10 +15,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"sourceId\": \"5e26e63fb80c2eac1b112a1d\",\n \"target\": Player {\n \"_id\": \"eb0dea245ce26378f62d6eaa\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -32,10 +33,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"targetId\": \"eb0dea245ce26378f62d6eaa\",\n },\n MakeGamePlayVoteWithRelationsDto {\n \"source\": Player {\n \"_id\": \"eb0dea245ce26378f62d6eaa\",\n \"attributes\": Array [],\n@@ -51,10 +53,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"sourceId\": \"eb0dea245ce26378f62d6eaa\",\n \"target\": Player {\n \"_id\": \"5e26e63fb80c2eac1b112a1d\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -68,7 +71,8 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"targetId\": \"5e26e63fb80c2eac1b112a1d\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:72:21)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "Array.isArray(params.value)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, - "static": false, + "testsCompleted": 62, + "static": true, "killedBy": [ - "806" + "517" ], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "993", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 101, - "line": 27 + "column": 35, + "line": 5 }, "start": { - "column": 97, - "line": 27 + "column": 7, + "line": 5 } } }, { - "id": "407", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", + "id": "384", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "993", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 39, - "line": 31 + "column": 35, + "line": 5 }, "start": { - "column": 12, - "line": 31 + "column": 7, + "line": 5 } } }, { - "id": "408", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(18,3): error TS2740: Type 'MakeGamePlayVoteDto' is missing the following properties from type 'MakeGamePlayVoteWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(32,7): error TS2322: Type 'string' is not assignable to type 'MakeGamePlayVoteWithRelationsDto'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "385", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "TypeError: Cannot read properties of null (reading 'some')\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:66:144)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:9:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 46, + "static": true, + "killedBy": [ + "993" + ], "coveredBy": [ - "572", - "804", - "805", - "806", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "993", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 8, - "line": 32 + "column": 35, + "line": 5 }, "start": { - "column": 6, - "line": 32 + "column": 7, + "line": 5 } } }, { - "id": "409", + "id": "386", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(35,100): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "TypeError: Cannot read properties of null (reading 'some')\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:66:144)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:9:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "993" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "807", - "808", - "809", - "813" + "993" ], "location": { "end": { - "column": 2, - "line": 49 + "column": 4, + "line": 7 }, "start": { - "column": 149, - "line": 35 + "column": 37, + "line": 5 } } }, { - "id": "410", + "id": "387", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(39,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 61, + "static": true, + "killedBy": [ + "517" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "807", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 44, - "line": 36 + "column": 100, + "line": 10 }, "start": { "column": 7, - "line": 36 + "line": 9 } } }, { - "id": "411", + "id": "388", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(39,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "statusReason": "TypeError: Cannot create property 'position' on string 'toto'\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:15:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 61, + "static": true, + "killedBy": [ + "994" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "807", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 44, - "line": 36 + "column": 100, + "line": 10 }, "start": { "column": 7, - "line": 36 + "line": 9 } } }, { - "id": "412", - "mutatorName": "EqualityOperator", - "replacement": "makeGamePlayDto.targets !== undefined", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(39,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, + "id": "389", + "mutatorName": "MethodExpression", + "replacement": "value.every(player => typeof player !== \"object\" || has(player, \"position\") && (player as {\n position: number | undefined;\n}).position !== undefined)", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "570", - "571", - "572", - "573", - "807", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 44, - "line": 36 + "column": 100, + "line": 10 }, "start": { "column": 7, - "line": 36 + "line": 9 } } }, { - "id": "413", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(37,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "571", - "572", - "807" + "id": "390", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "TypeError: Cannot create property 'position' on string 'toto'\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:15:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 45, + "static": true, + "killedBy": [ + "994" ], - "location": { - "end": { - "column": 4, - "line": 38 - }, - "start": { - "column": 46, - "line": 36 - } - } - }, - { - "id": "414", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(39,3): error TS2740: Type 'MakeGamePlayTargetDto' is missing the following properties from type 'MakeGamePlayTargetWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(39,79): error TS2345: Argument of type '(acc: MakeGamePlayTargetWithRelationsDto[], target: MakeGamePlayTargetDto) => void' is not assignable to parameter of type '(previousValue: MakeGamePlayTargetWithRelationsDto[], currentValue: MakeGamePlayTargetDto, currentIndex: number, array: MakeGamePlayTargetDto[]) => MakeGamePlayTargetWithRelationsDto[]'.\n Type 'void' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "570", - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 4, - "line": 48 + "column": 99, + "line": 10 }, "start": { - "column": 96, - "line": 39 + "column": 18, + "line": 9 } } }, { - "id": "415", + "id": "391", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(46,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "570", - "573", - "808", - "809", - "813" + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 50, + "static": true, + "killedBy": [ + "517" ], - "location": { - "end": { - "column": 29, - "line": 41 - }, - "start": { - "column": 9, - "line": 41 - } - } - }, - { - "id": "416", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(46,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "570", - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 29, - "line": 41 + "column": 99, + "line": 10 }, "start": { - "column": 9, - "line": 41 + "column": 28, + "line": 9 } } }, { - "id": "417", - "mutatorName": "EqualityOperator", - "replacement": "player !== undefined", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(46,5): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "392", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 201\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:513:35\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 58, + "static": true, + "killedBy": [ + "507" + ], "coveredBy": [ - "570", - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 29, - "line": 41 + "column": 99, + "line": 10 }, "start": { - "column": 9, - "line": 41 + "column": 28, + "line": 9 } } }, { - "id": "418", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(44,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, + "id": "393", + "mutatorName": "LogicalOperator", + "replacement": "typeof player !== \"object\" && has(player, \"position\") && (player as {\n position: number | undefined;\n}).position !== undefined", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "570", - "808" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 6, - "line": 43 + "column": 99, + "line": 10 }, "start": { - "column": 31, - "line": 41 + "column": 28, + "line": 9 } } }, { - "id": "419", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -1,7 +1,8 @@\n Array [\n MakeGamePlayTargetWithRelationsDto {\n+ \"drankPotion\": undefined,\n \"isInfected\": true,\n \"player\": Player {\n \"_id\": \"adbb8d8cdd6a7a45caaf0bb8\",\n \"attributes\": Array [],\n \"death\": undefined,\n@@ -16,12 +17,15 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n+ \"playerId\": \"adbb8d8cdd6a7a45caaf0bb8\",\n },\n MakeGamePlayTargetWithRelationsDto {\n+ \"drankPotion\": undefined,\n+ \"isInfected\": undefined,\n \"player\": Player {\n \"_id\": \"581c754ca8af1cee24ad1037\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -35,13 +39,15 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"581c754ca8af1cee24ad1037\",\n },\n MakeGamePlayTargetWithRelationsDto {\n \"drankPotion\": \"death\",\n+ \"isInfected\": undefined,\n \"player\": Player {\n \"_id\": \"81b81e2dafe33ecaf96706e0\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -55,7 +61,8 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"81b81e2dafe33ecaf96706e0\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:114:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "809" - ], + "id": "394", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": true, + "killedBy": [], "coveredBy": [ - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 103, - "line": 44 + "column": 54, + "line": 9 }, "start": { - "column": 36, - "line": 44 + "column": 28, + "line": 9 } } }, { - "id": "420", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 3\n\n@@ -16,10 +16,11 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"fe4ab5fd06f0ed7ccae0d1a5\",\n },\n MakeGamePlayTargetWithRelationsDto {\n \"player\": Player {\n \"_id\": \"dabcf4f0cad06babb8e582c7\",\n \"attributes\": Array [],\n@@ -35,10 +36,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"dabcf4f0cad06babb8e582c7\",\n },\n MakeGamePlayTargetWithRelationsDto {\n \"drankPotion\": \"death\",\n \"player\": Player {\n \"_id\": \"95267e4c4ccd1c90ba7b112e\",\n@@ -55,7 +57,8 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n+ \"playerId\": \"95267e4c4ccd1c90ba7b112e\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:114:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "395", + "mutatorName": "EqualityOperator", + "replacement": "typeof player === \"object\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, - "static": false, + "testsCompleted": 38, + "static": true, "killedBy": [ - "809" + "997" ], "coveredBy": [ - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 101, - "line": 44 + "column": 54, + "line": 9 }, "start": { - "column": 97, - "line": 44 + "column": 28, + "line": 9 } } }, { - "id": "421", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 61\n+ Received + 1\n\n- Array [\n- MakeGamePlayTargetWithRelationsDto {\n- \"isInfected\": true,\n- \"player\": Player {\n- \"_id\": \"92e5dbdd0a48c2adb9af45ff\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Green\",\n- \"position\": 4991457588936704,\n- \"role\": PlayerRole {\n- \"current\": \"three-brothers\",\n- \"isRevealed\": false,\n- \"original\": \"idiot\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- },\n- MakeGamePlayTargetWithRelationsDto {\n- \"player\": Player {\n- \"_id\": \"e7b455eb1bbac9ccefae8e7e\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Ronaldo\",\n- \"position\": 4888214716284928,\n- \"role\": PlayerRole {\n- \"current\": \"bear-tamer\",\n- \"isRevealed\": false,\n- \"original\": \"witch\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"werewolves\",\n- },\n- },\n- },\n- MakeGamePlayTargetWithRelationsDto {\n- \"drankPotion\": \"death\",\n- \"player\": Player {\n- \"_id\": \"be7048be79deb5cca75d7c3a\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Vivian\",\n- \"position\": 453305285214208,\n- \"role\": PlayerRole {\n- \"current\": \"seer\",\n- \"isRevealed\": true,\n- \"original\": \"little-girl\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"werewolves\",\n- },\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:114:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "809" - ], + "id": "396", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "src/modules/game/dto/base/transformers/game-players-position.transformer.ts(9,28): error TS2367: This comparison appears to be unintentional because the types '\"string\" | \"number\" | \"bigint\" | \"boolean\" | \"symbol\" | \"undefined\" | \"object\" | \"function\"' and '\"\"' have no overlap.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 41, - "line": 47 + "column": 54, + "line": 9 }, "start": { - "column": 12, - "line": 47 + "column": 46, + "line": 9 } } }, { - "id": "422", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(39,3): error TS2740: Type 'MakeGamePlayTargetDto' is missing the following properties from type 'MakeGamePlayTargetWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(48,7): error TS2322: Type 'string' is not assignable to type 'MakeGamePlayTargetWithRelationsDto'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "397", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players.0.position must not be less than 0\"\nReceived array: [\"one of the players.role must have at least one role from `werewolves` side\", \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:514:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 58, + "static": true, + "killedBy": [ + "507" + ], "coveredBy": [ - "570", - "573", - "808", - "809", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 8, - "line": 48 + "column": 99, + "line": 10 }, "start": { - "column": 6, - "line": 48 + "column": 5, + "line": 10 } } }, { - "id": "423", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(51,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "398", + "mutatorName": "LogicalOperator", + "replacement": "has(player, \"position\") || (player as {\n position: number | undefined;\n}).position !== undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 38, + "static": true, + "killedBy": [ + "997" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "810", - "811", - "812", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 2, - "line": 60 + "column": 99, + "line": 10 }, "start": { - "column": 121, - "line": 51 + "column": 5, + "line": 10 } } }, { - "id": "424", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(55,68): error TS2345: Argument of type 'ObjectId | undefined' is not assignable to parameter of type 'ObjectId'.\n Type 'undefined' is not assignable to type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(57,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, + "id": "399", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", + "static": true, "killedBy": [], "coveredBy": [ - "570", - "571", - "572", - "573", - "810", - "811", - "812", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 49, - "line": 52 + "column": 27, + "line": 10 }, "start": { - "column": 7, - "line": 52 + "column": 17, + "line": 10 } } }, { - "id": "425", + "id": "400", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(55,68): error TS2345: Argument of type 'ObjectId | undefined' is not assignable to parameter of type 'ObjectId'.\n Type 'undefined' is not assignable to type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(57,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1738023/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:540:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 52, + "static": true, + "killedBy": [ + "517" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "810", - "811", - "812", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 49, - "line": 52 + "column": 99, + "line": 10 }, "start": { - "column": 7, - "line": 52 + "column": 32, + "line": 10 } } }, { - "id": "426", + "id": "401", "mutatorName": "EqualityOperator", - "replacement": "makeGamePlayDto.chosenCardId !== undefined", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(55,68): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(57,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "replacement": "(player as {\n position: number | undefined;\n}).position === undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 38, + "static": true, + "killedBy": [ + "997" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "810", - "811", - "812", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "994", + "995", + "996", + "997" ], "location": { "end": { - "column": 49, - "line": 52 + "column": 99, + "line": 10 }, "start": { - "column": 7, - "line": 52 + "column": 32, + "line": 10 } } }, { - "id": "427", + "id": "402", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(53,68): error TS2345: Argument of type 'ObjectId | undefined' is not assignable to parameter of type 'ObjectId'.\n Type 'undefined' is not assignable to type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(55,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "statusReason": "TypeError: Cannot create property 'position' on string 'toto'\n at gamePlayersPositionTransformer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:15:44)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 16, + "static": true, + "killedBy": [ + "994" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "810" + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "994", + "995", + "996" ], "location": { "end": { "column": 4, - "line": 54 + "line": 12 }, "start": { - "column": 51, - "line": 52 + "column": 102, + "line": 10 } } }, { - "id": "428", + "id": "403", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: thrown: ResourceNotFoundException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:135:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:118:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:21:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, - "static": false, + "testsCompleted": 43, + "static": true, "killedBy": [ - "812" + "517" ], "coveredBy": [ - "811", - "812", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "997" ], "location": { "end": { - "column": 31, - "line": 56 + "column": 35, + "line": 14 }, "start": { - "column": 7, - "line": 56 + "column": 19, + "line": 14 } } }, { - "id": "429", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(57,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, + "id": "404", + "mutatorName": "EqualityOperator", + "replacement": "i <= value.length", + "statusReason": "undefinedCannot set properties of undefined (setting 'position') TypeError: Cannot set properties of undefined (setting 'position')\n at Object.gamePlayersPositionTransformer [as transformFn] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:412:24\n at Array.forEach ()\n at TransformOperationExecutor.applyCustomTransformations (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:411:15)\n at TransformOperationExecutor.transform (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:334:33)\n at ClassTransformer.plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/ClassTransformer.ts:77:21)\n at plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/index.ts:84:27)\n at createFakeCreateGameDto (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/factories/game/dto/create-game/create-game.dto.factory.ts:23:25)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:284:41\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:276:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:48:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34), undefinedCannot set properties of undefined (setting 'position') TypeError: Cannot set properties of undefined (setting 'position')\n at Object.gamePlayersPositionTransformer [as transformFn] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:412:24\n at Array.forEach ()\n at TransformOperationExecutor.applyCustomTransformations (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:411:15)\n at TransformOperationExecutor.transform (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:334:33)\n at ClassTransformer.plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/ClassTransformer.ts:77:21)\n at plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/index.ts:84:27)\n at createFakeCreateGameDto (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/factories/game/dto/create-game/create-game.dto.factory.ts:23:25)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:41:41\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:32:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:21:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "RuntimeError", + "static": true, "killedBy": [], "coveredBy": [ - "811", - "812", - "813" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "997" ], "location": { "end": { - "column": 31, - "line": 56 + "column": 35, + "line": 14 }, "start": { - "column": 7, - "line": 56 + "column": 19, + "line": 14 } } }, { - "id": "430", + "id": "405", "mutatorName": "EqualityOperator", - "replacement": "chosenCard !== undefined", + "replacement": "i >= value.length", "status": "Timeout", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "811", - "812", - "813" - ], - "location": { - "end": { - "column": 31, - "line": 56 - }, - "start": { - "column": 7, - "line": 56 - } - } - }, - { - "id": "431", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: ResourceNotFoundException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:131:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, - "static": false, - "killedBy": [ - "811" - ], - "coveredBy": [ - "811" + "164", + "165", + "174", + "175", + "183", + "184", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "255", + "256", + "517", + "518", + "519", + "692", + "693", + "694", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "910", + "911", + "912", + "913", + "997" ], "location": { "end": { - "column": 4, - "line": 58 + "column": 35, + "line": 14 }, "start": { - "column": 33, - "line": 56 + "column": 19, + "line": 14 } } }, { - "id": "432", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(62,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, + "id": "406", + "mutatorName": "UpdateOperator", + "replacement": "i--", + "statusReason": "undefinedCannot set properties of undefined (setting 'position') TypeError: Cannot set properties of undefined (setting 'position')\n at Object.gamePlayersPositionTransformer [as transformFn] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:412:24\n at Array.forEach ()\n at TransformOperationExecutor.applyCustomTransformations (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:411:15)\n at TransformOperationExecutor.transform (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:334:33)\n at ClassTransformer.plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/ClassTransformer.ts:77:21)\n at plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/index.ts:84:27)\n at createFakeCreateGameDto (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/factories/game/dto/create-game/create-game.dto.factory.ts:23:25)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:284:41\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:276:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:48:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34), undefinedCannot set properties of undefined (setting 'position') TypeError: Cannot set properties of undefined (setting 'position')\n at Object.gamePlayersPositionTransformer [as transformFn] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/src/modules/game/dto/base/transformers/game-players-position.transformer.ts:90:28)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:412:24\n at Array.forEach ()\n at TransformOperationExecutor.applyCustomTransformations (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:411:15)\n at TransformOperationExecutor.transform (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/TransformOperationExecutor.ts:334:33)\n at ClassTransformer.plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/ClassTransformer.ts:77:21)\n at plainToInstance (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/src/index.ts:84:27)\n at createFakeCreateGameDto (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/factories/game/dto/create-game/create-game.dto.factory.ts:23:25)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:41:41\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:32:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:21:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "RuntimeError", + "static": true, "killedBy": [], "coveredBy": [ - "570", - "571", - "572", - "573", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "997" ], "location": { "end": { - "column": 2, - "line": 71 + "column": 40, + "line": 14 }, "start": { - "column": 121, - "line": 62 + "column": 37, + "line": 14 } } }, { - "id": "433", - "mutatorName": "ObjectLiteral", + "id": "407", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 1\n\n@@ -3,10 +3,11 @@\n \"_id\": \"9811f9f4b4f4242dea8e7aaa\",\n \"isUsed\": false,\n \"recipient\": \"thief\",\n \"roleName\": \"wild-child\",\n },\n+ \"chosenCardId\": \"9811f9f4b4f4242dea8e7aaa\",\n \"chosenSide\": \"werewolves\",\n \"doesJudgeRequestAnotherVote\": true,\n \"targets\": Array [\n MakeGamePlayTargetWithRelationsDto {\n \"isInfected\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:175:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "813" - ], - "coveredBy": [ - "571", - "572", - "573", - "813" - ], - "location": { - "end": { - "column": 170, - "line": 66 - }, - "start": { - "column": 103, - "line": 66 - } - } - }, - { - "id": "434", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 1\n\n@@ -3,10 +3,11 @@\n \"_id\": \"f9eca4198cc7260b075f2f2c\",\n \"isUsed\": false,\n \"recipient\": \"thief\",\n \"roleName\": \"three-brothers\",\n },\n+ \"chosenCardId\": \"f9eca4198cc7260b075f2f2c\",\n \"chosenSide\": \"werewolves\",\n \"doesJudgeRequestAnotherVote\": true,\n \"targets\": Array [\n MakeGamePlayTargetWithRelationsDto {\n \"isInfected\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:175:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts:35:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, - "static": false, + "testsCompleted": 24, + "static": true, "killedBy": [ - "813" + "997" ], "coveredBy": [ - "571", - "572", - "573", - "813" + "164", + "165", + "174", + "175", + "187", + "195", + "196", + "197", + "206", + "207", + "211", + "212", + "221", + "222", + "223", + "230", + "231", + "232", + "245", + "248", + "251", + "517", + "518", + "519", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "880", + "882", + "883", + "884", + "997" ], "location": { "end": { - "column": 168, - "line": 66 + "column": 4, + "line": 16 }, "start": { - "column": 164, - "line": 66 + "column": 42, + "line": 14 } } } ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { API_RESOURCES } from \"../../../../shared/api/enums/api.enum\";\nimport { RESOURCE_NOT_FOUND_REASONS } from \"../../../../shared/exception/enums/resource-not-found-error.enum\";\nimport { ResourceNotFoundException } from \"../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { MakeGamePlayTargetWithRelationsDto } from \"../../dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto\";\nimport { MakeGamePlayVoteWithRelationsDto } from \"../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport { MakeGamePlayWithRelationsDto } from \"../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport type { MakeGamePlayDto } from \"../../dto/make-game-play/make-game-play.dto\";\nimport type { GameAdditionalCard } from \"../../schemas/game-additional-card/game-additional-card.schema\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport { getAdditionalCardWithId, getPlayerWithId } from \"../game.helper\";\n\nfunction getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto: MakeGamePlayDto, game: Game): MakeGamePlayVoteWithRelationsDto[] | undefined {\n if (makeGamePlayDto.votes === undefined) {\n return;\n }\n return makeGamePlayDto.votes.reduce((acc, vote) => {\n const source = getPlayerWithId(game, vote.sourceId);\n const target = getPlayerWithId(game, vote.targetId);\n if (source === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, vote.sourceId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_SOURCE);\n }\n if (target === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, vote.targetId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_TARGET);\n }\n const plainToInstanceOptions = { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true };\n const voteWithRelations = plainToInstance(MakeGamePlayVoteWithRelationsDto, vote, plainToInstanceOptions);\n voteWithRelations.source = source;\n voteWithRelations.target = target;\n return [...acc, voteWithRelations];\n }, []);\n}\n\nfunction getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto: MakeGamePlayDto, game: Game): MakeGamePlayTargetWithRelationsDto[] | undefined {\n if (makeGamePlayDto.targets === undefined) {\n return;\n }\n return makeGamePlayDto.targets.reduce((acc, target) => {\n const player = getPlayerWithId(game, target.playerId);\n if (player === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, target.playerId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_TARGET);\n }\n const plainToInstanceOptions = { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true };\n const targetWithRelations = plainToInstance(MakeGamePlayTargetWithRelationsDto, target, plainToInstanceOptions);\n targetWithRelations.player = player;\n return [...acc, targetWithRelations];\n }, []);\n}\n\nfunction getChosenCardFromMakeGamePlayDto(makeGamePlayDto: MakeGamePlayDto, game: Game): GameAdditionalCard | undefined {\n if (makeGamePlayDto.chosenCardId === undefined) {\n return;\n }\n const chosenCard = getAdditionalCardWithId(game.additionalCards, makeGamePlayDto.chosenCardId);\n if (chosenCard === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.GAME_ADDITIONAL_CARDS, makeGamePlayDto.chosenCardId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_CHOSEN_CARD);\n }\n return chosenCard;\n}\n\nfunction createMakeGamePlayDtoWithRelations(makeGamePlayDto: MakeGamePlayDto, game: Game): MakeGamePlayWithRelationsDto {\n const chosenCard = getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game);\n const targets = getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game);\n const votes = getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game);\n const makeGamePlayWithRelationsDto = plainToInstance(MakeGamePlayWithRelationsDto, makeGamePlayDto, { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n makeGamePlayWithRelationsDto.chosenCard = chosenCard;\n makeGamePlayWithRelationsDto.targets = targets;\n makeGamePlayWithRelationsDto.votes = votes;\n return makeGamePlayWithRelationsDto;\n}\n\nexport {\n getVotesWithRelationsFromMakeGamePlayDto,\n getTargetsWithRelationsFromMakeGamePlayDto,\n getChosenCardFromMakeGamePlayDto,\n createMakeGamePlayDtoWithRelations,\n};" + "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { has } from \"lodash\";\n\nfunction gamePlayersPositionTransformer(params: TransformFnParams): unknown {\n if (!Array.isArray(params.value)) {\n return params.value;\n }\n const value = params.value as unknown[];\n if (value.some(player => typeof player !== \"object\" ||\n has(player, \"position\") && (player as { position: number | undefined }).position !== undefined)) {\n return value;\n }\n const players = value as { position: number | undefined }[];\n for (let i = 0; i < value.length; i++) {\n players[i].position = i;\n }\n return value;\n}\n\nexport { gamePlayersPositionTransformer };" }, - "src/modules/game/helpers/game-victory/game-victory.helper.ts": { + "src/modules/game/helpers/game-phase/game-phase.helper.ts": { "language": "typescript", "mutants": [ { - "id": "435", + "id": "408", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(14,39): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-phase/game-phase.helper.ts(3,39): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "530", + "531", + "1048", + "1049" ], "location": { "end": { "column": 2, - "line": 17 + "line": 5 }, "start": { "column": 47, - "line": 14 + "line": 3 } } }, { - "id": "436", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 5323521831993345,\n \"turn\": 1950657751810048,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -226,6 +226,43 @@\n \"name\": \"seer\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"38db5eeda4393abcbfcbb243\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Barrett\",\n+ \"position\": 5120309464137728,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"adfd0dfd032dd93f84ecfd8f\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Jena\",\n+ \"position\": 8577201588928512,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 15, + "id": "409", + "mutatorName": "BooleanLiteral", + "replacement": "game.currentPlay", + "statusReason": "src/modules/game/helpers/game-phase/game-phase.helper.ts(4,3): error TS2322: Type 'GamePlay | null' is not assignable to type 'boolean'.\n Type 'null' is not assignable to type 'boolean'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "530", + "531", + "1048", + "1049" ], "location": { "end": { - "column": 138, - "line": 16 + "column": 27, + "line": 4 }, "start": { "column": 10, - "line": 16 + "line": 4 } } - }, + } + ], + "source": "import type { Game } from \"../../schemas/game.schema\";\n\nfunction isGamePhaseOver(game: Game): boolean {\n return !game.currentPlay;\n}\n\nexport { isGamePhaseOver };" + }, + "src/modules/game/helpers/game-play/game-play.factory.ts": { + "language": "typescript", + "mutants": [ { - "id": "437", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, + "id": "410", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(9,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "613" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "296", + "752" ], "location": { "end": { - "column": 138, - "line": 16 + "column": 2, + "line": 15 }, "start": { - "column": 10, - "line": 16 + "column": 88, + "line": 9 } } }, { - "id": "438", - "mutatorName": "LogicalOperator", - "replacement": "werewolvesSidedPlayers.length > 0 || !game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.VILLAGERS && isAlive)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 4695646309187585,\n \"turn\": 2086759376617472,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -226,6 +226,43 @@\n \"name\": \"seer\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"ef96a029e1ea1d0d8587ebce\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Ova\",\n+ \"position\": 2337987413147648,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"2c988d4522aead166209dc43\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Darrell\",\n+ \"position\": 7582971160690688,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 15, + "id": "411", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(10,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "296", + "752" ], "location": { "end": { - "column": 138, - "line": 16 + "column": 4, + "line": 14 }, "start": { - "column": 10, - "line": 16 + "column": 25, + "line": 10 } } }, { - "id": "439", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:34:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, + "id": "412", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(11,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "610" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "296", + "752" ], "location": { "end": { - "column": 43, - "line": 16 + "column": 74, + "line": 11 }, "start": { - "column": 10, - "line": 16 + "column": 34, + "line": 11 } } }, { - "id": "440", - "mutatorName": "EqualityOperator", - "replacement": "werewolvesSidedPlayers.length >= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:34:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "610" - ], + "id": "413", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(17,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "403", + "404", + "753" ], "location": { "end": { - "column": 43, - "line": 16 + "column": 2, + "line": 23 }, "start": { - "column": 10, - "line": 16 + "column": 85, + "line": 17 } } }, { - "id": "441", - "mutatorName": "EqualityOperator", - "replacement": "werewolvesSidedPlayers.length <= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:34:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "610" - ], + "id": "414", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(18,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "610", - "611", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "403", + "404", + "753" ], "location": { "end": { - "column": 43, - "line": 16 + "column": 4, + "line": 22 }, "start": { - "column": 10, - "line": 16 + "column": 25, + "line": 18 } } }, { - "id": "442", - "mutatorName": "BooleanLiteral", - "replacement": "game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.VILLAGERS && isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:56:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "612" - ], + "id": "415", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(19,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "403", + "404", + "753" ], "location": { "end": { - "column": 138, - "line": 16 + "column": 74, + "line": 19 }, "start": { - "column": 47, - "line": 16 + "column": 34, + "line": 19 } } }, { - "id": "443", - "mutatorName": "MethodExpression", - "replacement": "game.players.every(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.VILLAGERS && isAlive)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 8684541480796161,\n \"turn\": 2759951812395008,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -226,6 +226,43 @@\n \"name\": \"seer\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"cbbea591d1e6afcadb35834c\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Christop\",\n+ \"position\": 8843406493089792,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"6c4aa60affabb20a9dc5879e\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Ethelyn\",\n+ \"position\": 4288714360487936,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "572" - ], + "id": "416", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(25,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" - ], + "143", + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "303", + "530", + "754" + ], "location": { "end": { - "column": 138, - "line": 16 + "column": 2, + "line": 31 }, "start": { - "column": 48, - "line": 16 + "column": 76, + "line": 25 } } }, { - "id": "444", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 741704564998145,\n \"turn\": 3700035682304000,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -226,6 +226,43 @@\n \"name\": \"seer\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"9d972e2c70c7ebea27efc8b9\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Madalyn\",\n+ \"position\": 641854349508608,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"6e78fb3a38b4ac5cccef11e0\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Vernice\",\n+ \"position\": 2599352885313536,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "572" - ], + "id": "417", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(26,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "143", + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "303", + "530", + "754" ], "location": { "end": { - "column": 137, - "line": 16 + "column": 4, + "line": 30 }, "start": { - "column": 66, - "line": 16 + "column": 25, + "line": 26 } } }, { - "id": "445", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "613" - ], + "id": "418", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(27,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "143", + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "303", + "530", + "754" ], "location": { "end": { - "column": 137, - "line": 16 + "column": 61, + "line": 27 }, "start": { - "column": 89, - "line": 16 + "column": 34, + "line": 27 } } }, { - "id": "446", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 8416869786583041,\n \"turn\": 7683630161723392,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -226,6 +226,43 @@\n \"name\": \"seer\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"a28231f08c30bace7ddbb76e\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Helene\",\n+ \"position\": 3675927951179776,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"714007e04de8e333f3fd2639\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Herbert\",\n+ \"position\": 7325303934287872,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "572" - ], + "id": "419", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(33,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "144", + "145", + "471", + "517", + "518", + "755" ], "location": { "end": { - "column": 137, - "line": 16 + "column": 2, + "line": 39 }, "start": { - "column": 89, - "line": 16 + "column": 84, + "line": 33 } } }, { - "id": "447", - "mutatorName": "LogicalOperator", - "replacement": "side.current === ROLE_SIDES.VILLAGERS || isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "613" - ], + "id": "420", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(34,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "144", + "145", + "471", + "517", + "518", + "755" ], "location": { "end": { - "column": 137, - "line": 16 + "column": 4, + "line": 38 }, "start": { - "column": 89, - "line": 16 + "column": 25, + "line": 34 } } }, { - "id": "448", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, + "id": "421", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(35,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "144", + "145", + "471", + "517", + "518", + "755" ], "location": { "end": { - "column": 126, - "line": 16 + "column": 61, + "line": 35 }, "start": { - "column": 89, - "line": 16 + "column": 34, + "line": 35 } } }, { - "id": "449", - "mutatorName": "EqualityOperator", - "replacement": "side.current !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "613" - ], + "id": "422", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(41,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "612", - "613", - "649", - "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "756" ], "location": { "end": { - "column": 126, - "line": 16 + "column": 2, + "line": 47 }, "start": { - "column": 89, - "line": 16 + "column": 85, + "line": 41 } } }, { - "id": "450", - "mutatorName": "BlockStatement", + "id": "423", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(19,38): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(42,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "756" ], "location": { "end": { - "column": 2, - "line": 22 + "column": 4, + "line": 46 }, "start": { - "column": 46, - "line": 19 + "column": 25, + "line": 42 } } }, { - "id": "451", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, + "id": "424", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(43,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "756" ], "location": { "end": { - "column": 138, - "line": 21 + "column": 60, + "line": 43 }, "start": { - "column": 10, - "line": 21 + "column": 34, + "line": 43 } } }, { - "id": "452", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "425", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(49,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "757" ], "location": { "end": { - "column": 138, - "line": 21 + "column": 2, + "line": 55 }, "start": { - "column": 10, - "line": 21 + "column": 95, + "line": 49 } } }, { - "id": "453", - "mutatorName": "LogicalOperator", - "replacement": "villagersSidedPlayers.length > 0 || !game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.WEREWOLVES && isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, - "static": false, - "killedBy": [ - "614" - ], + "id": "426", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(50,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "757" ], "location": { "end": { - "column": 138, - "line": 21 + "column": 4, + "line": 54 }, "start": { - "column": 10, - "line": 21 + "column": 25, + "line": 50 } } }, { - "id": "454", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, - "static": false, - "killedBy": [ - "614" - ], + "id": "427", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(51,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "757" ], "location": { "end": { - "column": 42, - "line": 21 + "column": 71, + "line": 51 }, "start": { - "column": 10, - "line": 21 + "column": 34, + "line": 51 } } }, { - "id": "455", - "mutatorName": "EqualityOperator", - "replacement": "villagersSidedPlayers.length >= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, - "static": false, - "killedBy": [ - "614" - ], + "id": "428", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(57,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "415", + "758" ], "location": { "end": { - "column": 42, - "line": 21 + "column": 2, + "line": 63 }, "start": { - "column": 10, - "line": 21 + "column": 88, + "line": 57 } } }, { - "id": "456", - "mutatorName": "EqualityOperator", - "replacement": "villagersSidedPlayers.length <= 0", - "status": "Timeout", - "static": false, + "id": "429", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(58,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "614", - "615", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "415", + "758" ], "location": { "end": { - "column": 42, - "line": 21 + "column": 4, + "line": 62 }, "start": { - "column": 10, - "line": 21 + "column": 25, + "line": 58 } } }, { - "id": "457", - "mutatorName": "BooleanLiteral", - "replacement": "game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.WEREWOLVES && isAlive)", - "status": "Timeout", - "static": false, + "id": "430", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(59,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "415", + "758" ], "location": { "end": { - "column": 138, - "line": 21 + "column": 64, + "line": 59 }, "start": { - "column": 46, - "line": 21 + "column": 34, + "line": 59 } } }, { - "id": "458", - "mutatorName": "MethodExpression", - "replacement": "game.players.every(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.WEREWOLVES && isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "616" - ], + "id": "431", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(65,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "759" ], "location": { "end": { - "column": 138, - "line": 21 + "column": 2, + "line": 71 }, "start": { - "column": 47, - "line": 21 + "column": 87, + "line": 65 } } }, { - "id": "459", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "616" - ], + "id": "432", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(66,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "759" ], "location": { "end": { - "column": 137, - "line": 21 + "column": 4, + "line": 70 }, "start": { - "column": 65, - "line": 21 + "column": 25, + "line": 66 } } }, { - "id": "460", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, + "id": "433", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(67,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "759" ], "location": { "end": { - "column": 137, - "line": 21 + "column": 63, + "line": 67 }, "start": { - "column": 88, - "line": 21 + "column": 34, + "line": 67 } } }, { - "id": "461", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "616" - ], + "id": "434", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(73,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "760" ], "location": { "end": { - "column": 137, - "line": 21 + "column": 2, + "line": 79 }, "start": { - "column": 88, - "line": 21 + "column": 90, + "line": 73 } } }, { - "id": "462", - "mutatorName": "LogicalOperator", - "replacement": "side.current === ROLE_SIDES.WEREWOLVES || isAlive", - "status": "Timeout", - "static": false, + "id": "435", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(74,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "760" ], "location": { "end": { - "column": 137, - "line": 21 + "column": 4, + "line": 78 }, "start": { - "column": 88, - "line": 21 + "column": 25, + "line": 74 } } }, { - "id": "463", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:109:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "617" - ], + "id": "436", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(75,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "760" ], "location": { "end": { - "column": 126, - "line": 21 + "column": 65, + "line": 75 }, "start": { - "column": 88, - "line": 21 + "column": 34, + "line": 75 } } }, { - "id": "464", - "mutatorName": "EqualityOperator", - "replacement": "side.current !== ROLE_SIDES.WEREWOLVES", - "status": "Timeout", - "static": false, + "id": "437", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(81,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "616", - "617", - "650", - "653", - "654", - "661", - "662" + "761" ], "location": { "end": { - "column": 126, - "line": 21 + "column": 2, + "line": 87 }, "start": { - "column": 88, - "line": 21 + "column": 78, + "line": 81 } } }, { - "id": "465", - "mutatorName": "BlockStatement", + "id": "438", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(24,35): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(82,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "761" ], "location": { "end": { - "column": 2, - "line": 30 + "column": 4, + "line": 86 }, "start": { - "column": 43, - "line": 24 + "column": 25, + "line": 82 } } }, { - "id": "466", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "618" - ], + "id": "439", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(83,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "761" ], "location": { "end": { - "column": 5, - "line": 29 + "column": 58, + "line": 83 }, "start": { - "column": 10, - "line": 26 + "column": 34, + "line": 83 } } }, { - "id": "467", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "622" - ], + "id": "440", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(89,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "762" ], "location": { "end": { - "column": 5, - "line": 29 + "column": 2, + "line": 95 }, "start": { - "column": 10, - "line": 26 + "column": 89, + "line": 89 } } }, { - "id": "468", - "mutatorName": "LogicalOperator", - "replacement": "lovers.length > 0 || game.players.every(player => {\n const isPlayerInLove = doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game);\n return isPlayerInLove && player.isAlive || !isPlayerInLove && !player.isAlive;\n})", - "status": "Timeout", - "static": false, + "id": "441", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(90,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "762" ], "location": { "end": { - "column": 5, - "line": 29 + "column": 4, + "line": 94 }, "start": { - "column": 10, - "line": 26 + "column": 25, + "line": 90 } } }, { - "id": "469", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, + "id": "442", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(91,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "762" ], "location": { "end": { - "column": 27, - "line": 26 + "column": 65, + "line": 91 }, "start": { - "column": 10, - "line": 26 + "column": 34, + "line": 91 } } }, { - "id": "470", - "mutatorName": "EqualityOperator", - "replacement": "lovers.length >= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "618" - ], + "id": "443", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(97,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "763" ], "location": { "end": { - "column": 27, - "line": 26 + "column": 2, + "line": 103 }, "start": { - "column": 10, - "line": 26 + "column": 88, + "line": 97 } } }, { - "id": "471", - "mutatorName": "EqualityOperator", - "replacement": "lovers.length <= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "618" - ], + "id": "444", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(98,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "763" ], "location": { "end": { - "column": 27, - "line": 26 + "column": 4, + "line": 102 }, "start": { - "column": 10, - "line": 26 + "column": 25, + "line": 98 } } }, { - "id": "472", - "mutatorName": "MethodExpression", - "replacement": "game.players.some(player => {\n const isPlayerInLove = doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game);\n return isPlayerInLove && player.isAlive || !isPlayerInLove && !player.isAlive;\n})", - "status": "Timeout", - "static": false, + "id": "445", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(99,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "763" ], "location": { "end": { - "column": 5, - "line": 29 + "column": 64, + "line": 99 }, "start": { - "column": 31, - "line": 26 + "column": 34, + "line": 99 } } }, { - "id": "473", + "id": "446", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", - "static": false, + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(105,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "764" ], "location": { "end": { - "column": 4, - "line": 29 + "column": 2, + "line": 111 }, "start": { - "column": 60, - "line": 26 + "column": 95, + "line": 105 } } }, { - "id": "474", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:141:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "620" - ], + "id": "447", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(106,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "764" ], "location": { "end": { - "column": 82, - "line": 28 + "column": 4, + "line": 110 }, "start": { - "column": 12, - "line": 28 + "column": 25, + "line": 106 } } }, { - "id": "475", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "622" - ], + "id": "448", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(107,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "764" ], "location": { "end": { - "column": 82, - "line": 28 + "column": 69, + "line": 107 }, "start": { - "column": 12, - "line": 28 + "column": 34, + "line": 107 } } }, { - "id": "476", - "mutatorName": "LogicalOperator", - "replacement": "isPlayerInLove && player.isAlive && !isPlayerInLove && !player.isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "622" - ], + "id": "449", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(113,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "765" ], "location": { "end": { - "column": 82, - "line": 28 + "column": 2, + "line": 119 }, "start": { - "column": 12, - "line": 28 + "column": 92, + "line": 113 } } }, { - "id": "477", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "450", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(114,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "765" ], "location": { "end": { - "column": 44, - "line": 28 + "column": 4, + "line": 118 }, "start": { - "column": 12, - "line": 28 + "column": 25, + "line": 114 } } }, { - "id": "478", - "mutatorName": "LogicalOperator", - "replacement": "isPlayerInLove || player.isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:141:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "620" - ], + "id": "451", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(115,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "765" ], "location": { "end": { - "column": 44, - "line": 28 + "column": 66, + "line": 115 }, "start": { - "column": 12, - "line": 28 + "column": 34, + "line": 115 } } }, { - "id": "479", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "622" - ], + "id": "452", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(121,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "766" ], "location": { "end": { - "column": 82, - "line": 28 + "column": 2, + "line": 127 }, "start": { - "column": 48, - "line": 28 + "column": 79, + "line": 121 } } }, { - "id": "480", - "mutatorName": "LogicalOperator", - "replacement": "!isPlayerInLove || !player.isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:141:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "620" - ], + "id": "453", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(122,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "766" ], "location": { "end": { - "column": 82, - "line": 28 + "column": 4, + "line": 126 }, "start": { - "column": 48, - "line": 28 + "column": 25, + "line": 122 } } }, { - "id": "481", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerInLove", - "status": "Timeout", - "static": false, + "id": "454", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(123,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "766" ], "location": { "end": { - "column": 63, - "line": 28 + "column": 60, + "line": 123 }, "start": { - "column": 48, - "line": 28 + "column": 34, + "line": 123 } } }, { - "id": "482", - "mutatorName": "BooleanLiteral", - "replacement": "player.isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "622" - ], + "id": "455", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(129,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "620", - "621", - "622", - "657" + "767" ], "location": { "end": { - "column": 82, - "line": 28 + "column": 2, + "line": 135 }, "start": { - "column": 67, - "line": 28 + "column": 82, + "line": 129 } } }, { - "id": "483", - "mutatorName": "BlockStatement", + "id": "456", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(32,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(130,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "653", - "654", - "659", - "660", - "661", - "662" + "767" ], "location": { "end": { - "column": 2, - "line": 36 + "column": 4, + "line": 134 }, "start": { - "column": 52, - "line": 32 + "column": 25, + "line": 130 } } }, { - "id": "484", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "623" - ], + "id": "457", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(131,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "653", - "654", - "659", - "660", - "661", - "662" + "767" ], "location": { "end": { - "column": 117, - "line": 35 + "column": 60, + "line": 131 }, "start": { - "column": 10, - "line": 34 + "column": 34, + "line": 131 } } }, { - "id": "485", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "458", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(137,72): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "653", - "654", - "659", - "660", - "661", - "662" + "425", + "768" ], "location": { "end": { - "column": 117, - "line": 35 + "column": 2, + "line": 143 }, "start": { - "column": 10, - "line": 34 + "column": 81, + "line": 137 } } }, { - "id": "486", - "mutatorName": "LogicalOperator", - "replacement": "!!whiteWerewolfPlayer || game.players.every(({\n role,\n isAlive\n}) => role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive || role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "623" - ], + "id": "459", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(138,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "653", - "654", - "659", - "660", - "661", - "662" + "425", + "768" ], "location": { "end": { - "column": 117, - "line": 35 + "column": 4, + "line": 142 }, "start": { - "column": 10, - "line": 34 + "column": 25, + "line": 138 } } }, { - "id": "487", - "mutatorName": "BooleanLiteral", - "replacement": "!whiteWerewolfPlayer", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "623" - ], + "id": "460", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(139,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "653", - "654", - "659", - "660", - "661", - "662" + "425", + "768" ], "location": { "end": { - "column": 31, - "line": 34 + "column": 61, + "line": 139 }, "start": { - "column": 10, - "line": 34 + "column": 34, + "line": 139 } } }, { - "id": "488", - "mutatorName": "BooleanLiteral", - "replacement": "whiteWerewolfPlayer", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "623" - ], + "id": "461", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(145,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "653", - "654", - "659", - "660", - "661", - "662" + "769" ], "location": { "end": { - "column": 31, - "line": 34 + "column": 2, + "line": 151 }, "start": { - "column": 11, - "line": 34 + "column": 85, + "line": 145 } } }, { - "id": "489", - "mutatorName": "MethodExpression", - "replacement": "game.players.some(({\n role,\n isAlive\n}) => role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive || role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "625" - ], + "id": "462", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(146,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "769" ], "location": { "end": { - "column": 117, - "line": 35 + "column": 4, + "line": 150 }, "start": { - "column": 35, - "line": 34 + "column": 25, + "line": 146 } } }, { - "id": "490", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "627" - ], + "id": "463", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(147,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "769" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 60, + "line": 147 }, "start": { - "column": 54, - "line": 34 + "column": 34, + "line": 147 } } }, { - "id": "491", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "625" - ], - "coveredBy": [ - "625", - "626", - "627", - "659" + "id": "464", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(153,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], + "coveredBy": [ + "770" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 2, + "line": 159 }, "start": { - "column": 5, - "line": 35 + "column": 84, + "line": 153 } } }, { - "id": "492", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "627" - ], + "id": "465", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(154,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "770" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 4, + "line": 158 }, "start": { - "column": 5, - "line": 35 + "column": 25, + "line": 154 } } }, { - "id": "493", - "mutatorName": "LogicalOperator", - "replacement": "role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive && role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "627" - ], + "id": "466", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(155,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "770" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 65, + "line": 155 }, "start": { - "column": 5, - "line": 35 + "column": 34, + "line": 155 } } }, { - "id": "494", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "467", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(161,71): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "771" ], "location": { "end": { - "column": 58, - "line": 35 + "column": 2, + "line": 167 }, "start": { - "column": 5, - "line": 35 + "column": 80, + "line": 161 } } }, { - "id": "495", - "mutatorName": "LogicalOperator", - "replacement": "role.current === ROLE_NAMES.WHITE_WEREWOLF || isAlive", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(35,62): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.WEREWOLF | ROLE_NAMES.BIG_BAD_WOLF | ROLE_NAMES.VILE_FATHER_OF_WOLVES | ROLE_NAMES.VILLAGER | ROLE_NAMES.VILLAGER_VILLAGER | ROLE_NAMES.SEER | ROLE_NAMES.CUPID | ... 18 more ... | ROLE_NAMES.RAVEN' and 'ROLE_NAMES.WHITE_WEREWOLF' have no overlap.\n", + "id": "468", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(162,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "771" ], "location": { "end": { - "column": 58, - "line": 35 + "column": 4, + "line": 166 }, "start": { - "column": 5, - "line": 35 + "column": 25, + "line": 162 } } }, { - "id": "496", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "625" - ], + "id": "469", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(163,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "771" ], "location": { "end": { - "column": 47, - "line": 35 + "column": 60, + "line": 163 }, "start": { - "column": 5, - "line": 35 + "column": 34, + "line": 163 } } }, { - "id": "497", - "mutatorName": "EqualityOperator", - "replacement": "role.current !== ROLE_NAMES.WHITE_WEREWOLF", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "627" - ], + "id": "470", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(169,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "772" ], "location": { "end": { - "column": 47, - "line": 35 + "column": 2, + "line": 175 }, "start": { - "column": 5, - "line": 35 + "column": 78, + "line": 169 } } }, { - "id": "498", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "471", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(170,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "772" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 4, + "line": 174 }, "start": { - "column": 62, - "line": 35 + "column": 25, + "line": 170 } } }, { - "id": "499", - "mutatorName": "LogicalOperator", - "replacement": "role.current !== ROLE_NAMES.WHITE_WEREWOLF || !isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "625" - ], + "id": "472", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(171,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "772" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 59, + "line": 171 }, "start": { - "column": 62, - "line": 35 + "column": 34, + "line": 171 } } }, { - "id": "500", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:205:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "626" - ], + "id": "473", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(177,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "773" ], "location": { "end": { - "column": 104, - "line": 35 + "column": 2, + "line": 183 }, "start": { - "column": 62, - "line": 35 + "column": 86, + "line": 177 } } }, { - "id": "501", - "mutatorName": "EqualityOperator", - "replacement": "role.current === ROLE_NAMES.WHITE_WEREWOLF", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "627" - ], + "id": "474", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(178,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "773" ], "location": { "end": { - "column": 104, - "line": 35 + "column": 4, + "line": 182 }, "start": { - "column": 62, - "line": 35 + "column": 25, + "line": 178 } } }, { - "id": "502", - "mutatorName": "BooleanLiteral", - "replacement": "isAlive", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "627" - ], + "id": "475", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(179,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "625", - "626", - "627", - "659" + "773" ], "location": { "end": { - "column": 116, - "line": 35 + "column": 69, + "line": 179 }, "start": { - "column": 108, - "line": 35 + "column": 34, + "line": 179 } } }, { - "id": "503", + "id": "476", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(38,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(185,74): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "774" ], "location": { "end": { "column": 2, - "line": 44 + "line": 191 }, "start": { - "column": 48, - "line": 38 + "column": 83, + "line": 185 } } }, { - "id": "504", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:224:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, - "static": false, - "killedBy": [ - "628" - ], + "id": "477", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(186,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "774" ], "location": { "end": { - "column": 86, - "line": 43 + "column": 4, + "line": 190 }, "start": { - "column": 10, - "line": 42 + "column": 25, + "line": 186 } } }, { - "id": "505", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:297:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, - "static": false, - "killedBy": [ - "634" - ], + "id": "478", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(187,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "774" ], "location": { "end": { - "column": 86, - "line": 43 + "column": 67, + "line": 187 }, "start": { - "column": 10, - "line": 42 + "column": 34, + "line": 187 } } }, { - "id": "506", - "mutatorName": "LogicalOperator", - "replacement": "!!piedPiperPlayer && isPlayerAliveAndPowerful(piedPiperPlayer, game) && !leftToCharmPlayers.length || !isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(42,138): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "id": "479", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(193,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "775" ], "location": { "end": { - "column": 86, - "line": 43 + "column": 2, + "line": 199 }, "start": { - "column": 10, - "line": 42 + "column": 82, + "line": 193 } } }, { - "id": "507", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "id": "480", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(194,25): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "775" ], "location": { "end": { - "column": 108, - "line": 42 + "column": 4, + "line": 198 }, "start": { - "column": 10, - "line": 42 + "column": 25, + "line": 194 } } }, { - "id": "508", - "mutatorName": "LogicalOperator", - "replacement": "!!piedPiperPlayer && isPlayerAliveAndPowerful(piedPiperPlayer, game) || !leftToCharmPlayers.length", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "id": "481", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(195,34): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlaySource'.\n Property 'name' is missing in type '{}' but required in type 'GamePlaySource'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "775" ], "location": { "end": { - "column": 108, - "line": 42 + "column": 68, + "line": 195 }, "start": { - "column": 10, - "line": 42 + "column": 34, + "line": 195 } } }, { - "id": "509", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "id": "482", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(201,64): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "143", + "144", + "145", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "303", + "403", + "404", + "415", + "425", + "471", + "517", + "518", + "530", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "760", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "770", + "771", + "772", + "773", + "774", + "775", + "776", + "777" ], "location": { "end": { - "column": 78, - "line": 42 + "column": 2, + "line": 203 }, "start": { - "column": 10, - "line": 42 + "column": 79, + "line": 201 } } }, { - "id": "510", - "mutatorName": "LogicalOperator", - "replacement": "!!piedPiperPlayer || isPlayerAliveAndPowerful(piedPiperPlayer, game)", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(42,56): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "id": "483", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 1\n\n@@ -17,6 +17,7 @@\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n ],\n+ \"tata\": \"toto\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts:286:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 46, + "static": true, + "killedBy": [ + "776" ], - "location": { - "end": { - "column": 78, - "line": 42 - }, - "start": { - "column": 10, - "line": 42 - } - } - }, - { - "id": "511", - "mutatorName": "BooleanLiteral", - "replacement": "!piedPiperPlayer", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,55): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(44,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "143", + "144", + "145", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "303", + "403", + "404", + "415", + "425", + "471", + "517", + "518", + "530", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "760", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "770", + "771", + "772", + "773", + "774", + "775", + "776", + "777" ], "location": { "end": { - "column": 27, - "line": 42 + "column": 125, + "line": 202 }, "start": { - "column": 10, - "line": 42 + "column": 58, + "line": 202 } } }, { - "id": "512", + "id": "484", "mutatorName": "BooleanLiteral", - "replacement": "piedPiperPlayer", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,55): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(44,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 1\n\n@@ -17,6 +17,7 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n+ \"tata\": \"toto\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts:286:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 46, + "static": true, + "killedBy": [ + "776" + ], "coveredBy": [ - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "143", + "144", + "145", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "303", + "403", + "404", + "415", + "425", + "471", + "517", + "518", + "530", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "760", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "770", + "771", + "772", + "773", + "774", + "775", + "776", + "777" ], "location": { "end": { - "column": 27, - "line": 42 + "column": 123, + "line": 202 }, "start": { - "column": 11, - "line": 42 + "column": 119, + "line": 202 } } }, { - "id": "513", - "mutatorName": "BooleanLiteral", - "replacement": "leftToCharmPlayers.length", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,3): error TS2322: Type 'number | boolean' is not assignable to type 'boolean'.\n Type 'number' is not assignable to type 'boolean'.\n", + "id": "485", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.factory.ts(205,46): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "633", - "634", - "635", - "653", - "658" + "143", + "144", + "145", + "146", + "159", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "303", + "403", + "404", + "415", + "425", + "471", + "517", + "518", + "519", + "530", + "531", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "760", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "770", + "771", + "772", + "773", + "774", + "775", + "777" ], "location": { "end": { - "column": 108, - "line": 42 + "column": 2, + "line": 207 }, "start": { - "column": 82, - "line": 42 + "column": 55, + "line": 205 } } }, { - "id": "514", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:263:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "486", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, - "static": false, + "testsCompleted": 47, + "static": true, "killedBy": [ - "633" + "517" ], "coveredBy": [ - "633", - "634", - "635", - "653", - "658" + "143", + "144", + "145", + "146", + "159", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "303", + "403", + "404", + "415", + "425", + "471", + "517", + "518", + "519", + "530", + "531", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "760", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "770", + "771", + "772", + "773", + "774", + "775", + "777" ], "location": { "end": { - "column": 85, - "line": 43 + "column": 113, + "line": 206 }, "start": { - "column": 6, - "line": 43 + "column": 46, + "line": 206 } } }, { - "id": "515", - "mutatorName": "LogicalOperator", - "replacement": "!isPowerlessIfInfected && piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:276:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "487", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -8,34 +8,38 @@\n },\n },\n GamePlay {\n \"action\": \"vote\",\n \"cause\": \"angel-presence\",\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"choose-card\",\n \"cause\": undefined,\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"thief\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"choose-side\",\n \"cause\": undefined,\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"dog-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"charm\",\n \"cause\": undefined,\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"cupid\",\n \"players\": undefined,\n },\n },\n@@ -56,18 +60,20 @@\n },\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"lovers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n },\n },\n@@ -88,10 +94,11 @@\n },\n },\n GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n+ \"isFirstNightOnly\": true,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n },\n },\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, - "static": false, + "testsCompleted": 49, + "static": true, "killedBy": [ - "634" + "145" ], "coveredBy": [ - "633", - "634", - "635", - "653", - "658" + "143", + "144", + "145", + "146", + "159", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "303", + "403", + "404", + "415", + "425", + "471", + "517", + "518", + "519", + "530", + "531", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "760", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "770", + "771", + "772", + "773", + "774", + "775", + "777" ], "location": { "end": { - "column": 85, - "line": 43 + "column": 111, + "line": 206 }, "start": { - "column": 6, - "line": 43 + "column": 107, + "line": 206 } } - }, + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES } from \"../../../role/enums/role.enum\";\nimport { GAME_PLAY_ACTIONS } from \"../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../enums/player.enum\";\nimport { GamePlaySource } from \"../../schemas/game-play/game-play-source/game-play-source.schema\";\nimport { GamePlay } from \"../../schemas/game-play/game-play.schema\";\n\nfunction createGamePlaySheriffSettlesVotes(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.SETTLE_VOTES,\n ...gamePlay,\n });\n}\n\nfunction createGamePlaySheriffDelegates(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.DELEGATE,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayAllVote(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.VOTE,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayAllElectSheriff(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayThiefChoosesCard(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.THIEF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_CARD,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayStutteringJudgeChoosesSign(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.STUTTERING_JUDGE }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIGN,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayScapegoatBansVoting(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.SCAPEGOAT }),\n action: GAME_PLAY_ACTIONS.BAN_VOTING,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayDogWolfChoosesSide(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.DOG_WOLF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIDE,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWildChildChoosesModel(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayFoxSniffs(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.FOX }),\n action: GAME_PLAY_ACTIONS.SNIFF,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayCharmedMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.CHARMED }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayLoversMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.LOVERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayThreeBrothersMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.THREE_BROTHERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayTwoSistersMeetEachOther(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.TWO_SISTERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayRavenMarks(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.RAVEN }),\n action: GAME_PLAY_ACTIONS.MARK,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayGuardProtects(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.GUARD }),\n action: GAME_PLAY_ACTIONS.PROTECT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayHunterShoots(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.HUNTER }),\n action: GAME_PLAY_ACTIONS.SHOOT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWitchUsesPotions(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.WITCH }),\n action: GAME_PLAY_ACTIONS.USE_POTIONS,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayPiedPiperCharms(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.PIED_PIPER }),\n action: GAME_PLAY_ACTIONS.CHARM,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayCupidCharms(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.CUPID }),\n action: GAME_PLAY_ACTIONS.CHARM,\n ...gamePlay,\n });\n}\n\nfunction createGamePlaySeerLooks(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.SEER }),\n action: GAME_PLAY_ACTIONS.LOOK,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWhiteWerewolfEats(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.WHITE_WEREWOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayBigBadWolfEats(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: ROLE_NAMES.BIG_BAD_WOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlayWerewolvesEat(gamePlay: Partial = {}): GamePlay {\n return createGamePlay({\n source: createGamePlaySource({ name: PLAYER_GROUPS.WEREWOLVES }),\n action: GAME_PLAY_ACTIONS.EAT,\n ...gamePlay,\n });\n}\n\nfunction createGamePlaySource(gamePlaySource: GamePlaySource): GamePlaySource {\n return plainToInstance(GamePlaySource, gamePlaySource, { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n}\n\nfunction createGamePlay(gamePlay: GamePlay): GamePlay {\n return plainToInstance(GamePlay, gamePlay, { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n}\n\nexport {\n createGamePlaySheriffSettlesVotes,\n createGamePlaySheriffDelegates,\n createGamePlayAllVote,\n createGamePlayAllElectSheriff,\n createGamePlayThiefChoosesCard,\n createGamePlayStutteringJudgeChoosesSign,\n createGamePlayScapegoatBansVoting,\n createGamePlayDogWolfChoosesSide,\n createGamePlayWildChildChoosesModel,\n createGamePlayFoxSniffs,\n createGamePlayCharmedMeetEachOther,\n createGamePlayLoversMeetEachOther,\n createGamePlayThreeBrothersMeetEachOther,\n createGamePlayTwoSistersMeetEachOther,\n createGamePlayRavenMarks,\n createGamePlayGuardProtects,\n createGamePlayHunterShoots,\n createGamePlayWitchUsesPotions,\n createGamePlayPiedPiperCharms,\n createGamePlayCupidCharms,\n createGamePlaySeerLooks,\n createGamePlayWhiteWerewolfEats,\n createGamePlayBigBadWolfEats,\n createGamePlayWerewolvesEat,\n createGamePlaySource,\n createGamePlay,\n};" + }, + "src/modules/game/helpers/game-play/game-play.helper.ts": { + "language": "typescript", + "mutants": [ { - "id": "516", - "mutatorName": "BooleanLiteral", - "replacement": "isPowerlessIfInfected", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:263:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "488", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(16,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "633" - ], + "killedBy": [], "coveredBy": [ - "633", - "634", - "635", - "653", - "658" + "529", + "530", + "531", + "778", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 28, - "line": 43 + "column": 2, + "line": 35 }, "start": { - "column": 6, - "line": 43 + "column": 145, + "line": 16 } } }, { - "id": "517", + "id": "489", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:289:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(20,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "635" - ], + "killedBy": [], "coveredBy": [ - "633", - "635" + "529", + "530", + "531", + "778", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 85, - "line": 43 + "column": 42, + "line": 17 }, "start": { - "column": 32, - "line": 43 + "column": 7, + "line": 17 } } }, { - "id": "518", - "mutatorName": "EqualityOperator", - "replacement": "piedPiperPlayer.side.current !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:263:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "490", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(20,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "633" - ], + "killedBy": [], "coveredBy": [ - "633", - "635" + "529", + "530", + "531", + "778", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 85, - "line": 43 + "column": 42, + "line": 17 }, "start": { - "column": 32, - "line": 43 + "column": 7, + "line": 17 } } }, { - "id": "519", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(46,36): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "491", + "mutatorName": "EqualityOperator", + "replacement": "makeGamePlayDto.votes !== undefined", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(20,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "529", + "530", + "531", + "778", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 2, - "line": 52 + "column": 42, + "line": 17 }, "start": { - "column": 44, - "line": 46 + "column": 7, + "line": 17 } } }, { - "id": "520", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "492", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(18,10): error TS18048: 'makeGamePlayDto.votes' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "529", + "531", + "778" ], "location": { "end": { - "column": 106, - "line": 48 + "column": 4, + "line": 19 }, "start": { - "column": 7, - "line": 48 + "column": 44, + "line": 17 } } }, { - "id": "521", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "493", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(20,3): error TS2740: Type 'MakeGamePlayVoteDto' is missing the following properties from type 'MakeGamePlayVoteWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(20,75): error TS2345: Argument of type '(acc: MakeGamePlayVoteWithRelationsDto[], vote: MakeGamePlayVoteDto) => void' is not assignable to parameter of type '(previousValue: MakeGamePlayVoteWithRelationsDto[], currentValue: MakeGamePlayVoteDto, currentIndex: number, array: MakeGamePlayVoteDto[]) => MakeGamePlayVoteWithRelationsDto[]'.\n Type 'void' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 106, - "line": 48 + "column": 4, + "line": 34 }, "start": { - "column": 7, - "line": 48 + "column": 90, + "line": 20 } } }, { - "id": "522", - "mutatorName": "LogicalOperator", - "replacement": "(!angelPlayer?.death || angelPlayer.isAlive || !isPlayerPowerful(angelPlayer, game)) && game.turn > 1", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "494", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(31,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(32,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 106, - "line": 48 + "column": 29, + "line": 23 }, "start": { - "column": 7, - "line": 48 + "column": 9, + "line": 23 } } }, { - "id": "523", + "id": "495", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(31,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 89, - "line": 48 + "column": 29, + "line": 23 }, "start": { - "column": 7, - "line": 48 + "column": 9, + "line": 23 } } }, { - "id": "524", - "mutatorName": "LogicalOperator", - "replacement": "(!angelPlayer?.death || angelPlayer.isAlive) && !isPlayerPowerful(angelPlayer, game)", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(48,73): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "496", + "mutatorName": "EqualityOperator", + "replacement": "source !== undefined", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(31,5): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 89, - "line": 48 + "column": 29, + "line": 23 }, "start": { - "column": 7, - "line": 48 + "column": 9, + "line": 23 } } }, { - "id": "525", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(49,48): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "497", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(27,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "779" ], "location": { "end": { - "column": 49, - "line": 48 + "column": 6, + "line": 25 }, "start": { - "column": 7, - "line": 48 + "column": 31, + "line": 23 } } }, { - "id": "526", - "mutatorName": "LogicalOperator", - "replacement": "!angelPlayer?.death && angelPlayer.isAlive", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(49,30): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(49,85): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "498", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(31,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(32,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 49, - "line": 48 + "column": 29, + "line": 26 }, "start": { - "column": 7, - "line": 48 + "column": 9, + "line": 26 } } }, { - "id": "527", - "mutatorName": "BooleanLiteral", - "replacement": "angelPlayer?.death", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(49,29): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(49,84): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "499", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(32,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 26, - "line": 48 + "column": 29, + "line": 26 }, "start": { - "column": 7, - "line": 48 + "column": 9, + "line": 26 } } }, { - "id": "528", - "mutatorName": "OptionalChaining", - "replacement": "angelPlayer.death", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(49,8): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(49,29): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(49,84): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(52,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\n", + "id": "500", + "mutatorName": "EqualityOperator", + "replacement": "target !== undefined", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(32,5): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 26, - "line": 48 + "column": 29, + "line": 26 }, "start": { - "column": 8, - "line": 48 + "column": 9, + "line": 26 } } }, { - "id": "529", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(angelPlayer, game)", - "status": "Timeout", + "id": "501", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(28,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "640", - "641", - "642", - "643", - "644", - "654", - "656" + "780" ], "location": { "end": { - "column": 89, - "line": 48 + "column": 6, + "line": 28 }, "start": { - "column": 53, - "line": 48 + "column": 31, + "line": 26 } } }, { - "id": "530", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:356:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "502", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 4\n\n@@ -15,10 +15,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"sourceId\": \"7ddcbee08e782dd17c9b2b0b\",\n \"target\": Player {\n \"_id\": \"baa8c2aebc673eced8f6b57c\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -32,10 +33,11 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"targetId\": \"baa8c2aebc673eced8f6b57c\",\n },\n MakeGamePlayVoteWithRelationsDto {\n \"source\": Player {\n \"_id\": \"baa8c2aebc673eced8f6b57c\",\n \"attributes\": Array [],\n@@ -51,10 +53,11 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"sourceId\": \"baa8c2aebc673eced8f6b57c\",\n \"target\": Player {\n \"_id\": \"7ddcbee08e782dd17c9b2b0b\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n@@ -68,7 +71,8 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"targetId\": \"7ddcbee08e782dd17c9b2b0b\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:72:21)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 5, "static": false, "killedBy": [ - "641" + "781" ], "coveredBy": [ - "641", - "642", - "643", - "644", - "654", - "656" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 106, - "line": 48 + "column": 103, + "line": 29 }, "start": { - "column": 93, - "line": 48 + "column": 36, + "line": 29 } } }, { - "id": "531", - "mutatorName": "EqualityOperator", - "replacement": "game.turn >= 1", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:380:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "503", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 4\n\n@@ -15,10 +15,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"sourceId\": \"5e26e63fb80c2eac1b112a1d\",\n \"target\": Player {\n \"_id\": \"eb0dea245ce26378f62d6eaa\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -32,10 +33,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"targetId\": \"eb0dea245ce26378f62d6eaa\",\n },\n MakeGamePlayVoteWithRelationsDto {\n \"source\": Player {\n \"_id\": \"eb0dea245ce26378f62d6eaa\",\n \"attributes\": Array [],\n@@ -51,10 +53,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n+ \"sourceId\": \"eb0dea245ce26378f62d6eaa\",\n \"target\": Player {\n \"_id\": \"5e26e63fb80c2eac1b112a1d\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -68,7 +71,8 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"targetId\": \"5e26e63fb80c2eac1b112a1d\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:72:21)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 5, "static": false, "killedBy": [ - "643" + "781" ], "coveredBy": [ - "641", - "642", - "643", - "644", - "654", - "656" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 106, - "line": 48 + "column": 101, + "line": 29 }, "start": { - "column": 93, - "line": 48 + "column": 97, + "line": 29 } } }, { - "id": "532", - "mutatorName": "EqualityOperator", - "replacement": "game.turn <= 1", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:356:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "504", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"6dcce1eebbcf5b63597e56cd\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"af45428fca6d40b54adc4d3f\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Rogers\",\n- \"position\": 2833876904837120,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"1e8e5c33ce08f8759df90c93\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Aniya\",\n \"position\": 5274824236597248,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"bb6fedec6a9e54da3fa2a8e9\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Damion\",\n- \"position\": 1337882243497984,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"dec5bedc50e505651976accc\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mozelle\",\n- \"position\": 5546824869871616,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 8178471983382529,\n \"turn\": 6445540954865664,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 5, "static": false, "killedBy": [ - "641" + "530" ], "coveredBy": [ - "641", - "642", - "643", - "644", - "654", - "656" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 106, - "line": 48 + "column": 39, + "line": 33 }, "start": { - "column": 93, - "line": 48 + "column": 12, + "line": 33 } } }, { - "id": "533", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(49,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(49,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "id": "505", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(20,3): error TS2740: Type 'MakeGamePlayVoteDto' is missing the following properties from type 'MakeGamePlayVoteWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(34,7): error TS2322: Type 'string' is not assignable to type 'MakeGamePlayVoteWithRelationsDto'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "779", + "780", + "781", + "788" ], "location": { "end": { - "column": 4, - "line": 50 + "column": 8, + "line": 34 }, "start": { - "column": 108, - "line": 48 + "column": 6, + "line": 34 } } }, { - "id": "534", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:297:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 14, + "id": "506", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(37,100): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "636" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "636", - "637", - "638", - "639", - "640", - "641", - "657", - "658", - "659", - "660", - "661", - "662" + "528", + "529", + "530", + "531", + "782", + "783", + "784", + "788" ], "location": { "end": { - "column": 17, - "line": 49 + "column": 2, + "line": 51 }, "start": { - "column": 12, - "line": 49 + "column": 149, + "line": 37 } } }, { - "id": "535", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(52,22): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/player.enum\").PLAYER_DEATH_CAUSES' is not assignable to parameter of type 'never'.\n", + "id": "507", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(41,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "642", - "643", - "644", - "654", - "656" + "528", + "529", + "530", + "531", + "782", + "783", + "784", + "788" ], "location": { "end": { - "column": 63, - "line": 51 + "column": 44, + "line": 38 }, "start": { - "column": 10, - "line": 51 + "column": 7, + "line": 38 } } }, { - "id": "536", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(54,34): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "508", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(41,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "645", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "529", + "530", + "531", + "782", + "783", + "784", + "788" ], "location": { "end": { - "column": 2, - "line": 62 + "column": 44, + "line": 38 }, "start": { - "column": 42, - "line": 54 + "column": 7, + "line": 38 } } }, { - "id": "537", - "mutatorName": "BooleanLiteral", - "replacement": "currentPlay", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(61,40): error TS18047: 'currentPlay' is possibly 'null'.\n", + "id": "509", + "mutatorName": "EqualityOperator", + "replacement": "makeGamePlayDto.targets !== undefined", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(41,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "645", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "529", + "530", + "531", + "782", + "783", + "784", + "788" ], "location": { "end": { - "column": 19, - "line": 56 + "column": 44, + "line": 38 }, "start": { "column": 7, - "line": 56 + "line": 38 } } }, { - "id": "538", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(61,40): error TS18047: 'currentPlay' is possibly 'null'.\n", + "id": "510", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(39,10): error TS18048: 'makeGamePlayDto.targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "645", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "529", + "530", + "782" ], "location": { "end": { - "column": 19, - "line": 56 + "column": 4, + "line": 40 }, "start": { - "column": 7, - "line": 56 + "column": 46, + "line": 38 } } }, { - "id": "539", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(61,40): error TS18047: 'currentPlay' is possibly 'null'.\n", + "id": "511", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(41,3): error TS2740: Type 'MakeGamePlayTargetDto' is missing the following properties from type 'MakeGamePlayTargetWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(41,79): error TS2345: Argument of type '(acc: MakeGamePlayTargetWithRelationsDto[], target: MakeGamePlayTargetDto) => void' is not assignable to parameter of type '(previousValue: MakeGamePlayTargetWithRelationsDto[], currentValue: MakeGamePlayTargetDto, currentIndex: number, array: MakeGamePlayTargetDto[]) => MakeGamePlayTargetWithRelationsDto[]'.\n Type 'void' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "645", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 19, - "line": 56 + "column": 4, + "line": 50 }, "start": { - "column": 7, - "line": 56 + "column": 96, + "line": 41 } } }, { - "id": "540", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(59,40): error TS18047: 'currentPlay' is possibly 'null'.\n", + "id": "512", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(48,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "645" + "528", + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 4, - "line": 58 + "column": 29, + "line": 43 }, "start": { - "column": 21, - "line": 56 + "column": 9, + "line": 43 } } }, { - "id": "541", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"isGameOver\", {\"gameId\": \"a4b8ecb1abecbc8fffec2b0c\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:402:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "513", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(48,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "645" - ], + "killedBy": [], "coveredBy": [ - "645" + "528", + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 66, - "line": 57 + "column": 29, + "line": 43 }, "start": { - "column": 54, - "line": 57 + "column": 9, + "line": 43 } } }, { - "id": "542", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(58,68): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", + "id": "514", + "mutatorName": "EqualityOperator", + "replacement": "player !== undefined", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(48,5): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "645" + "528", + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 88, - "line": 57 + "column": 29, + "line": 43 }, "start": { - "column": 68, - "line": 57 + "column": 9, + "line": 43 } } }, { - "id": "543", - "mutatorName": "BooleanLiteral", - "replacement": "!upcomingPlays.find(({\n action,\n source\n}) => action === GAME_PLAY_ACTIONS.SHOOT && source.name === ROLE_NAMES.HUNTER)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "515", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(44,5): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "647" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "783" ], "location": { "end": { - "column": 148, - "line": 59 + "column": 6, + "line": 45 }, "start": { "column": 31, - "line": 59 + "line": 43 } } }, { - "id": "544", - "mutatorName": "BooleanLiteral", - "replacement": "upcomingPlays.find(({\n action,\n source\n}) => action === GAME_PLAY_ACTIONS.SHOOT && source.name === ROLE_NAMES.HUNTER)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "516", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -1,7 +1,8 @@\n Array [\n MakeGamePlayTargetWithRelationsDto {\n+ \"drankPotion\": undefined,\n \"isInfected\": true,\n \"player\": Player {\n \"_id\": \"adbb8d8cdd6a7a45caaf0bb8\",\n \"attributes\": Array [],\n \"death\": undefined,\n@@ -16,12 +17,15 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n+ \"playerId\": \"adbb8d8cdd6a7a45caaf0bb8\",\n },\n MakeGamePlayTargetWithRelationsDto {\n+ \"drankPotion\": undefined,\n+ \"isInfected\": undefined,\n \"player\": Player {\n \"_id\": \"581c754ca8af1cee24ad1037\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -35,13 +39,15 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"581c754ca8af1cee24ad1037\",\n },\n MakeGamePlayTargetWithRelationsDto {\n \"drankPotion\": \"death\",\n+ \"isInfected\": undefined,\n \"player\": Player {\n \"_id\": \"81b81e2dafe33ecaf96706e0\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n@@ -55,7 +61,8 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"81b81e2dafe33ecaf96706e0\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:114:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 4, "static": false, "killedBy": [ - "647" + "784" ], "coveredBy": [ - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 148, - "line": 59 + "column": 103, + "line": 46 }, "start": { - "column": 32, - "line": 59 + "column": 36, + "line": 46 } } }, { - "id": "545", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "517", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 3\n\n@@ -16,10 +16,11 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"fe4ab5fd06f0ed7ccae0d1a5\",\n },\n MakeGamePlayTargetWithRelationsDto {\n \"player\": Player {\n \"_id\": \"dabcf4f0cad06babb8e582c7\",\n \"attributes\": Array [],\n@@ -35,10 +36,11 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ \"playerId\": \"dabcf4f0cad06babb8e582c7\",\n },\n MakeGamePlayTargetWithRelationsDto {\n \"drankPotion\": \"death\",\n \"player\": Player {\n \"_id\": \"95267e4c4ccd1c90ba7b112e\",\n@@ -55,7 +57,8 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n+ \"playerId\": \"95267e4c4ccd1c90ba7b112e\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:114:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "784" + ], "coveredBy": [ - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 147, - "line": 59 + "column": 101, + "line": 46 }, "start": { - "column": 52, - "line": 59 + "column": 97, + "line": 46 } } }, { - "id": "546", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:464:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "518", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 61\n+ Received + 1\n\n- Array [\n- MakeGamePlayTargetWithRelationsDto {\n- \"isInfected\": true,\n- \"player\": Player {\n- \"_id\": \"92e5dbdd0a48c2adb9af45ff\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Green\",\n- \"position\": 4991457588936704,\n- \"role\": PlayerRole {\n- \"current\": \"three-brothers\",\n- \"isRevealed\": false,\n- \"original\": \"idiot\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- },\n- MakeGamePlayTargetWithRelationsDto {\n- \"player\": Player {\n- \"_id\": \"e7b455eb1bbac9ccefae8e7e\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Ronaldo\",\n- \"position\": 4888214716284928,\n- \"role\": PlayerRole {\n- \"current\": \"bear-tamer\",\n- \"isRevealed\": false,\n- \"original\": \"witch\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"werewolves\",\n- },\n- },\n- },\n- MakeGamePlayTargetWithRelationsDto {\n- \"drankPotion\": \"death\",\n- \"player\": Player {\n- \"_id\": \"be7048be79deb5cca75d7c3a\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Vivian\",\n- \"position\": 453305285214208,\n- \"role\": PlayerRole {\n- \"current\": \"seer\",\n- \"isRevealed\": true,\n- \"original\": \"little-girl\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"werewolves\",\n- },\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:114:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 4, "static": false, "killedBy": [ - "649" + "784" ], "coveredBy": [ - "572", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 147, - "line": 59 + "column": 41, + "line": 49 }, "start": { - "column": 76, - "line": 59 + "column": 12, + "line": 49 } } }, { - "id": "547", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "id": "519", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(41,3): error TS2740: Type 'MakeGamePlayTargetDto' is missing the following properties from type 'MakeGamePlayTargetWithRelationsDto[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(50,7): error TS2322: Type 'string' is not assignable to type 'MakeGamePlayTargetWithRelationsDto'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "647" - ], + "killedBy": [], "coveredBy": [ - "572", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "531", + "783", + "784", + "788" ], "location": { "end": { - "column": 147, - "line": 59 + "column": 8, + "line": 50 }, "start": { - "column": 76, - "line": 59 + "column": 6, + "line": 50 } } }, { - "id": "548", - "mutatorName": "LogicalOperator", - "replacement": "action === GAME_PLAY_ACTIONS.SHOOT || source.name === ROLE_NAMES.HUNTER", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:464:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "id": "520", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(53,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "649" - ], + "killedBy": [], "coveredBy": [ - "572", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "529", + "530", + "531", + "785", + "786", + "787", + "788" ], "location": { "end": { - "column": 147, - "line": 59 + "column": 2, + "line": 62 }, "start": { - "column": 76, - "line": 59 + "column": 121, + "line": 53 } } }, { - "id": "549", + "id": "521", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:464:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(57,68): error TS2345: Argument of type 'ObjectId | undefined' is not assignable to parameter of type 'ObjectId'.\n Type 'undefined' is not assignable to type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(59,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "649" - ], + "killedBy": [], "coveredBy": [ - "572", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "529", + "530", + "531", + "785", + "786", + "787", + "788" ], "location": { "end": { - "column": 110, - "line": 59 + "column": 49, + "line": 54 }, "start": { - "column": 76, - "line": 59 + "column": 7, + "line": 54 } } }, { - "id": "550", - "mutatorName": "EqualityOperator", - "replacement": "action !== GAME_PLAY_ACTIONS.SHOOT", - "status": "Timeout", + "id": "522", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(57,68): error TS2345: Argument of type 'ObjectId | undefined' is not assignable to parameter of type 'ObjectId'.\n Type 'undefined' is not assignable to type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(59,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "529", + "530", + "531", + "785", + "786", + "787", + "788" ], "location": { "end": { - "column": 110, - "line": 59 + "column": 49, + "line": 54 }, "start": { - "column": 76, - "line": 59 + "column": 7, + "line": 54 } } }, { - "id": "551", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "523", + "mutatorName": "EqualityOperator", + "replacement": "makeGamePlayDto.chosenCardId !== undefined", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(57,68): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(59,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "646", - "647", - "650" + "528", + "529", + "530", + "531", + "785", + "786", + "787", + "788" ], "location": { "end": { - "column": 147, - "line": 59 + "column": 49, + "line": 54 }, "start": { - "column": 114, - "line": 59 + "column": 7, + "line": 54 } } }, { - "id": "552", - "mutatorName": "EqualityOperator", - "replacement": "source.name !== ROLE_NAMES.HUNTER", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "524", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(55,68): error TS2345: Argument of type 'ObjectId | undefined' is not assignable to parameter of type 'ObjectId'.\n Type 'undefined' is not assignable to type 'ObjectId'.\nsrc/modules/game/helpers/game-play/game-play.helper.ts(57,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "647" - ], + "killedBy": [], "coveredBy": [ - "646", - "647", - "650" + "528", + "529", + "530", + "531", + "785" ], "location": { "end": { - "column": 147, - "line": 59 + "column": 4, + "line": 56 }, "start": { - "column": 114, - "line": 59 + "column": 51, + "line": 54 } } }, { - "id": "553", + "id": "525", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: thrown: ResourceNotFoundException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:135:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:118:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:21:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "787" + ], "coveredBy": [ - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "786", + "787", + "788" ], "location": { "end": { - "column": 151, - "line": 61 + "column": 31, + "line": 58 }, "start": { - "column": 10, - "line": 60 + "column": 7, + "line": 58 } } }, { - "id": "554", + "id": "526", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:438:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(59,78): error TS18048: 'makeGamePlayDto.chosenCardId' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "646" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "786", + "787", + "788" ], "location": { "end": { - "column": 151, - "line": 61 + "column": 31, + "line": 58 }, "start": { - "column": 10, - "line": 60 + "column": 7, + "line": 58 } } }, { - "id": "555", - "mutatorName": "LogicalOperator", - "replacement": "areAllPlayersDead(game) && currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT && !isShootPlayIncoming && (doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game) || doesAngelWin(game))", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:438:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "527", + "mutatorName": "EqualityOperator", + "replacement": "chosenCard !== undefined", + "status": "Timeout", "static": false, - "killedBy": [ - "646" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "786", + "787", + "788" ], "location": { "end": { - "column": 151, - "line": 61 + "column": 31, + "line": 58 }, "start": { - "column": 10, - "line": 60 + "column": 7, + "line": 58 } } }, { - "id": "556", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "528", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: ResourceNotFoundException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:131:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 1, "static": false, "killedBy": [ - "649" + "786" ], "coveredBy": [ - "572", - "573", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "786" ], "location": { "end": { - "column": 151, - "line": 61 + "column": 4, + "line": 60 }, "start": { - "column": 37, - "line": 60 + "column": 33, + "line": 58 } } }, { - "id": "557", - "mutatorName": "LogicalOperator", - "replacement": "currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT && !isShootPlayIncoming || doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game) || doesAngelWin(game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:453:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "id": "529", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(64,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "647" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "528", + "529", + "530", + "531", + "788" ], "location": { "end": { - "column": 151, - "line": 61 + "column": 2, + "line": 73 }, "start": { - "column": 37, - "line": 60 + "column": 121, + "line": 64 } } }, { - "id": "558", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "530", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 1\n\n@@ -3,10 +3,11 @@\n \"_id\": \"bde6cf7a0ebeb72ef1cd0a5d\",\n \"isUsed\": false,\n \"recipient\": \"thief\",\n \"roleName\": \"bear-tamer\",\n },\n+ \"chosenCardId\": \"bde6cf7a0ebeb72ef1cd0a5d\",\n \"chosenSide\": \"werewolves\",\n \"doesJudgeRequestAnotherVote\": true,\n \"targets\": Array [\n MakeGamePlayTargetWithRelationsDto {\n \"isInfected\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:176:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 4, "static": false, "killedBy": [ - "647" + "788" ], "coveredBy": [ - "572", - "573", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "529", + "530", + "531", + "788" ], "location": { "end": { - "column": 107, - "line": 60 + "column": 170, + "line": 68 }, "start": { - "column": 37, - "line": 60 + "column": 103, + "line": 68 } } }, { - "id": "559", - "mutatorName": "LogicalOperator", - "replacement": "currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT || !isShootPlayIncoming", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "531", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 1\n\n@@ -3,10 +3,11 @@\n \"_id\": \"8ac19ca74acfbfdacc7fcd00\",\n \"isUsed\": true,\n \"recipient\": \"thief\",\n \"roleName\": \"rusty-sword-knight\",\n },\n+ \"chosenCardId\": \"8ac19ca74acfbfdacc7fcd00\",\n \"chosenSide\": \"werewolves\",\n \"doesJudgeRequestAnotherVote\": true,\n \"targets\": Array [\n MakeGamePlayTargetWithRelationsDto {\n \"isInfected\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:176:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 4, "static": false, "killedBy": [ - "647" + "788" ], "coveredBy": [ - "572", - "573", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "529", + "530", + "531", + "788" ], "location": { "end": { - "column": 107, - "line": 60 + "column": 168, + "line": 68 }, "start": { - "column": 37, - "line": 60 + "column": 164, + "line": 68 } } }, { - "id": "560", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "532", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(75,49): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 83, - "line": 60 + "column": 2, + "line": 80 }, "start": { - "column": 37, - "line": 60 + "column": 56, + "line": 75 } } }, { - "id": "561", - "mutatorName": "EqualityOperator", - "replacement": "currentPlay.action === GAME_PLAY_ACTIONS.SHOOT", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:447:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "533", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 7, "static": false, "killedBy": [ - "648" + "530" ], "coveredBy": [ - "572", - "573", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 83, - "line": 60 + "column": 4, + "line": 79 }, "start": { - "column": 37, - "line": 60 + "column": 64, + "line": 76 } } }, { - "id": "562", - "mutatorName": "BooleanLiteral", - "replacement": "isShootPlayIncoming", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "534", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:184:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 7, "static": false, "killedBy": [ - "647" + "789" ], "coveredBy": [ - "572", - "573", - "647", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 107, - "line": 60 + "column": 94, + "line": 78 }, "start": { - "column": 87, - "line": 60 + "column": 12, + "line": 78 } } }, { - "id": "563", + "id": "535", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 150, - "line": 61 + "column": 94, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 12, + "line": 78 } } }, { - "id": "564", + "id": "536", "mutatorName": "LogicalOperator", - "replacement": "(doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game)) && doesAngelWin(game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "source.name === play.source.name && action === play.action || cause === play.cause", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 55\n+ Received + 7\n\n@@ -1,78 +1,29 @@\n Object {\n \"_id\": \"5debba6afa3639f52ecfd2e4\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"9184e8bea65cce706c9f90f8\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Tanya\",\n- \"position\": 3765228126863360,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"051db1eaadd280efc52e18aa\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Donavon\",\n \"position\": 8309587883065344,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"bed5e69855a5b92fd17d2ec1\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Colton\",\n- \"position\": 519162166247424,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n },\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"ccd0e8dce00d801479e666e5\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Okey\",\n- \"position\": 3025225698508800,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -219,19 +170,20 @@\n \"status\": \"playing\",\n \"tick\": 7157676425347073,\n \"turn\": 6710850364637184,\n \"upcomingPlays\": Array [\n Object {\n- \"action\": \"look\",\n+ \"action\": \"eat\",\n \"source\": Object {\n- \"name\": \"seer\",\n+ \"name\": \"werewolves\",\n },\n },\n Object {\n- \"action\": \"eat\",\n+ \"action\": \"vote\",\n+ \"cause\": \"previous-votes-were-in-ties\",\n \"source\": Object {\n- \"name\": \"werewolves\",\n+ \"name\": \"all\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 7, "static": false, "killedBy": [ - "649" + "530" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 150, - "line": 61 + "column": 94, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 12, + "line": 78 } } }, { - "id": "565", + "id": "537", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:185:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 7, "static": false, "killedBy": [ - "649" + "789" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 128, - "line": 61 + "column": 70, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 12, + "line": 78 } } }, { - "id": "566", + "id": "538", "mutatorName": "LogicalOperator", - "replacement": "(doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game)) && doesPiedPiperWin(game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "source.name === play.source.name || action === play.action", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 13\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:184:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 7, "static": false, "killedBy": [ - "649" + "789" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 128, - "line": 61 + "column": 70, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 12, + "line": 78 } } }, { - "id": "567", + "id": "539", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 22\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:184:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 7, "static": false, "killedBy": [ - "649" + "789" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 102, - "line": 61 + "column": 44, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 12, + "line": 78 } } }, { - "id": "568", - "mutatorName": "LogicalOperator", - "replacement": "(doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game)) && doesWhiteWerewolfWin(game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "540", + "mutatorName": "EqualityOperator", + "replacement": "source.name !== play.source.name", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 22\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:184:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 7, "static": false, "killedBy": [ - "649" + "789" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 102, - "line": 61 + "column": 44, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 12, + "line": 78 } } }, { - "id": "569", + "id": "541", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 13\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:185:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "789" + ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 72, - "line": 61 + "column": 70, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 48, + "line": 78 } } }, { - "id": "570", - "mutatorName": "LogicalOperator", - "replacement": "(doWerewolvesWin(game) || doVillagersWin(game)) && doLoversWin(game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "542", + "mutatorName": "EqualityOperator", + "replacement": "action !== play.action", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: -1\nReceived: 13\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:184:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 7, "static": false, "killedBy": [ - "649" + "789" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "789", + "790" ], "location": { "end": { - "column": 72, - "line": 61 + "column": 70, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 48, + "line": 78 } } }, { - "id": "571", + "id": "543", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toThrow()\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:431:87)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 6, "static": false, "killedBy": [ - "649" + "157" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "790" ], "location": { "end": { - "column": 51, - "line": 61 + "column": 94, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 74, + "line": 78 } } }, { - "id": "572", - "mutatorName": "LogicalOperator", - "replacement": "doWerewolvesWin(game) && doVillagersWin(game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "544", + "mutatorName": "EqualityOperator", + "replacement": "cause !== play.cause", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 0\nReceived: -1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:191:47)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 6, "static": false, "killedBy": [ - "649" + "790" ], "coveredBy": [ - "572", - "573", - "649", - "650", - "651", - "652", - "653", - "654" + "156", + "157", + "159", + "530", + "531", + "790" ], "location": { "end": { - "column": 51, - "line": 61 + "column": 94, + "line": 78 }, "start": { - "column": 6, - "line": 61 + "column": 74, + "line": 78 } } }, { - "id": "573", + "id": "545", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(64,47): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-play/game-play.helper.ts(82,63): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { "column": 2, - "line": 92 + "line": 84 }, "start": { "column": 71, - "line": 64 + "line": 82 } } }, { - "id": "574", + "id": "546", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "792" + ], "coveredBy": [ - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { - "column": 30, - "line": 65 + "column": 113, + "line": 83 }, "start": { - "column": 7, - "line": 65 + "column": 10, + "line": 83 } } }, { - "id": "575", + "id": "547", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 20\n\n GameVictory {\n- \"type\": \"none\",\n- \"winners\": undefined,\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Player {\n+ \"_id\": \"fcbcd5ebb6bf8492adbd41d3\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Rigoberto\",\n+ \"position\": 6609641509224448,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:589:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 10, "static": false, "killedBy": [ - "655" + "791" ], "coveredBy": [ - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { - "column": 30, - "line": 65 + "column": 113, + "line": 83 }, "start": { - "column": 7, - "line": 65 + "column": 10, + "line": 83 } } }, { - "id": "576", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 20\n\n GameVictory {\n- \"type\": \"none\",\n- \"winners\": undefined,\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Player {\n+ \"_id\": \"34c3dcbb4aa0fffbf9c53a0a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Anderson\",\n+ \"position\": 713881794117632,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:589:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "548", + "mutatorName": "LogicalOperator", + "replacement": "playA.action === playB.action && playA.cause === playB.cause || playA.source.name === playB.source.name", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 10, "static": false, "killedBy": [ - "655" + "792" ], "coveredBy": [ - "655" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { - "column": 4, - "line": 67 + "column": 113, + "line": 83 }, "start": { - "column": 32, - "line": 65 + "column": 10, + "line": 83 } } }, { - "id": "577", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "549", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "793" + ], "coveredBy": [ - "655" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { - "column": 74, - "line": 66 + "column": 70, + "line": 83 }, "start": { - "column": 41, - "line": 66 + "column": 10, + "line": 83 } } }, { - "id": "578", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 51\n+ Received + 2\n\n GameVictory {\n- \"type\": \"lovers\",\n+ \"type\": \"angel\",\n \"winners\": Array [\n- Player {\n- \"_id\": \"c92f95524f0cdc7ddf4649b4\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Norwood\",\n- \"position\": 8366332795944960,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"ce6c34531fa7bc33d447c930\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Philip\",\n- \"position\": 2409563036844032,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n+ undefined,\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:595:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "550", + "mutatorName": "LogicalOperator", + "replacement": "playA.action === playB.action || playA.cause === playB.cause", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 10, "static": false, "killedBy": [ - "657" + "793" ], "coveredBy": [ - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { - "column": 25, - "line": 68 + "column": 70, + "line": 83 }, "start": { - "column": 7, - "line": 68 + "column": 10, + "line": 83 } } }, { - "id": "579", + "id": "551", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"angel\", \"winners\": [{\"_id\": \"b6cfcbcc2f0f6d5dccc20cbb\", \"attributes\": [], \"death\": {\"cause\": \"vote\", \"source\": \"all\"}, \"isAlive\": false, \"name\": \"Ibrahim\", \"position\": 999944836087808, \"role\": {\"current\": \"angel\", \"isRevealed\": false, \"original\": \"angel\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:582:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 10, "static": false, "killedBy": [ - "656" + "793" ], "coveredBy": [ - "656", - "657", - "658", - "659", - "660", - "661", - "662" - ], - "location": { - "end": { - "column": 25, - "line": 68 - }, + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" + ], + "location": { + "end": { + "column": 39, + "line": 83 + }, "start": { - "column": 7, - "line": 68 + "column": 10, + "line": 83 } } }, { - "id": "580", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"angel\", \"winners\": [{\"_id\": \"b605c1a883b3eafa4bf24a47\", \"attributes\": [], \"death\": {\"cause\": \"vote\", \"source\": \"all\"}, \"isAlive\": false, \"name\": \"Joelle\", \"position\": 406364939616256, \"role\": {\"current\": \"angel\", \"isRevealed\": false, \"original\": \"angel\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:603:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "552", + "mutatorName": "EqualityOperator", + "replacement": "playA.action !== playB.action", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 10, "static": false, "killedBy": [ - "656" + "791" ], "coveredBy": [ - "656" + "149", + "150", + "151", + "152", + "530", + "531", + "791", + "792", + "793", + "794" ], "location": { "end": { - "column": 4, - "line": 71 + "column": 39, + "line": 83 }, "start": { - "column": 27, - "line": 68 + "column": 10, + "line": 83 } } }, { - "id": "581", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 23\n+ Received + 2\n\n GameVictory {\n- \"type\": \"angel\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"ccfe4b6e53363186c74efdaa\",\n- \"attributes\": Array [],\n- \"death\": PlayerDeath {\n- \"cause\": \"vote\",\n- \"source\": \"all\",\n- },\n- \"isAlive\": false,\n- \"name\": \"Tyree\",\n- \"position\": 4901302481977344,\n- \"role\": PlayerRole {\n- \"current\": \"angel\",\n- \"isRevealed\": false,\n- \"original\": \"angel\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:582:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "553", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 8, "static": false, "killedBy": [ - "656" + "794" ], "coveredBy": [ - "656" + "149", + "150", + "151", + "530", + "531", + "791", + "792", + "794" ], "location": { "end": { - "column": 99, - "line": 70 + "column": 70, + "line": 83 }, "start": { - "column": 41, - "line": 70 + "column": 43, + "line": 83 } } }, { - "id": "582", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 22\n+ Received + 1\n\n GameVictory {\n \"type\": \"angel\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"9989848b4a8fd72ed4bf698e\",\n- \"attributes\": Array [],\n- \"death\": PlayerDeath {\n- \"cause\": \"vote\",\n- \"source\": \"all\",\n- },\n- \"isAlive\": false,\n- \"name\": \"Glen\",\n- \"position\": 3452341856501760,\n- \"role\": PlayerRole {\n- \"current\": \"angel\",\n- \"isRevealed\": false,\n- \"original\": \"angel\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"winners\": Array [],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:582:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "554", + "mutatorName": "EqualityOperator", + "replacement": "playA.cause !== playB.cause", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 32\n+ Received + 23\n\n@@ -1,49 +1,27 @@\n Object {\n \"_id\": \"2c1a46cf1bfb20bc314412e6\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"eat\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"werewolves\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"df3936f1167595ecdccfeaac\",\n- \"attributes\": Array [\n- Object {\n- \"name\": \"seen\",\n- \"remainingPhases\": 1,\n- \"source\": \"seer\",\n- },\n- ],\n- \"isAlive\": true,\n- \"name\": \"Mikel\",\n- \"position\": 2035483697741824,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": \"a2ecbd93a9dbebe2abd4b1ce\",\n+ \"_id\": \"b1e568a3426d7b20fcbfe3ff\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Fausto\",\n- \"position\": 1913382909247488,\n+ \"name\": \"Kip\",\n+ \"position\": 7369743986065408,\n \"role\": Object {\n- \"current\": \"werewolf\",\n+ \"current\": \"seer\",\n \"isRevealed\": false,\n- \"original\": \"werewolf\",\n+ \"original\": \"seer\",\n },\n \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ],\n },\n },\n@@ -196,8 +174,21 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 2751779601121281,\n \"turn\": 3909296939073536,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ },\n+ },\n+ ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:962:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 8, "static": false, "killedBy": [ - "656" + "531" ], "coveredBy": [ - "656" + "149", + "150", + "151", + "530", + "531", + "791", + "792", + "794" ], "location": { "end": { - "column": 97, - "line": 70 + "column": 70, + "line": 83 }, "start": { - "column": 84, - "line": 70 + "column": 43, + "line": 83 } } }, { - "id": "583", + "id": "555", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 2\n\n GameVictory {\n- \"type\": \"pied-piper\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"87de2fbaefcb20a5fd5bb29f\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Destiney\",\n- \"position\": 176199074578432,\n- \"role\": PlayerRole {\n- \"current\": \"pied-piper\",\n- \"isRevealed\": false,\n- \"original\": \"pied-piper\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"type\": \"lovers\",\n+ \"winners\": Array [],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:630:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 7, "static": false, "killedBy": [ - "658" + "792" ], "coveredBy": [ - "657", - "658", - "659", - "660", - "661", - "662" + "149", + "150", + "151", + "530", + "531", + "791", + "792" ], "location": { "end": { - "column": 24, - "line": 72 + "column": 113, + "line": 83 }, "start": { - "column": 7, - "line": 72 + "column": 74, + "line": 83 } } }, { - "id": "584", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "556", + "mutatorName": "EqualityOperator", + "replacement": "playA.source.name !== playB.source.name", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:222:47\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "791" + ], "coveredBy": [ - "657", - "658", - "659", - "660", - "661", - "662" + "149", + "150", + "151", + "530", + "531", + "791", + "792" ], "location": { "end": { - "column": 24, - "line": 72 + "column": 113, + "line": 83 }, "start": { - "column": 7, - "line": 72 + "column": 74, + "line": 83 } } - }, + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { API_RESOURCES } from \"../../../../shared/api/enums/api.enum\";\nimport { RESOURCE_NOT_FOUND_REASONS } from \"../../../../shared/exception/enums/resource-not-found-error.enum\";\nimport { ResourceNotFoundException } from \"../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { gamePlaysPriorityList } from \"../../constants/game-play/game-play.constant\";\nimport { MakeGamePlayTargetWithRelationsDto } from \"../../dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto\";\nimport { MakeGamePlayVoteWithRelationsDto } from \"../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport { MakeGamePlayWithRelationsDto } from \"../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport type { MakeGamePlayDto } from \"../../dto/make-game-play/make-game-play.dto\";\nimport type { GameAdditionalCard } from \"../../schemas/game-additional-card/game-additional-card.schema\";\nimport type { GamePlay } from \"../../schemas/game-play/game-play.schema\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport { getAdditionalCardWithId, getPlayerWithId } from \"../game.helper\";\n\nfunction getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto: MakeGamePlayDto, game: Game): MakeGamePlayVoteWithRelationsDto[] | undefined {\n if (makeGamePlayDto.votes === undefined) {\n return;\n }\n return makeGamePlayDto.votes.reduce((acc, vote) => {\n const source = getPlayerWithId(game, vote.sourceId);\n const target = getPlayerWithId(game, vote.targetId);\n if (source === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, vote.sourceId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_SOURCE);\n }\n if (target === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, vote.targetId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_TARGET);\n }\n const plainToInstanceOptions = { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true };\n const voteWithRelations = plainToInstance(MakeGamePlayVoteWithRelationsDto, vote, plainToInstanceOptions);\n voteWithRelations.source = source;\n voteWithRelations.target = target;\n return [...acc, voteWithRelations];\n }, []);\n}\n\nfunction getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto: MakeGamePlayDto, game: Game): MakeGamePlayTargetWithRelationsDto[] | undefined {\n if (makeGamePlayDto.targets === undefined) {\n return;\n }\n return makeGamePlayDto.targets.reduce((acc, target) => {\n const player = getPlayerWithId(game, target.playerId);\n if (player === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, target.playerId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_TARGET);\n }\n const plainToInstanceOptions = { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true };\n const targetWithRelations = plainToInstance(MakeGamePlayTargetWithRelationsDto, target, plainToInstanceOptions);\n targetWithRelations.player = player;\n return [...acc, targetWithRelations];\n }, []);\n}\n\nfunction getChosenCardFromMakeGamePlayDto(makeGamePlayDto: MakeGamePlayDto, game: Game): GameAdditionalCard | undefined {\n if (makeGamePlayDto.chosenCardId === undefined) {\n return;\n }\n const chosenCard = getAdditionalCardWithId(game.additionalCards, makeGamePlayDto.chosenCardId);\n if (chosenCard === undefined) {\n throw new ResourceNotFoundException(API_RESOURCES.GAME_ADDITIONAL_CARDS, makeGamePlayDto.chosenCardId.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_CHOSEN_CARD);\n }\n return chosenCard;\n}\n\nfunction createMakeGamePlayDtoWithRelations(makeGamePlayDto: MakeGamePlayDto, game: Game): MakeGamePlayWithRelationsDto {\n const chosenCard = getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game);\n const targets = getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game);\n const votes = getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game);\n const makeGamePlayWithRelationsDto = plainToInstance(MakeGamePlayWithRelationsDto, makeGamePlayDto, { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n makeGamePlayWithRelationsDto.chosenCard = chosenCard;\n makeGamePlayWithRelationsDto.targets = targets;\n makeGamePlayWithRelationsDto.votes = votes;\n return makeGamePlayWithRelationsDto;\n}\n\nfunction findPlayPriorityIndex(play: GamePlay): number {\n return gamePlaysPriorityList.findIndex(playInPriorityList => {\n const { source, action, cause } = playInPriorityList;\n return source.name === play.source.name && action === play.action && cause === play.cause;\n });\n}\n\nfunction areGamePlaysEqual(playA: GamePlay, playB: GamePlay): boolean {\n return playA.action === playB.action && playA.cause === playB.cause && playA.source.name === playB.source.name;\n}\n\nexport {\n getVotesWithRelationsFromMakeGamePlayDto,\n getTargetsWithRelationsFromMakeGamePlayDto,\n getChosenCardFromMakeGamePlayDto,\n createMakeGamePlayDtoWithRelations,\n findPlayPriorityIndex,\n areGamePlaysEqual,\n};" + }, + "src/modules/game/helpers/game-victory/game-victory.helper.ts": { + "language": "typescript", + "mutants": [ { - "id": "585", + "id": "557", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(14,39): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "657" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 75 + "column": 2, + "line": 17 }, "start": { - "column": 26, - "line": 72 + "column": 47, + "line": 14 } } }, { - "id": "586", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 53\n+ Received + 2\n\n GameVictory {\n- \"type\": \"lovers\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"1e5d4cd6affec3cc4b3e93a8\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Jannie\",\n- \"position\": 771993016205312,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"938c41af14eb84ebdf29fbcc\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Fausto\",\n- \"position\": 4133077806743552,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:595:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "558", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 1341883953446913,\n \"turn\": 2858654235623424,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -232,6 +232,43 @@\n \"name\": \"werewolves\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"a6ffcab8c4d39edfcc69300c\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Verlie\",\n+ \"position\": 3695630434172928,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"bda6d6a1c77018bececb63a3\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Nina\",\n+ \"position\": 920850450612224,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 15, "static": false, "killedBy": [ - "657" + "530" ], "coveredBy": [ - "657" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 100, - "line": 74 + "column": 138, + "line": 16 }, "start": { - "column": 41, - "line": 74 + "column": 10, + "line": 16 } } }, { - "id": "587", + "id": "559", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n GameVictory {\n- \"type\": \"white-werewolf\",\n+ \"type\": \"pied-piper\",\n \"winners\": Array [\n- Player {\n- \"_id\": \"adfdaeaccfd0fd08dca20dfe\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kathleen\",\n- \"position\": 5680191460343808,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n+ undefined,\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:621:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 15, "static": false, "killedBy": [ - "659" + "641" ], "coveredBy": [ - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 29, - "line": 76 + "column": 138, + "line": 16 }, "start": { - "column": 7, - "line": 76 + "column": 10, + "line": 16 } } }, { - "id": "588", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "560", + "mutatorName": "LogicalOperator", + "replacement": "werewolvesSidedPlayers.length > 0 || !game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.VILLAGERS && isAlive)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 8589009026547713,\n \"turn\": 8478596804902912,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -232,6 +232,43 @@\n \"name\": \"werewolves\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"5375610f6dc110125fafc23b\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Afton\",\n+ \"position\": 2860690318557184,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"ef27ddfd5405f55d5e15af95\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Rhoda\",\n+ \"position\": 2104422345736192,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 29, - "line": 76 + "column": 138, + "line": 16 }, "start": { - "column": 7, - "line": 76 + "column": 10, + "line": 16 } } }, { - "id": "589", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"pied-piper\", \"winners\": [{\"_id\": \"befce90fcedfbca9be36e307\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Alfredo\", \"position\": 525313977090048, \"role\": {\"current\": \"pied-piper\", \"isRevealed\": false, \"original\": \"pied-piper\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:630:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "561", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:34:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 15, "static": false, "killedBy": [ - "658" + "638" ], "coveredBy": [ - "658" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 79 + "column": 43, + "line": 16 }, "start": { - "column": 31, - "line": 76 + "column": 10, + "line": 16 } } }, { - "id": "590", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 2\n\n GameVictory {\n- \"type\": \"pied-piper\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"c9bae76c42d391b0222d0421\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Harold\",\n- \"position\": 3461932078071808,\n- \"role\": PlayerRole {\n- \"current\": \"pied-piper\",\n- \"isRevealed\": false,\n- \"original\": \"pied-piper\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:609:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "562", + "mutatorName": "EqualityOperator", + "replacement": "werewolvesSidedPlayers.length >= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:34:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 15, "static": false, "killedBy": [ - "658" + "638" ], "coveredBy": [ - "658" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 108, - "line": 78 + "column": 43, + "line": 16 }, "start": { - "column": 41, - "line": 78 + "column": 10, + "line": 16 } } }, { - "id": "591", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", + "id": "563", + "mutatorName": "EqualityOperator", + "replacement": "werewolvesSidedPlayers.length <= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:34:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "638" + ], "coveredBy": [ - "658" + "530", + "531", + "638", + "639", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 106, - "line": 78 + "column": 43, + "line": 16 }, "start": { - "column": 89, - "line": 78 + "column": 10, + "line": 16 } } }, { - "id": "592", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 35\n+ Received + 2\n\n GameVictory {\n- \"type\": \"werewolves\",\n+ \"type\": \"white-werewolf\",\n \"winners\": Array [\n- Player {\n- \"_id\": \"4b7dafff410f6bb0ea90b1ce\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Lazaro\",\n- \"position\": 1947344497016832,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"3a178ad6108c2e6b6a2cbc54\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Xander\",\n- \"position\": 8903327259557888,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n+ undefined,\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:655:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "564", + "mutatorName": "BooleanLiteral", + "replacement": "game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.VILLAGERS && isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:56:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 13, "static": false, "killedBy": [ - "660" + "640" ], "coveredBy": [ - "659", - "660", - "661", - "662" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 33, - "line": 80 + "column": 138, + "line": 16 }, "start": { - "column": 7, - "line": 80 + "column": 47, + "line": 16 } } }, { - "id": "593", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 18\n\n@@ -1,8 +1,25 @@\n GameVictory {\n- \"type\": \"white-werewolf\",\n+ \"type\": \"werewolves\",\n \"winners\": Array [\n+ Player {\n+ \"_id\": \"ba463c1ca6f953566ac1f71d\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Bernadette\",\n+ \"position\": 8534934698328064,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n Player {\n \"_id\": \"87bcdca6bbffad2be71b7e95\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:642:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "565", + "mutatorName": "MethodExpression", + "replacement": "game.players.every(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.VILLAGERS && isAlive)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 697868201492481,\n \"turn\": 2499789014958080,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -232,6 +232,43 @@\n \"name\": \"werewolves\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"dfcf38aba8a46ab4c88e9e7f\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"D'angelo\",\n+ \"position\": 2879075106422784,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"e2a3e76b8dc4a2c0e3f3e101\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Tre\",\n+ \"position\": 1028499330564096,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 13, "static": false, "killedBy": [ - "659" + "530" ], "coveredBy": [ - "659", - "660", - "661", - "662" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 33, - "line": 80 + "column": 138, + "line": 16 }, "start": { - "column": 7, - "line": 80 + "column": 48, + "line": 16 } } }, { - "id": "594", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 18\n\n@@ -1,8 +1,25 @@\n GameVictory {\n- \"type\": \"white-werewolf\",\n+ \"type\": \"werewolves\",\n \"winners\": Array [\n+ Player {\n+ \"_id\": \"dc7e8ecc2a0d17fd01a0bba0\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Vernon\",\n+ \"position\": 5673976017715200,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n Player {\n \"_id\": \"aaf81c6f4d6a99acc2bc25d2\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:642:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "566", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:56:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 13, "static": false, "killedBy": [ - "659" + "640" ], "coveredBy": [ - "659" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 83 + "column": 137, + "line": 16 }, "start": { - "column": 35, - "line": 80 + "column": 66, + "line": 16 } } }, { - "id": "595", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 2\n\n GameVictory {\n- \"type\": \"white-werewolf\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"efa86bf5caea312d150e7bf1\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kiarra\",\n- \"position\": 4217548935528448,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:621:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "567", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 13, "static": false, "killedBy": [ - "659" + "641" ], "coveredBy": [ - "659" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 116, - "line": 82 + "column": 137, + "line": 16 }, "start": { - "column": 41, - "line": 82 + "column": 89, + "line": 16 } } }, { - "id": "596", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 19\n+ Received + 1\n\n GameVictory {\n \"type\": \"white-werewolf\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"a1cdf3fc29c9a6a62ef8f0bf\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kasandra\",\n- \"position\": 5179243782733824,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"winners\": Array [],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:621:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "568", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:56:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 13, "static": false, "killedBy": [ - "659" + "640" ], "coveredBy": [ - "659" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 114, - "line": 82 + "column": 137, + "line": 16 }, "start": { - "column": 93, - "line": 82 + "column": 89, + "line": 16 } } }, { - "id": "597", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 16\n\n GameVictory {\n- \"type\": \"villagers\",\n+ \"type\": \"werewolves\",\n \"winners\": Array [\n Player {\n- \"_id\": \"c79afdbbe7bfb8beadfcef31\",\n+ \"_id\": \"9e20840aad3f9954441155c4\",\n \"attributes\": Array [],\n \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Hope\",\n- \"position\": 3507893561196544,\n+ \"isAlive\": false,\n+ \"name\": \"Nelson\",\n+ \"position\": 3777369395429376,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Player {\n- \"_id\": \"c590d9fd80ad5fbd0e53d621\",\n+ \"_id\": \"adbba0fa3aa9385aeb18e28e\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n- \"name\": \"Giovanni\",\n- \"position\": 6993009459593216,\n+ \"name\": \"Amani\",\n+ \"position\": 3250936480792576,\n \"role\": PlayerRole {\n- \"current\": \"seer\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"seer\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:668:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "569", + "mutatorName": "LogicalOperator", + "replacement": "side.current === ROLE_SIDES.VILLAGERS || isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 13, "static": false, "killedBy": [ - "661" + "641" ], "coveredBy": [ - "660", - "661", - "662" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 28, - "line": 84 + "column": 137, + "line": 16 }, "start": { - "column": 7, - "line": 84 + "column": 89, + "line": 16 } } }, { - "id": "598", + "id": "570", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"werewolves\", \"winners\": [{\"_id\": \"c0ada9d58538be6e07fc7d68\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jeanette\", \"position\": 5207520180174848, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"f0fbe734b0bde80a1a5116dd\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Emelia\", \"position\": 8977342862983168, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:655:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 13, "static": false, "killedBy": [ - "660" + "641" ], "coveredBy": [ - "660", - "661", - "662" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 28, - "line": 84 + "column": 126, + "line": 16 }, "start": { - "column": 7, - "line": 84 + "column": 89, + "line": 16 } } }, { - "id": "599", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"werewolves\", \"winners\": [{\"_id\": \"e6da08daddcc3c727bc1d1ad\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Hortense\", \"position\": 7134404174413824, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"0a8af32a90e941cd4eb39da6\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Arvel\", \"position\": 7464586894639104, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:655:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "571", + "mutatorName": "EqualityOperator", + "replacement": "side.current !== ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 13, "static": false, "killedBy": [ - "660" + "641" ], "coveredBy": [ - "660" + "530", + "531", + "640", + "641", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 87 + "column": 126, + "line": 16 }, "start": { - "column": 30, - "line": 84 + "column": 89, + "line": 16 } } }, { - "id": "600", - "mutatorName": "ObjectLiteral", + "id": "572", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 37\n+ Received + 2\n\n GameVictory {\n- \"type\": \"werewolves\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"d7202e82b2ab8abf9e8ff5a3\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Garnett\",\n- \"position\": 2008966089408512,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"3dae17ebde12c95a2b2de9be\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Mina\",\n- \"position\": 5682809783975936,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:634:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(19,38): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "660" - ], + "killedBy": [], "coveredBy": [ - "660" + "530", + "531", + "642", + "643", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 112, - "line": 86 + "column": 2, + "line": 22 }, "start": { - "column": 41, - "line": 86 + "column": 46, + "line": 19 } } }, { - "id": "601", + "id": "573", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 38\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 739129138610177,\n \"turn\": 7613214950948864,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n@@ -232,6 +232,43 @@\n \"name\": \"werewolves\",\n },\n },\n ],\n \"updatedAt\": Any,\n+ \"victory\": Object {\n+ \"type\": \"villagers\",\n+ \"winners\": Array [\n+ Object {\n+ \"_id\": \"fc6a2edbbed42b14fd1b82bc\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Arlo\",\n+ \"position\": 6703929488310272,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"dc3d6e4485fa7ede2424e679\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Sally\",\n+ \"position\": 6137048777883648,\n+ \"role\": Object {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "661", - "662" + "530", + "531", + "642", + "643", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 27, - "line": 88 + "column": 138, + "line": 21 }, "start": { - "column": 7, - "line": 88 + "column": 10, + "line": 21 } } }, { - "id": "602", + "id": "574", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:109:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "645" + ], "coveredBy": [ - "661", - "662" + "530", + "531", + "642", + "643", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 27, - "line": 88 + "column": 138, + "line": 21 }, "start": { - "column": 7, - "line": 88 + "column": 10, + "line": 21 } } }, { - "id": "603", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"villagers\", \"winners\": [{\"_id\": \"fabf3bf424e8ecb7b7ef0bd8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Fredrick\", \"position\": 3509730557296640, \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"original\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cdcd4f55a18433b664a98179\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Kylee\", \"position\": 8510085921767424, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:668:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "575", + "mutatorName": "LogicalOperator", + "replacement": "villagersSidedPlayers.length > 0 || !game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.WEREWOLVES && isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 11, "static": false, "killedBy": [ - "661" + "642" ], "coveredBy": [ - "661" + "530", + "531", + "642", + "643", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 91 + "column": 138, + "line": 21 }, "start": { - "column": 29, - "line": 88 + "column": 10, + "line": 21 } } }, { - "id": "604", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 37\n+ Received + 2\n\n GameVictory {\n- \"type\": \"villagers\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"c3fee1f0fdd77f49997d3eef\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Ignatius\",\n- \"position\": 6642240187269120,\n- \"role\": PlayerRole {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"d5ddfaccfdc81c6284387886\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Breana\",\n- \"position\": 2602810162020352,\n- \"role\": PlayerRole {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:647:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "576", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 11, "static": false, "killedBy": [ - "661" + "642" ], "coveredBy": [ - "661" + "530", + "531", + "642", + "643", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 110, - "line": 90 + "column": 42, + "line": 21 }, "start": { - "column": 41, - "line": 90 + "column": 10, + "line": 21 } } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../role/enums/role.enum\";\nimport { GAME_PLAY_ACTIONS } from \"../../enums/game-play.enum\";\nimport { GAME_VICTORY_TYPES } from \"../../enums/game-victory.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from \"../../enums/player.enum\";\nimport { GameVictory } from \"../../schemas/game-victory/game-victory.schema\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport { areAllPlayersDead, getLeftToCharmByPiedPiperPlayers, getPlayersWithActiveAttributeName, getPlayersWithCurrentSide, getPlayerWithCurrentRole } from \"../game.helper\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"../player/player-attribute/player-attribute.helper\";\nimport { isPlayerAliveAndPowerful, isPlayerPowerful } from \"../player/player.helper\";\n\nfunction doWerewolvesWin(game: Game): boolean {\n const werewolvesSidedPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n return werewolvesSidedPlayers.length > 0 && !game.players.some(({ side, isAlive }) => side.current === ROLE_SIDES.VILLAGERS && isAlive);\n}\n\nfunction doVillagersWin(game: Game): boolean {\n const villagersSidedPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n return villagersSidedPlayers.length > 0 && !game.players.some(({ side, isAlive }) => side.current === ROLE_SIDES.WEREWOLVES && isAlive);\n}\n\nfunction doLoversWin(game: Game): boolean {\n const lovers = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n return lovers.length > 0 && game.players.every(player => {\n const isPlayerInLove = doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game);\n return isPlayerInLove && player.isAlive || !isPlayerInLove && !player.isAlive;\n });\n}\n\nfunction doesWhiteWerewolfWin(game: Game): boolean {\n const whiteWerewolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n return !!whiteWerewolfPlayer && game.players.every(({ role, isAlive }) =>\n role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive || role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive);\n}\n\nfunction doesPiedPiperWin(game: Game): boolean {\n const { isPowerlessIfInfected } = game.options.roles.piedPiper;\n const piedPiperPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.PIED_PIPER);\n const leftToCharmPlayers = getLeftToCharmByPiedPiperPlayers(game);\n return !!piedPiperPlayer && isPlayerAliveAndPowerful(piedPiperPlayer, game) && !leftToCharmPlayers.length &&\n (!isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS);\n}\n\nfunction doesAngelWin(game: Game): boolean {\n const angelPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.ANGEL);\n if (!angelPlayer?.death || angelPlayer.isAlive || !isPlayerPowerful(angelPlayer, game) || game.turn > 1) {\n return false;\n }\n return [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.EATEN].includes(angelPlayer.death.cause);\n}\n\nfunction isGameOver(game: Game): boolean {\n const { upcomingPlays, currentPlay } = game;\n if (!currentPlay) {\n throw createNoCurrentGamePlayUnexpectedException(\"isGameOver\", { gameId: game._id });\n }\n const isShootPlayIncoming = !!upcomingPlays.find(({ action, source }) => action === GAME_PLAY_ACTIONS.SHOOT && source.name === ROLE_NAMES.HUNTER);\n return areAllPlayersDead(game) || currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT && !isShootPlayIncoming &&\n (doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game) || doesAngelWin(game));\n}\n\nfunction generateGameVictoryData(game: Game): GameVictory | undefined {\n if (areAllPlayersDead(game)) {\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.NONE }, plainToInstanceDefaultOptions);\n }\n if (doesAngelWin(game)) {\n const angelPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.ANGEL);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.ANGEL, winners: [angelPlayer] }, plainToInstanceDefaultOptions);\n }\n if (doLoversWin(game)) {\n const inLovePlayers = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.LOVERS, winners: inLovePlayers }, plainToInstanceDefaultOptions);\n }\n if (doesPiedPiperWin(game)) {\n const piedPiperPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.PIED_PIPER);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.PIED_PIPER, winners: [piedPiperPlayer] }, plainToInstanceDefaultOptions);\n }\n if (doesWhiteWerewolfWin(game)) {\n const whiteWerewolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.WHITE_WEREWOLF, winners: [whiteWerewolfPlayer] }, plainToInstanceDefaultOptions);\n }\n if (doWerewolvesWin(game)) {\n const werewolvesSidePlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.WEREWOLVES, winners: werewolvesSidePlayers }, plainToInstanceDefaultOptions);\n }\n if (doVillagersWin(game)) {\n const villagersSidePlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.VILLAGERS, winners: villagersSidePlayers }, plainToInstanceDefaultOptions);\n }\n}\n\nexport {\n doWerewolvesWin,\n doVillagersWin,\n doLoversWin,\n doesWhiteWerewolfWin,\n doesPiedPiperWin,\n doesAngelWin,\n isGameOver,\n generateGameVictoryData,\n};" - }, - "src/modules/game/helpers/game.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "605", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.factory.ts(6,34): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "577", + "mutatorName": "EqualityOperator", + "replacement": "villagersSidedPlayers.length >= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "642" + ], "coveredBy": [ - "1", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227", - "228", - "229", - "230", - "231", - "338", - "339", - "340", - "341", - "342", - "347", - "348", - "374", - "375", - "376", - "377", - "378", - "379", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "389", - "390", - "391", - "392", - "393", - "394", - "395", - "396", - "397", - "398", - "399", - "400", - "401", - "402", - "403", - "404", - "405", - "406", - "407", - "408", - "409", - "410", - "411", - "412", - "413", - "414", - "570", - "571", - "572", - "573", - "669", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", + "530", + "531", + "642", + "643", + "644", + "645", "678", - "679", - "680", "681", "682", - "685", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698", - "794", - "795", - "796", - "797", - "798", - "799", - "800", - "801", - "802", - "814", - "815", - "816", - "817", - "818", - "819", - "820", - "821", - "822", - "823", - "824", - "825", - "826", - "827", - "828", - "829", - "838", - "952" + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 8 + "column": 42, + "line": 21 }, "start": { - "column": 39, - "line": 6 + "column": 10, + "line": 21 } } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../shared/validation/constants/validation.constant\";\nimport { Game } from \"../schemas/game.schema\";\n\nfunction createGame(game: Game): Game {\n return plainToInstance(Game, toJSON(game), plainToInstanceDefaultOptions);\n}\n\nexport { createGame };" - }, - "src/modules/game/helpers/game.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "606", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(15,71): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "578", + "mutatorName": "EqualityOperator", + "replacement": "villagersSidedPlayers.length <= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:75:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "642" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "273", - "282", - "283", - "287", - "288", - "297", - "299", - "306", - "308", - "321", - "324", - "327", - "463", - "464", - "560", - "561" + "530", + "531", + "642", + "643", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 17 + "column": 42, + "line": 21 }, "start": { - "column": 103, - "line": 15 + "column": 10, + "line": 21 } } }, { - "id": "607", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "579", + "mutatorName": "BooleanLiteral", + "replacement": "game.players.some(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.WEREWOLVES && isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "644" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "273", - "282", - "283", - "287", - "288", - "297", - "299", - "306", - "308", - "321", - "324", - "327", - "463", - "464", - "560", - "561" + "530", + "531", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 63, - "line": 16 + "column": 138, + "line": 21 }, "start": { - "column": 28, - "line": 16 + "column": 46, + "line": 21 } } }, { - "id": "608", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "580", + "mutatorName": "MethodExpression", + "replacement": "game.players.every(({\n side,\n isAlive\n}) => side.current === ROLE_SIDES.WEREWOLVES && isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "644" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "273", - "282", - "283", - "287", - "288", - "297", - "299", - "306", - "308", - "321", - "324", - "327", - "463", - "464", - "560", - "561" + "530", + "531", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 63, - "line": 16 + "column": 138, + "line": 21 }, "start": { - "column": 38, - "line": 16 + "column": 47, + "line": 21 } } }, { - "id": "609", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:290:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "581", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 9, "static": false, "killedBy": [ - "241" + "644" ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "273", - "282", - "283", - "287", - "288", - "297", - "299", - "306", - "308", - "321", - "324", - "327", - "463", - "464", - "560", - "561" + "530", + "531", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 63, - "line": 16 + "column": 137, + "line": 21 }, "start": { - "column": 38, - "line": 16 + "column": 65, + "line": 21 } } }, { - "id": "610", - "mutatorName": "EqualityOperator", - "replacement": "player.role.name !== role", - "status": "Timeout", + "id": "582", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:109:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "645" + ], "coveredBy": [ - "240", - "241", - "250", - "251", - "263", - "271", - "273", - "282", - "283", - "287", - "288", - "297", - "299", - "306", - "308", - "321", - "324", - "327", - "463", - "464", - "560", - "561" + "530", + "531", + "644", + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 63, - "line": 16 + "column": 137, + "line": 21 }, "start": { - "column": 38, - "line": 16 + "column": 88, + "line": 21 } } }, { - "id": "611", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(19,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "583", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:97:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "644" + ], "coveredBy": [ - "23", - "24", - "25", - "27", - "54", - "55", - "56", - "60", - "61", - "62", - "129", - "130", - "131", - "132", - "133", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "187", - "188", - "189", - "190", - "193", - "194", - "195", - "198", - "199", - "200", - "201", - "202", - "228", - "229", - "233", - "234", - "235", - "242", - "243", - "244", - "245", - "246", - "247", - "252", - "253", - "254", - "255", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "284", - "285", - "286", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "322", - "323", - "325", - "326", - "328", - "329", - "330", - "336", - "374", - "375", - "376", - "377", - "378", - "400", - "401", - "402", - "403", - "404", - "465", - "466", - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", + "530", + "531", "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 2, + "column": 137, "line": 21 }, "start": { - "column": 85, - "line": 19 + "column": 88, + "line": 21 } } }, { - "id": "612", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "584", + "mutatorName": "LogicalOperator", + "replacement": "side.current === ROLE_SIDES.WEREWOLVES || isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:109:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "645" + ], "coveredBy": [ - "23", - "24", - "25", - "27", - "54", - "55", - "56", - "60", - "61", - "62", - "129", - "130", - "131", - "132", - "133", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "187", - "188", - "189", - "190", - "193", - "194", - "195", - "198", - "199", - "200", - "201", - "202", - "228", - "229", - "233", - "234", - "235", - "242", - "243", - "244", - "245", - "246", - "247", - "252", - "253", - "254", - "255", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "284", - "285", - "286", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "322", - "323", - "325", - "326", - "328", - "329", - "330", - "336", - "374", - "375", - "376", - "377", - "378", - "400", - "401", - "402", - "403", - "404", - "465", - "466", - "572", - "573", - "623", - "624", - "625", - "626", - "627", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "636", - "637", - "638", - "639", - "640", - "641", - "642", - "643", + "530", + "531", "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 66, - "line": 20 + "column": 137, + "line": 21 }, "start": { - "column": 28, - "line": 20 + "column": 88, + "line": 21 } } }, { - "id": "613", + "id": "585", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:238:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:109:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 137, + "testsCompleted": 9, "static": false, "killedBy": [ - "631" + "645" ], "coveredBy": [ - "23", - "24", - "25", - "27", - "55", - "61", - "130", - "131", - "132", - "133", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "187", - "188", - "189", - "190", - "193", - "194", - "195", - "198", - "199", - "200", - "201", - "202", - "228", - "229", - "233", - "234", - "235", - "242", - "243", - "244", - "245", - "246", - "247", - "252", - "253", - "254", - "255", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "284", - "285", - "286", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "322", - "323", - "325", - "326", - "328", - "329", - "330", - "374", - "375", - "376", - "377", - "378", - "400", - "401", - "402", - "403", - "404", - "465", - "466", - "572", - "573", - "624", - "625", - "626", - "627", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "637", - "638", - "639", - "640", - "641", - "642", - "643", + "530", + "531", "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 66, - "line": 20 + "column": 126, + "line": 21 }, "start": { - "column": 38, - "line": 20 + "column": 88, + "line": 21 } } }, { - "id": "614", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "586", + "mutatorName": "EqualityOperator", + "replacement": "side.current !== ROLE_SIDES.WEREWOLVES", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:109:36)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "645" + ], "coveredBy": [ - "23", - "24", - "25", - "27", - "55", - "61", - "130", - "131", - "132", - "133", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "187", - "188", - "189", - "190", - "193", - "194", - "195", - "198", - "199", - "200", - "201", - "202", - "228", - "229", - "233", - "234", - "235", - "242", - "243", - "244", - "245", - "246", - "247", - "252", - "253", - "254", - "255", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "284", - "285", - "286", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "322", - "323", - "325", - "326", - "328", - "329", - "330", - "374", - "375", - "376", - "377", - "378", - "400", - "401", - "402", - "403", - "404", - "465", - "466", - "572", - "573", - "624", - "625", - "626", - "627", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "637", - "638", - "639", - "640", - "641", - "642", - "643", + "530", + "531", "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "645", + "678", + "681", + "682", + "689", + "690" ], "location": { "end": { - "column": 66, - "line": 20 + "column": 126, + "line": 21 }, "start": { - "column": 38, - "line": 20 + "column": 88, + "line": 21 } } }, { - "id": "615", - "mutatorName": "EqualityOperator", - "replacement": "player.role.current !== role", - "status": "Timeout", + "id": "587", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(24,35): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "23", - "24", - "25", - "27", - "55", - "61", - "130", - "131", - "132", - "133", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "187", - "188", - "189", - "190", - "193", - "194", - "195", - "198", - "199", - "200", - "201", - "202", - "228", - "229", - "233", - "234", - "235", - "242", - "243", - "244", - "245", - "246", - "247", - "252", - "253", - "254", - "255", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "284", - "285", - "286", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "322", - "323", - "325", - "326", - "328", - "329", - "330", - "374", - "375", - "376", - "377", - "378", - "400", - "401", - "402", - "403", - "404", - "465", - "466", - "572", - "573", - "624", - "625", - "626", - "627", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "637", - "638", - "639", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", + "530", + "531", + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 66, - "line": 20 + "column": 2, + "line": 30 }, "start": { - "column": 38, - "line": 20 + "column": 43, + "line": 24 } } }, { - "id": "616", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(23,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "588", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "646" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305", - "309", - "310", - "311", - "312", - "313", - "467", - "468", - "528", + "530", "531", - "532", - "561" + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 25 + "column": 5, + "line": 29 }, "start": { - "column": 76, - "line": 23 + "column": 10, + "line": 26 } } }, { - "id": "617", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "589", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "650" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305", - "309", - "310", - "311", - "312", - "313", - "467", - "468", - "528", + "530", "531", - "532", - "561" + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 69, - "line": 24 + "column": 5, + "line": 29 }, "start": { "column": 10, - "line": 24 + "line": 26 } } }, { - "id": "618", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "590", + "mutatorName": "LogicalOperator", + "replacement": "lovers.length > 0 || game.players.every(player => {\n const isPlayerInLove = doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game);\n return isPlayerInLove && player.isAlive || !isPlayerInLove && !player.isAlive;\n})", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "646" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305", - "309", - "310", - "311", - "312", - "313", - "467", - "468", - "528", + "530", "531", - "532", - "561" + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 68, - "line": 24 + "column": 5, + "line": 29 }, "start": { - "column": 30, - "line": 24 + "column": 10, + "line": 26 } } }, { - "id": "619", + "id": "591", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "646" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305", - "309", - "310", - "311", - "312", - "313", - "467", - "468", - "528", + "530", "531", - "532", - "561" + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 68, - "line": 24 + "column": 27, + "line": 26 }, "start": { - "column": 40, - "line": 24 + "column": 10, + "line": 26 } } }, { - "id": "620", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "592", + "mutatorName": "EqualityOperator", + "replacement": "lovers.length >= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "646" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305", - "309", - "310", - "311", - "312", - "313", - "467", - "468", - "528", + "530", "531", - "532", - "561" + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 68, - "line": 24 + "column": 27, + "line": 26 }, "start": { - "column": 40, - "line": 24 + "column": 10, + "line": 26 } } }, { - "id": "621", + "id": "593", "mutatorName": "EqualityOperator", - "replacement": "player.role.current !== role", - "status": "Timeout", + "replacement": "lovers.length <= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:117:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "646" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305", - "309", - "310", - "311", - "312", - "313", - "467", - "468", - "528", + "530", "531", - "532", - "561" + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 68, - "line": 24 + "column": 27, + "line": 26 }, "start": { - "column": 40, - "line": 24 + "column": 10, + "line": 26 } } }, { - "id": "622", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(27,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "594", + "mutatorName": "MethodExpression", + "replacement": "game.players.some(player => {\n const isPlayerInLove = doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game);\n return isPlayerInLove && player.isAlive || !isPlayerInLove && !player.isAlive;\n})", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "291", - "292", - "293", - "295", - "296", - "469", - "470", - "482", - "483", - "484", - "485", - "486", - "487", - "504", - "505", - "527", - "572", - "573", - "610", - "611", - "612", - "613", - "614", - "615", - "616", - "617", + "648", "649", "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "685" ], "location": { "end": { - "column": 2, + "column": 5, "line": 29 }, "start": { - "column": 76, - "line": 27 + "column": 31, + "line": 26 } } }, { - "id": "623", - "mutatorName": "MethodExpression", - "replacement": "game.players", + "id": "595", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "291", - "292", - "293", - "295", - "296", - "469", - "470", - "482", - "483", - "484", - "485", - "486", - "487", - "504", - "505", - "527", - "572", - "573", - "610", - "611", - "612", - "613", - "614", - "615", - "616", - "617", + "648", "649", "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "685" ], "location": { "end": { - "column": 69, - "line": 28 + "column": 4, + "line": 29 }, "start": { - "column": 10, - "line": 28 + "column": 60, + "line": 26 } } }, { - "id": "624", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "596", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:141:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "648" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "291", - "292", - "293", - "295", - "296", - "469", - "470", - "482", - "483", - "484", - "485", - "486", - "487", - "504", - "505", - "527", - "572", - "573", - "610", - "611", - "612", - "613", - "614", - "615", - "616", - "617", + "648", "649", "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "685" ], "location": { "end": { - "column": 68, + "column": 82, "line": 28 }, "start": { - "column": 30, + "column": 12, "line": 28 } } }, { - "id": "625", + "id": "597", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:539:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 38, + "testsCompleted": 4, "static": false, "killedBy": [ - "261" + "650" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "291", - "292", - "293", - "295", - "296", - "469", - "470", - "483", - "484", - "486", - "487", - "504", - "505", - "527", - "572", - "573", - "611", - "612", - "613", - "615", - "616", - "617", + "648", "649", "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "685" ], "location": { "end": { - "column": 68, + "column": 82, "line": 28 }, "start": { - "column": 40, + "column": 12, "line": 28 } } }, { - "id": "626", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "598", + "mutatorName": "LogicalOperator", + "replacement": "isPlayerInLove && player.isAlive && !isPlayerInLove && !player.isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "650" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "291", - "292", - "293", - "295", - "296", - "469", - "470", - "483", - "484", - "486", - "487", - "504", - "505", - "527", - "572", - "573", - "611", - "612", - "613", - "615", - "616", - "617", + "648", "649", "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "685" ], "location": { "end": { - "column": 68, + "column": 82, "line": 28 }, "start": { - "column": 40, + "column": 12, "line": 28 } } }, { - "id": "627", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== side", + "id": "599", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "291", - "292", - "293", - "295", - "296", - "469", - "470", - "483", - "484", - "486", - "487", - "504", - "505", - "527", - "572", - "573", - "611", - "612", - "613", - "615", - "616", - "617", + "648", "649", "650", - "651", - "652", - "653", - "654", - "660", - "661", - "662" + "685" ], "location": { "end": { - "column": 68, + "column": 44, "line": 28 }, "start": { - "column": 40, + "column": 12, "line": 28 } } }, { - "id": "628", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(31,59): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "600", + "mutatorName": "LogicalOperator", + "replacement": "isPlayerInLove || player.isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:141:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "648" + ], "coveredBy": [ - "158", - "178", - "183", - "197", - "200", - "201", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "339", - "340", - "341", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "435", - "436", - "437", - "438", - "453", - "454", - "455", - "456", - "457", - "458", - "460", - "461", - "471", - "472", - "473", - "474", - "510", - "511", - "512", - "513", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "570", - "572", - "573", - "804", - "805", - "806", - "808", - "809", - "813", - "817", - "818", - "819", - "823", - "824", - "825" + "648", + "649", + "650", + "685" ], "location": { "end": { - "column": 2, - "line": 33 + "column": 44, + "line": 28 }, "start": { - "column": 78, - "line": 31 + "column": 12, + "line": 28 } } }, { - "id": "629", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: [{\"_id\": \"aab9cd7a1e8dc7a1cfabe9aa\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Ezekiel\", \"position\": 4547750871957504, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"a8f7627cc683c3ea849b320f\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Erika\", \"position\": 8970568588066816, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:334:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "601", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 86, + "testsCompleted": 4, "static": false, "killedBy": [ - "435" + "650" ], "coveredBy": [ - "158", - "178", - "183", - "197", - "200", - "201", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "339", - "340", - "341", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "435", - "436", - "437", - "438", - "453", - "454", - "455", - "456", - "457", - "458", - "460", - "461", - "471", - "472", - "473", - "474", - "510", - "511", - "512", - "513", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "570", - "572", - "573", - "804", - "805", - "806", - "808", - "809", - "813", - "817", - "818", - "819", - "823", - "824", - "825" + "648", + "649", + "650", + "685" ], "location": { "end": { - "column": 73, - "line": 32 + "column": 82, + "line": 28 }, "start": { - "column": 28, - "line": 32 + "column": 48, + "line": 28 } } }, { - "id": "630", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "602", + "mutatorName": "LogicalOperator", + "replacement": "!isPlayerInLove || !player.isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:141:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "648" + ], "coveredBy": [ - "158", - "178", - "183", - "197", - "200", - "201", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "339", - "340", - "341", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "435", - "436", - "437", - "438", - "453", - "454", - "455", - "456", - "457", - "458", - "471", - "472", - "473", - "474", - "510", - "511", - "512", - "513", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "570", - "572", - "573", - "804", - "805", - "806", - "808", - "809", - "813", - "817", - "818", - "819", - "824", - "825" + "648", + "649", + "650", + "685" ], "location": { "end": { - "column": 73, - "line": 32 + "column": 82, + "line": 28 }, "start": { - "column": 41, - "line": 32 + "column": 48, + "line": 28 } } }, { - "id": "631", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "603", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerInLove", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "197", - "200", - "201", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "339", - "340", - "341", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "435", - "436", - "437", - "438", - "453", - "454", - "455", - "456", - "457", - "458", - "471", - "472", - "473", - "474", - "510", - "511", - "512", - "513", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "570", - "572", - "573", - "804", - "805", - "806", - "808", - "809", - "813", - "817", - "818", - "819", - "824", - "825" + "648", + "649", + "650", + "685" ], "location": { "end": { - "column": 73, - "line": 32 + "column": 63, + "line": 28 }, "start": { - "column": 41, - "line": 32 + "column": 48, + "line": 28 } } }, { - "id": "632", - "mutatorName": "EqualityOperator", - "replacement": "_id.toString() !== id.toString()", - "status": "Timeout", + "id": "604", + "mutatorName": "BooleanLiteral", + "replacement": "player.isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:165:33)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "650" + ], "coveredBy": [ - "158", - "178", - "183", - "197", - "200", - "201", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "339", - "340", - "341", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "435", - "436", - "437", - "438", - "453", - "454", - "455", - "456", - "457", - "458", - "471", - "472", - "473", - "474", - "510", - "511", - "512", - "513", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "570", - "572", - "573", - "804", - "805", - "806", - "808", - "809", - "813", - "817", - "818", - "819", - "824", - "825" + "648", + "649", + "650", + "685" ], "location": { "end": { - "column": 73, - "line": 32 + "column": 82, + "line": 28 }, "start": { - "column": 41, - "line": 32 + "column": 67, + "line": 28 } } }, { - "id": "633", + "id": "605", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(35,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(32,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "473", - "474", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "651", + "652", + "653", + "654", + "655", + "681", + "682", + "687", + "688", + "689", + "690" ], "location": { "end": { "column": 2, - "line": 41 + "line": 36 }, "start": { - "column": 97, - "line": 35 + "column": 52, + "line": 32 } } }, { - "id": "634", - "mutatorName": "BooleanLiteral", - "replacement": "player", - "statusReason": "src/modules/game/helpers/game.helper.ts(39,3): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "606", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "651" + ], "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "473", - "474", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "651", + "652", + "653", + "654", + "655", + "681", + "682", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 14, - "line": 37 + "column": 117, + "line": 35 }, "start": { - "column": 7, - "line": 37 + "column": 10, + "line": 34 } } }, { - "id": "635", + "id": "607", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game.helper.ts(39,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "655" + ], "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "473", - "474", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "651", + "652", + "653", + "654", + "655", + "681", + "682", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 14, - "line": 37 + "column": 117, + "line": 35 }, "start": { - "column": 7, - "line": 37 + "column": 10, + "line": 34 } } }, { - "id": "636", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(39,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "608", + "mutatorName": "LogicalOperator", + "replacement": "!!whiteWerewolfPlayer || game.players.every(({\n role,\n isAlive\n}) => role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive || role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "651" + ], "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "389", - "390", - "391", - "392", - "393", - "415", - "416", - "473", - "474", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "651", + "652", + "653", + "654", + "655", + "681", + "682", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 14, - "line": 37 + "column": 117, + "line": 35 }, "start": { - "column": 7, - "line": 37 + "column": 10, + "line": 34 } } }, { - "id": "637", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(37,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "609", + "mutatorName": "BooleanLiteral", + "replacement": "!whiteWerewolfPlayer", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "651" + ], "coveredBy": [ - "347", - "474", - "518", - "519" + "530", + "531", + "651", + "652", + "653", + "654", + "655", + "681", + "682", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 39 + "column": 31, + "line": 34 }, "start": { - "column": 16, - "line": 37 + "column": 10, + "line": 34 } } }, { - "id": "638", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(43,61): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "610", + "mutatorName": "BooleanLiteral", + "replacement": "whiteWerewolfPlayer", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:173:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "651" + ], "coveredBy": [ - "475", - "476", - "477", - "478" + "530", + "531", + "651", + "652", + "653", + "654", + "655", + "681", + "682", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 45 + "column": 31, + "line": 34 }, "start": { - "column": 80, - "line": 43 + "column": 11, + "line": 34 } } }, { - "id": "639", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "611", + "mutatorName": "MethodExpression", + "replacement": "game.players.some(({\n role,\n isAlive\n}) => role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive || role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "653" + ], "coveredBy": [ - "475", - "476", - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 83, - "line": 44 + "column": 117, + "line": 35 }, "start": { - "column": 28, - "line": 44 + "column": 35, + "line": 34 } } }, { - "id": "640", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "612", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "655" + ], "coveredBy": [ - "475", - "476", - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 83, - "line": 44 + "column": 116, + "line": 35 }, "start": { - "column": 42, - "line": 44 + "column": 54, + "line": 34 } } }, { - "id": "641", + "id": "613", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], - "coveredBy": [ - "475", - "476", - "477", - "478" + "killedBy": [ + "653" ], - "location": { - "end": { - "column": 83, - "line": 44 - }, - "start": { - "column": 42, - "line": 44 - } - } - }, - { - "id": "642", - "mutatorName": "EqualityOperator", - "replacement": "name.toString() !== playerName.toString()", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "475", - "476", - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 83, - "line": 44 + "column": 116, + "line": 35 }, "start": { - "column": 42, - "line": 44 + "column": 5, + "line": 35 } } }, { - "id": "643", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(47,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "614", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "655" + ], "coveredBy": [ - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 2, - "line": 53 + "column": 116, + "line": 35 }, "start": { - "column": 93, - "line": 47 + "column": 5, + "line": 35 } } }, { - "id": "644", - "mutatorName": "BooleanLiteral", - "replacement": "player", - "statusReason": "src/modules/game/helpers/game.helper.ts(51,3): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "615", + "mutatorName": "LogicalOperator", + "replacement": "role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive && role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "655" + ], "coveredBy": [ - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 14, - "line": 49 + "column": 116, + "line": 35 }, "start": { - "column": 7, - "line": 49 + "column": 5, + "line": 35 } } }, { - "id": "645", + "id": "616", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game.helper.ts(51,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 14, - "line": 49 + "column": 58, + "line": 35 }, "start": { - "column": 7, - "line": 49 + "column": 5, + "line": 35 } } }, { - "id": "646", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(51,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "617", + "mutatorName": "LogicalOperator", + "replacement": "role.current === ROLE_NAMES.WHITE_WEREWOLF || isAlive", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(35,62): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.WEREWOLF | ROLE_NAMES.BIG_BAD_WOLF | ROLE_NAMES.VILE_FATHER_OF_WOLVES | ROLE_NAMES.VILLAGER | ROLE_NAMES.VILLAGER_VILLAGER | ROLE_NAMES.SEER | ROLE_NAMES.CUPID | ... 18 more ... | ROLE_NAMES.RAVEN' and 'ROLE_NAMES.WHITE_WEREWOLF' have no overlap.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "477", - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 14, - "line": 49 + "column": 58, + "line": 35 }, "start": { - "column": 7, - "line": 49 + "column": 5, + "line": 35 } } }, { - "id": "647", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(49,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "618", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "653" + ], "coveredBy": [ - "478" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 4, - "line": 51 + "column": 47, + "line": 35 }, "start": { - "column": 16, - "line": 49 + "column": 5, + "line": 35 } } }, { - "id": "648", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(55,96): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "619", + "mutatorName": "EqualityOperator", + "replacement": "role.current !== ROLE_NAMES.WHITE_WEREWOLF", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "655" + ], "coveredBy": [ - "457", - "458", - "479", - "480", - "481", - "811", - "812", - "813" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 2, - "line": 57 + "column": 47, + "line": 35 }, "start": { - "column": 127, - "line": 55 + "column": 5, + "line": 35 } } }, { - "id": "649", - "mutatorName": "OptionalChaining", - "replacement": "cards.find", - "statusReason": "src/modules/game/helpers/game.helper.ts(56,10): error TS18048: 'cards' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "620", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "457", - "458", - "479", - "480", - "481", - "811", - "812", - "813" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 21, - "line": 56 + "column": 116, + "line": 35 }, "start": { - "column": 10, - "line": 56 + "column": 62, + "line": 35 } } }, { - "id": "650", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: thrown: ResourceNotFoundException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:135:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:118:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:21:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "621", + "mutatorName": "LogicalOperator", + "replacement": "role.current !== ROLE_NAMES.WHITE_WEREWOLF || !isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:194:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 4, "static": false, "killedBy": [ - "812" + "653" ], "coveredBy": [ - "457", - "458", - "479", - "481", - "811", - "812", - "813" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 67, - "line": 56 + "column": 116, + "line": 35 }, "start": { - "column": 22, - "line": 56 + "column": 62, + "line": 35 } } }, { - "id": "651", + "id": "622", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: ResourceNotFoundException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:131:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:205:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 4, "static": false, "killedBy": [ - "811" + "654" ], "coveredBy": [ - "457", - "458", - "479", - "481", - "811", - "812", - "813" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 67, - "line": 56 + "column": 104, + "line": 35 }, "start": { - "column": 35, - "line": 56 + "column": 62, + "line": 35 } } }, { - "id": "652", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "623", + "mutatorName": "EqualityOperator", + "replacement": "role.current === ROLE_NAMES.WHITE_WEREWOLF", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "655" + ], "coveredBy": [ - "457", - "458", - "479", - "481", - "811", - "812", - "813" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 67, - "line": 56 + "column": 104, + "line": 35 }, "start": { - "column": 35, - "line": 56 + "column": 62, + "line": 35 } } }, { - "id": "653", - "mutatorName": "EqualityOperator", - "replacement": "_id.toString() !== id.toString()", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 3\n\n GameAdditionalCard {\n- \"_id\": \"02d1c76e546ddfdadb76bb1c\",\n- \"isUsed\": true,\n+ \"_id\": \"48f9b91ab7fd3e7cdf47eeb8\",\n+ \"isUsed\": false,\n \"recipient\": \"thief\",\n- \"roleName\": \"little-girl\",\n+ \"roleName\": \"two-sisters\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:190:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "624", + "mutatorName": "BooleanLiteral", + "replacement": "isAlive", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 4, "static": false, "killedBy": [ - "479" + "655" ], "coveredBy": [ - "457", - "458", - "479", - "481", - "811", - "812", - "813" + "653", + "654", + "655", + "687" ], "location": { "end": { - "column": 67, - "line": 56 + "column": 116, + "line": 35 }, "start": { - "column": 35, - "line": 56 + "column": 108, + "line": 35 } } }, { - "id": "654", + "id": "625", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(59,45): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(38,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { "column": 2, - "line": 62 + "line": 44 }, "start": { - "column": 53, - "line": 59 + "column": 48, + "line": 38 } } }, { - "id": "655", + "id": "626", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:224:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], + "killedBy": [ + "656" + ], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 91, - "line": 61 + "column": 86, + "line": 43 }, "start": { "column": 10, - "line": 61 + "line": 42 } } }, { - "id": "656", + "id": "627", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:297:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], + "killedBy": [ + "662" + ], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 91, - "line": 61 + "column": 86, + "line": 43 }, "start": { "column": 10, - "line": 61 + "line": 42 } } }, { - "id": "657", + "id": "628", "mutatorName": "LogicalOperator", - "replacement": "werewolfPlayers.length > 0 || werewolfPlayers.every(werewolf => werewolf.isAlive)", - "status": "Timeout", + "replacement": "!!piedPiperPlayer && isPlayerAliveAndPowerful(piedPiperPlayer, game) && !leftToCharmPlayers.length || !isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(42,138): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 91, - "line": 61 + "column": 86, + "line": 43 }, "start": { "column": 10, - "line": 61 + "line": 42 } } }, { - "id": "658", + "id": "629", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 36, - "line": 61 + "column": 108, + "line": 42 }, "start": { "column": 10, - "line": 61 + "line": 42 } } }, { - "id": "659", - "mutatorName": "EqualityOperator", - "replacement": "werewolfPlayers.length >= 0", - "status": "Timeout", + "id": "630", + "mutatorName": "LogicalOperator", + "replacement": "!!piedPiperPlayer && isPlayerAliveAndPowerful(piedPiperPlayer, game) || !leftToCharmPlayers.length", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 36, - "line": 61 + "column": 108, + "line": 42 }, "start": { "column": 10, - "line": 61 + "line": 42 } } }, { - "id": "660", - "mutatorName": "EqualityOperator", - "replacement": "werewolfPlayers.length <= 0", - "status": "Timeout", + "id": "631", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "482", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 36, - "line": 61 + "column": 78, + "line": 42 }, "start": { "column": 10, - "line": 61 + "line": 42 } } }, { - "id": "661", - "mutatorName": "MethodExpression", - "replacement": "werewolfPlayers.some(werewolf => werewolf.isAlive)", - "status": "Timeout", + "id": "632", + "mutatorName": "LogicalOperator", + "replacement": "!!piedPiperPlayer || isPlayerAliveAndPowerful(piedPiperPlayer, game)", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(42,56): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 91, - "line": 61 + "column": 78, + "line": 42 }, "start": { - "column": 40, - "line": 61 + "column": 10, + "line": 42 } } }, { - "id": "662", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "633", + "mutatorName": "BooleanLiteral", + "replacement": "!piedPiperPlayer", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(42,55): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "291", - "292", - "293", - "295", - "296", - "483", - "484" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 90, - "line": 61 + "column": 27, + "line": 42 }, "start": { - "column": 62, - "line": 61 + "column": 10, + "line": 42 } } }, { - "id": "663", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(64,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "634", + "mutatorName": "BooleanLiteral", + "replacement": "piedPiperPlayer", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(42,55): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(43,32): error TS18048: 'piedPiperPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "485", - "486", - "487" + "530", + "531", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 67 + "column": 27, + "line": 42 }, "start": { - "column": 52, - "line": 64 + "column": 11, + "line": 42 } } }, { - "id": "664", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "635", + "mutatorName": "BooleanLiteral", + "replacement": "leftToCharmPlayers.length", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(43,3): error TS2322: Type 'number | boolean' is not assignable to type 'boolean'.\n Type 'number' is not assignable to type 'boolean'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "485", - "486", - "487" + "661", + "662", + "663", + "681", + "686" ], "location": { "end": { - "column": 91, - "line": 66 + "column": 108, + "line": 42 }, "start": { - "column": 10, - "line": 66 + "column": 82, + "line": 42 } } }, { - "id": "665", + "id": "636", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:263:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "661" + ], "coveredBy": [ - "485", - "486", - "487" + "661", + "662", + "663", + "681", + "686" ], "location": { "end": { - "column": 91, - "line": 66 + "column": 85, + "line": 43 }, "start": { - "column": 10, - "line": 66 + "column": 6, + "line": 43 } } }, { - "id": "666", + "id": "637", "mutatorName": "LogicalOperator", - "replacement": "villagerPlayers.length > 0 || villagerPlayers.every(villager => villager.isAlive)", - "status": "Timeout", + "replacement": "!isPowerlessIfInfected && piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:276:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "662" + ], "coveredBy": [ - "485", - "486", - "487" + "661", + "662", + "663", + "681", + "686" ], "location": { "end": { - "column": 91, - "line": 66 + "column": 85, + "line": 43 }, "start": { - "column": 10, - "line": 66 + "column": 6, + "line": 43 } } }, { - "id": "667", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "638", + "mutatorName": "BooleanLiteral", + "replacement": "isPowerlessIfInfected", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:263:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "661" + ], "coveredBy": [ - "485", - "486", - "487" + "661", + "662", + "663", + "681", + "686" ], "location": { "end": { - "column": 36, - "line": 66 + "column": 28, + "line": 43 }, "start": { - "column": 10, - "line": 66 + "column": 6, + "line": 43 } } }, { - "id": "668", - "mutatorName": "EqualityOperator", - "replacement": "villagerPlayers.length >= 0", - "status": "Timeout", + "id": "639", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:289:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "663" + ], "coveredBy": [ - "485", - "486", - "487" + "661", + "663" ], "location": { "end": { - "column": 36, - "line": 66 + "column": 85, + "line": 43 }, "start": { - "column": 10, - "line": 66 + "column": 32, + "line": 43 } } }, { - "id": "669", + "id": "640", "mutatorName": "EqualityOperator", - "replacement": "villagerPlayers.length <= 0", - "status": "Timeout", + "replacement": "piedPiperPlayer.side.current !== ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:263:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "661" + ], "coveredBy": [ - "485", - "486", - "487" + "661", + "663" ], "location": { "end": { - "column": 36, - "line": 66 + "column": 85, + "line": 43 }, "start": { - "column": 10, - "line": 66 + "column": 32, + "line": 43 } } }, { - "id": "670", - "mutatorName": "MethodExpression", - "replacement": "villagerPlayers.some(villager => villager.isAlive)", - "status": "Timeout", + "id": "641", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(46,36): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "486", - "487" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 91, - "line": 66 + "column": 2, + "line": 52 }, "start": { - "column": 40, - "line": 66 + "column": 44, + "line": 46 } } }, { - "id": "671", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "642", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "486", - "487" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 90, - "line": 66 + "column": 106, + "line": 48 }, "start": { - "column": 62, - "line": 66 + "column": 7, + "line": 48 } } }, { - "id": "672", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(69,41): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "643", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 71 + "column": 106, + "line": 48 }, "start": { - "column": 49, - "line": 69 + "column": 7, + "line": 48 } } }, { - "id": "673", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "644", + "mutatorName": "LogicalOperator", + "replacement": "(!angelPlayer?.death || angelPlayer.isAlive || !isPlayerPowerful(angelPlayer, game)) && game.turn > 1", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 82, - "line": 70 + "column": 106, + "line": 48 }, "start": { - "column": 10, - "line": 70 + "column": 7, + "line": 48 } } }, { - "id": "674", + "id": "645", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 82, - "line": 70 + "column": 89, + "line": 48 }, "start": { - "column": 10, - "line": 70 + "column": 7, + "line": 48 } } }, { - "id": "675", + "id": "646", "mutatorName": "LogicalOperator", - "replacement": "game.players.length > 0 || game.players.every(({\n isAlive\n}) => !isAlive)", - "status": "Timeout", + "replacement": "(!angelPlayer?.death || angelPlayer.isAlive) && !isPlayerPowerful(angelPlayer, game)", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(48,73): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 82, - "line": 70 + "column": 89, + "line": 48 }, "start": { - "column": 10, - "line": 70 + "column": 7, + "line": 48 } } }, { - "id": "676", + "id": "647", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(48,34): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 33, - "line": 70 + "column": 49, + "line": 48 }, "start": { - "column": 10, - "line": 70 + "column": 7, + "line": 48 } } }, { - "id": "677", - "mutatorName": "EqualityOperator", - "replacement": "game.players.length >= 0", - "status": "Timeout", + "id": "648", + "mutatorName": "LogicalOperator", + "replacement": "!angelPlayer?.death && angelPlayer.isAlive", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(48,30): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(48,71): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 33, - "line": 70 + "column": 49, + "line": 48 }, "start": { - "column": 10, - "line": 70 + "column": 7, + "line": 48 } } }, { - "id": "678", - "mutatorName": "EqualityOperator", - "replacement": "game.players.length <= 0", - "status": "Timeout", + "id": "649", + "mutatorName": "BooleanLiteral", + "replacement": "angelPlayer?.death", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(48,29): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(48,70): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "488", - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 33, - "line": 70 + "column": 26, + "line": 48 }, "start": { - "column": 10, - "line": 70 + "column": 7, + "line": 48 } } }, { - "id": "679", - "mutatorName": "MethodExpression", - "replacement": "game.players.some(({\n isAlive\n}) => !isAlive)", - "status": "Timeout", + "id": "650", + "mutatorName": "OptionalChaining", + "replacement": "angelPlayer.death", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(48,8): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(48,29): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(48,70): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(51,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 82, - "line": 70 + "column": 26, + "line": 48 }, "start": { - "column": 37, - "line": 70 + "column": 8, + "line": 48 } } }, { - "id": "680", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "651", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerPowerful(angelPlayer, game)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "668", + "669", + "670", + "671", + "672", + "682", + "684" ], "location": { "end": { - "column": 81, - "line": 70 + "column": 89, + "line": 48 }, "start": { - "column": 56, - "line": 70 + "column": 53, + "line": 48 } } }, { - "id": "681", - "mutatorName": "BooleanLiteral", - "replacement": "isAlive", - "status": "Timeout", + "id": "652", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:356:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "669" + ], "coveredBy": [ - "489", - "490", - "572", - "573", - "646", - "647", - "648", - "649", - "650", - "651", - "652", - "653", - "654", - "655", - "656", - "657", - "658", - "659", - "660", - "661", - "662" + "669", + "670", + "671", + "672", + "682", + "684" ], "location": { "end": { - "column": 81, - "line": 70 + "column": 106, + "line": 48 }, "start": { - "column": 73, - "line": 70 + "column": 93, + "line": 48 } } }, { - "id": "682", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(73,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "653", + "mutatorName": "EqualityOperator", + "replacement": "game.turn >= 1", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:380:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "671" + ], "coveredBy": [ - "158", - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "333", - "334", - "335", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "572", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "669", + "670", + "671", + "672", + "682", + "684" ], "location": { "end": { - "column": 2, - "line": 75 + "column": 106, + "line": 48 }, "start": { - "column": 114, - "line": 73 + "column": 93, + "line": 48 } } }, { - "id": "683", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "158", - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "333", - "334", - "335", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "572", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "id": "654", + "mutatorName": "EqualityOperator", + "replacement": "game.turn <= 1", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:356:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "669" + ], + "coveredBy": [ + "669", + "670", + "671", + "672", + "682", + "684" ], "location": { "end": { - "column": 104, - "line": 74 + "column": 106, + "line": 48 }, "start": { - "column": 28, - "line": 74 + "column": 93, + "line": 48 } } }, { - "id": "684", + "id": "655", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(77,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(49,73): error TS18048: 'angelPlayer' is possibly 'undefined'.\nsrc/modules/game/helpers/game-victory/game-victory.helper.ts(49,73): error TS18048: 'angelPlayer.death' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247", - "493", - "494", - "502", - "503", - "529", "530", - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 79 + "column": 4, + "line": 50 }, "start": { - "column": 101, - "line": 77 + "column": 108, + "line": 48 } } }, { - "id": "685", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "656", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:297:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 14, "static": false, - "killedBy": [], + "killedBy": [ + "664" + ], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247", - "493", - "494", - "502", - "503", - "529", "530", - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "531", + "664", + "665", + "666", + "667", + "668", + "669", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 103, - "line": 78 + "column": 17, + "line": 49 }, "start": { - "column": 10, - "line": 78 + "column": 12, + "line": 49 } } }, { - "id": "686", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "657", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(52,22): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/player.enum\").PLAYER_DEATH_CAUSES' is not assignable to parameter of type 'never'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247", - "493", - "494", - "502", - "503", - "529", - "530", - "572", - "573", - "618", - "619", - "620", - "621", - "622", - "653", - "654", - "657", - "658", - "659", - "660", - "661", - "662" + "670", + "671", + "672", + "682", + "684" ], "location": { "end": { - "column": 102, - "line": 78 + "column": 63, + "line": 51 }, "start": { - "column": 30, - "line": 78 + "column": 10, + "line": 51 } } }, { - "id": "687", + "id": "658", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(81,39): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(54,34): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "495", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "673", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { "column": 2, - "line": 83 + "line": 62 }, "start": { - "column": 48, - "line": 81 + "column": 42, + "line": 54 } } }, { - "id": "688", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "659", + "mutatorName": "BooleanLiteral", + "replacement": "currentPlay", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(60,37): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "495", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "673", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 55, - "line": 82 + "column": 19, + "line": 56 }, "start": { - "column": 10, - "line": 82 + "column": 7, + "line": 56 } } }, { - "id": "689", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "660", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(60,37): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "495", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "530", + "531", + "673", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 54, - "line": 82 + "column": 19, + "line": 56 }, "start": { - "column": 30, - "line": 82 + "column": 7, + "line": 56 } } }, { - "id": "690", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(85,52): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "661", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(60,37): error TS18047: 'currentPlay' is possibly 'null'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "402", - "496" + "530", + "531", + "673", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 2, - "line": 87 + "column": 19, + "line": 56 }, "start": { - "column": 61, - "line": 85 + "column": 7, + "line": 56 } } }, { - "id": "691", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "662", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(59,40): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "402", - "496" + "673" ], "location": { "end": { - "column": 103, - "line": 86 + "column": 4, + "line": 58 }, "start": { - "column": 10, - "line": 86 + "column": 21, + "line": 56 } } }, { - "id": "692", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"5a97e599c131b42d8cf1f7ab\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Novella\",\n \"position\": 6720181839593472,\n \"role\": PlayerRole {\n@@ -139,19 +131,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"d99d97e891040b0e7bc4a98a\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Eladio\",\n \"position\": 5616096637878272,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:982:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "663", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"isGameOver\", {\"gameId\": \"a4b8ecb1abecbc8fffec2b0c\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:402:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "402" + "673" ], "coveredBy": [ - "402", - "496" + "673" ], "location": { "end": { - "column": 102, - "line": 86 + "column": 66, + "line": 57 }, "start": { - "column": 30, - "line": 86 + "column": 54, + "line": 57 } } }, { - "id": "693", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "664", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(58,68): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "402", - "496" + "673" ], "location": { "end": { - "column": 102, - "line": 86 + "column": 88, + "line": 57 }, "start": { - "column": 40, - "line": 86 + "column": 68, + "line": 57 } } }, { - "id": "694", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"bece3221ee4577fcb8cdf7ac\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Hector\",\n \"position\": 1127272549449728,\n \"role\": PlayerRole {\n@@ -139,19 +131,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"e51ec57b7aee68498e3d44ba\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tracy\",\n \"position\": 2944607289606144,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:982:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "665", + "mutatorName": "BooleanLiteral", + "replacement": "!upcomingPlays.find(({\n action,\n source\n}) => action === GAME_PLAY_ACTIONS.SHOOT && source.name === ROLE_NAMES.HUNTER)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 11, "static": false, "killedBy": [ - "402" + "675" ], "coveredBy": [ - "402", - "496" + "530", + "531", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 102, - "line": 86 + "column": 148, + "line": 59 }, "start": { - "column": 40, - "line": 86 + "column": 31, + "line": 59 } } }, { - "id": "695", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || player.side.current === ROLE_SIDES.VILLAGERS", - "status": "Timeout", + "id": "666", + "mutatorName": "BooleanLiteral", + "replacement": "upcomingPlays.find(({\n action,\n source\n}) => action === GAME_PLAY_ACTIONS.SHOOT && source.name === ROLE_NAMES.HUNTER)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "402", - "496" + "530", + "531", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 102, - "line": 86 + "column": 148, + "line": 59 }, "start": { - "column": 40, - "line": 86 + "column": 32, + "line": 59 } } }, { - "id": "696", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "667", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:453:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], - "coveredBy": [ - "402", - "496" + "killedBy": [ + "675" ], - "location": { + "coveredBy": [ + "530", + "531", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" + ], + "location": { "end": { - "column": 102, - "line": 86 + "column": 147, + "line": 59 }, "start": { - "column": 58, - "line": 86 + "column": 52, + "line": 59 } } }, { - "id": "697", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 24\n\n Array [\n Player {\n- \"_id\": \"aded2acee95efec53d6fff6a\",\n+ \"_id\": \"f0ffeb165ec6ab1608134265\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Jett\",\n+ \"position\": 1387037273882624,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"feaec281eaa21d6d79f521e8\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Mohammed\",\n- \"position\": 3702227239698432,\n+ \"name\": \"Favian\",\n+ \"position\": 2918965032517632,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:350:50)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "668", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:464:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 10, "static": false, "killedBy": [ - "496" + "677" ], "coveredBy": [ - "402", - "496" + "530", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 102, - "line": 86 + "column": 147, + "line": 59 }, "start": { - "column": 58, - "line": 86 + "column": 76, + "line": 59 } } }, { - "id": "698", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(89,52): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "669", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "497" + "530", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 2, - "line": 91 + "column": 147, + "line": 59 }, "start": { - "column": 61, - "line": 89 + "column": 76, + "line": 59 } } }, { - "id": "699", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "670", + "mutatorName": "LogicalOperator", + "replacement": "action === GAME_PLAY_ACTIONS.SHOOT || source.name === ROLE_NAMES.HUNTER", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:464:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "497" + "530", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 104, - "line": 90 + "column": 147, + "line": 59 }, "start": { - "column": 10, - "line": 90 + "column": 76, + "line": 59 } } }, { - "id": "700", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "671", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:464:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "497" + "530", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 103, - "line": 90 + "column": 110, + "line": 59 }, "start": { - "column": 30, - "line": 90 + "column": 76, + "line": 59 } } }, { - "id": "701", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "672", + "mutatorName": "EqualityOperator", + "replacement": "action !== GAME_PLAY_ACTIONS.SHOOT", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:453:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "497" + "530", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 103, - "line": 90 + "column": 110, + "line": 59 }, "start": { - "column": 40, - "line": 90 + "column": 76, + "line": 59 } } }, { - "id": "702", + "id": "673", "mutatorName": "ConditionalExpression", - "replacement": "false", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "497" + "674", + "675", + "678" ], "location": { "end": { - "column": 103, - "line": 90 + "column": 147, + "line": 59 }, "start": { - "column": 40, - "line": 90 + "column": 114, + "line": 59 } } }, { - "id": "703", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || player.side.current === ROLE_SIDES.WEREWOLVES", - "status": "Timeout", + "id": "674", + "mutatorName": "EqualityOperator", + "replacement": "source.name !== ROLE_NAMES.HUNTER", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "497" + "674", + "675", + "678" ], "location": { "end": { - "column": 103, - "line": 90 + "column": 147, + "line": 59 }, "start": { - "column": 40, - "line": 90 + "column": 114, + "line": 59 } } }, { - "id": "704", + "id": "675", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "497" + "530", + "531", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 103, - "line": 90 + "column": 151, + "line": 61 }, "start": { - "column": 58, - "line": 90 + "column": 10, + "line": 60 } } }, { - "id": "705", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.WEREWOLVES", - "status": "Timeout", + "id": "676", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:438:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "674" + ], "coveredBy": [ - "497" + "530", + "531", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 103, - "line": 90 + "column": 151, + "line": 61 }, "start": { - "column": 58, - "line": 90 + "column": 10, + "line": 60 } } }, { - "id": "706", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(93,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "677", + "mutatorName": "LogicalOperator", + "replacement": "areAllPlayersDead(game) && currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT && !isShootPlayIncoming && (doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game) || doesAngelWin(game))", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:438:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "674" + ], "coveredBy": [ - "498", - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 2, - "line": 96 + "column": 151, + "line": 61 }, "start": { - "column": 65, - "line": 93 + "column": 10, + "line": 60 } } }, { - "id": "707", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "678", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "498", - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 51, - "line": 95 + "column": 151, + "line": 61 }, "start": { - "column": 10, - "line": 94 + "column": 37, + "line": 60 } } }, { - "id": "708", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 36\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"59d752f3aaa4ae1bd10005ec\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Esperanza\",\n- \"position\": 5013235967197184,\n- \"role\": PlayerRole {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"d1bfe534359b63a78cef761e\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Toney\",\n- \"position\": 6359513026265088,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "679", + "mutatorName": "LogicalOperator", + "replacement": "currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT && !isShootPlayIncoming || doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game) || doesAngelWin(game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:453:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 10, "static": false, "killedBy": [ - "498" + "675" ], "coveredBy": [ - "498", - "572", - "573", - "628", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 50, - "line": 95 + "column": 151, + "line": 61 }, "start": { - "column": 30, - "line": 94 + "column": 37, + "line": 60 } } }, { - "id": "709", + "id": "680", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "498", - "572", - "573", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 50, - "line": 95 + "column": 107, + "line": 60 }, "start": { - "column": 40, - "line": 94 + "column": 37, + "line": 60 } } }, { - "id": "710", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "681", + "mutatorName": "LogicalOperator", + "replacement": "currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT || !isShootPlayIncoming", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "498", - "572", - "573", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 50, - "line": 95 - }, - "start": { - "column": 40, - "line": 94 - } - } - }, - { - "id": "711", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game) || player.role.current !== ROLE_NAMES.PIED_PIPER", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "498", - "572", - "573", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" - ], - "location": { - "end": { - "column": 50, - "line": 95 + "column": 107, + "line": 60 }, "start": { - "column": 40, - "line": 94 + "column": 37, + "line": 60 } } }, { - "id": "712", + "id": "682", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 50\n\n@@ -1,13 +1,63 @@\n Array [\n Player {\n+ \"_id\": \"f66effd2ead44e68e95cea5d\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"charmed\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"pied-piper\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Rosario\",\n+ \"position\": 1572277722284032,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"c43e2d5babedbbdeb21e3b17\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Sonia\",\n \"position\": 311316568866816,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"2fa42088cdb511a4927b907a\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"charmed\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"pied-piper\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Frances\",\n+ \"position\": 1732548015161344,\n \"role\": PlayerRole {\n \"current\": \"villager\",\n \"isRevealed\": false,\n \"original\": \"villager\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:468:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 17, + "testsCompleted": 10, "static": false, "killedBy": [ - "498" + "676" ], "coveredBy": [ - "498", - "572", - "573", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 142, - "line": 94 + "column": 83, + "line": 60 }, "start": { - "column": 40, - "line": 94 + "column": 37, + "line": 60 } } }, { - "id": "713", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game)", - "status": "Timeout", + "id": "683", + "mutatorName": "EqualityOperator", + "replacement": "currentPlay.action === GAME_PLAY_ACTIONS.SHOOT", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:447:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "676" + ], "coveredBy": [ - "498", - "572", - "573", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 142, - "line": 94 + "column": 83, + "line": 60 }, "start": { - "column": 40, - "line": 94 + "column": 37, + "line": 60 } } }, { - "id": "714", + "id": "684", "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game)", - "status": "Timeout", + "replacement": "isShootPlayIncoming", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:432:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "675" + ], "coveredBy": [ - "498", - "572", - "573", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "675", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 142, - "line": 94 + "column": 107, + "line": 60 }, "start": { - "column": 58, - "line": 94 + "column": 87, + "line": 60 } } }, { - "id": "715", + "id": "685", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -1,7 +1,24 @@\n Array [\n Player {\n+ \"_id\": \"b0fea8d9fcc3b95ceaabf9e9\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Adela\",\n+ \"position\": 1051408981819392,\n+ \"role\": PlayerRole {\n+ \"current\": \"pied-piper\",\n+ \"isRevealed\": false,\n+ \"original\": \"pied-piper\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"ef920b7fcf6a2aaf1d9eccf4\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Mervin\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 802679112597505,\n \"turn\": 4451451652800512,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 8, "static": false, "killedBy": [ - "498" + "530" ], "coveredBy": [ - "498", - "572", - "573", - "629", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 50, - "line": 95 + "column": 150, + "line": 61 }, "start": { - "column": 5, - "line": 95 + "column": 6, + "line": 61 } } }, { - "id": "716", - "mutatorName": "EqualityOperator", - "replacement": "player.role.current === ROLE_NAMES.PIED_PIPER", - "status": "Timeout", + "id": "686", + "mutatorName": "LogicalOperator", + "replacement": "(doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game)) && doesAngelWin(game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "498", - "572", - "573", - "629", - "631", - "632", - "633", - "634", - "635", - "653", - "654", - "658", - "659", - "660", - "661", - "662" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 50, - "line": 95 + "column": 150, + "line": 61 }, "start": { - "column": 5, - "line": 95 + "column": 6, + "line": 61 } } }, { - "id": "723", + "id": "687", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 51\n\n@@ -1,7 +1,24 @@\n Array [\n Player {\n+ \"_id\": \"8eb3b2a5ee444ef861feef5a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Tevin\",\n+ \"position\": 6798360967118848,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"eb82982eb4ccfe8ccd1ecdd1\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Toby\",\n@@ -12,8 +29,42 @@\n \"original\": \"pied-piper\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"e17a87e94dfffe3fbbe07ae1\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Jermey\",\n+ \"position\": 5277842071879680,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"7d5bc7adbcf5cb0ebc784199\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Giles\",\n+ \"position\": 8145431972282368,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:394:53)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 8, "static": false, "killedBy": [ - "499" + "677" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 102, - "line": 99 + "column": 128, + "line": 61 }, "start": { - "column": 40, - "line": 99 + "column": 6, + "line": 61 } } }, { - "id": "726", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:631:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "688", + "mutatorName": "LogicalOperator", + "replacement": "(doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game)) && doesPiedPiperWin(game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 8, "static": false, "killedBy": [ - "44" + "677" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 102, - "line": 99 + "column": 128, + "line": 61 }, "start": { - "column": 58, - "line": 99 + "column": 6, + "line": 61 } } }, { - "id": "728", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(103,58): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "689", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 2, - "line": 105 + "column": 102, + "line": 61 }, "start": { - "column": 67, - "line": 103 + "column": 6, + "line": 61 } } }, { - "id": "729", - "mutatorName": "MethodExpression", - "replacement": "game.players", - "status": "Timeout", + "id": "690", + "mutatorName": "LogicalOperator", + "replacement": "(doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game)) && doesWhiteWerewolfWin(game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 157, - "line": 104 + "column": 102, + "line": 61 }, "start": { - "column": 10, - "line": 104 + "column": 6, + "line": 61 } } }, { - "id": "730", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "691", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 156, - "line": 104 + "column": 72, + "line": 61 }, "start": { - "column": 30, - "line": 104 + "column": 6, + "line": 61 } } }, { - "id": "731", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "692", + "mutatorName": "LogicalOperator", + "replacement": "(doWerewolvesWin(game) || doVillagersWin(game)) && doLoversWin(game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "677" + ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 156, - "line": 104 + "column": 72, + "line": 61 }, "start": { - "column": 40, - "line": 104 + "column": 6, + "line": 61 } } }, { - "id": "732", + "id": "693", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:671:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 8, "static": false, "killedBy": [ - "43" + "677" ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 156, - "line": 104 + "column": 51, + "line": 61 }, "start": { - "column": 40, - "line": 104 + "column": 6, + "line": 61 } } }, { - "id": "733", + "id": "694", "mutatorName": "LogicalOperator", - "replacement": "player.isAlive && player.side.current === ROLE_SIDES.WEREWOLVES || player.role.current !== ROLE_NAMES.WHITE_WEREWOLF", - "status": "Timeout", + "replacement": "doWerewolvesWin(game) && doVillagersWin(game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:485:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], - "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "killedBy": [ + "677" ], - "location": { - "end": { - "column": 156, - "line": 104 - }, - "start": { - "column": 40, - "line": 104 - } - } - }, - { - "id": "734", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "530", + "531", + "677", + "678", + "679", + "680", + "681", + "682" ], "location": { "end": { - "column": 103, - "line": 104 + "column": 51, + "line": 61 }, "start": { - "column": 40, - "line": 104 + "column": 6, + "line": 61 } } }, { - "id": "735", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || player.side.current === ROLE_SIDES.WEREWOLVES", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "id": "695", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game-victory/game-victory.helper.ts(64,47): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "40" - ], + "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 103, - "line": 104 + "column": 2, + "line": 92 }, "start": { - "column": 40, - "line": 104 + "column": 71, + "line": 64 } } }, { - "id": "736", + "id": "696", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 103, - "line": 104 + "column": 30, + "line": 65 }, "start": { - "column": 58, - "line": 104 + "column": 7, + "line": 65 } } }, { - "id": "737", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.WEREWOLVES", - "status": "Timeout", + "id": "697", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 20\n\n GameVictory {\n- \"type\": \"none\",\n- \"winners\": undefined,\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Player {\n+ \"_id\": \"fcbcd5ebb6bf8492adbd41d3\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Rigoberto\",\n+ \"position\": 6609641509224448,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:589:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "683" + ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45", - "500" + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 103, - "line": 104 + "column": 30, + "line": 65 }, "start": { - "column": 58, - "line": 104 + "column": 7, + "line": 65 } } }, { - "id": "738", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -1,7 +1,24 @@\n Array [\n Player {\n+ \"_id\": \"2e8ddf76fb2a49a547a002f3\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Noel\",\n+ \"position\": 603959148412928,\n+ \"role\": PlayerRole {\n+ \"current\": \"white-werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"white-werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"783991d9cffedbaebbc71988\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Aiden\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:409:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "698", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 20\n\n GameVictory {\n- \"type\": \"none\",\n- \"winners\": undefined,\n+ \"type\": \"werewolves\",\n+ \"winners\": Array [\n+ Player {\n+ \"_id\": \"34c3dcbb4aa0fffbf9c53a0a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Anderson\",\n+ \"position\": 713881794117632,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:589:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 1, "static": false, "killedBy": [ - "500" + "683" ], "coveredBy": [ - "40", - "41", - "42", - "43", - "500" + "683" ], "location": { "end": { - "column": 156, - "line": 104 + "column": 4, + "line": 67 }, "start": { - "column": 107, - "line": 104 + "column": 32, + "line": 65 } } }, { - "id": "739", - "mutatorName": "EqualityOperator", - "replacement": "player.role.current === ROLE_NAMES.WHITE_WEREWOLF", + "id": "699", + "mutatorName": "ObjectLiteral", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "500" + "683" ], "location": { "end": { - "column": 156, - "line": 104 + "column": 74, + "line": 66 }, "start": { - "column": 107, - "line": 104 + "column": 41, + "line": 66 } } }, { - "id": "740", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(107,63): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "700", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 51\n+ Received + 2\n\n GameVictory {\n- \"type\": \"lovers\",\n+ \"type\": \"angel\",\n \"winners\": Array [\n- Player {\n- \"_id\": \"c92f95524f0cdc7ddf4649b4\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Norwood\",\n- \"position\": 8366332795944960,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"ce6c34531fa7bc33d447c930\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Philip\",\n- \"position\": 2409563036844032,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n+ undefined,\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:595:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "685" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "501", - "502", - "503", - "504", - "505", - "527", - "560", - "572", - "573" + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 121 + "column": 25, + "line": 68 }, "start": { - "column": 72, - "line": 107 + "column": 7, + "line": 68 } } }, { - "id": "741", + "id": "701", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 32\n\n@@ -27,10 +27,42 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n+ \"_id\": \"9fbeb9e521ffaf3ffadea39f\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Dagmar\",\n+ \"position\": 1754924004147200,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Object {\n+ \"_id\": \"7929c2bbdea1eabce2670568\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Sherman\",\n+ \"position\": 4505157721128960,\n+ \"role\": Object {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Object {\n \"_id\": \"0a5ade06e46d9f9213c99c1d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Terrence\",\n \"position\": 6156913448321024,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:754:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"angel\", \"winners\": [{\"_id\": \"b6cfcbcc2f0f6d5dccc20cbb\", \"attributes\": [], \"death\": {\"cause\": \"vote\", \"source\": \"all\"}, \"isAlive\": false, \"name\": \"Ibrahim\", \"position\": 999944836087808, \"role\": {\"current\": \"angel\", \"isRevealed\": false, \"original\": \"angel\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:582:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 7, "static": false, "killedBy": [ - "573" + "684" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "501", - "502", - "503", - "504", - "505", - "527", - "560", - "572", - "573" + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 34, - "line": 108 + "column": 25, + "line": 68 }, "start": { "column": 7, - "line": 108 + "line": 68 } } }, { - "id": "742", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 66\n+ Received + 2\n\n@@ -5,27 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7be48c74bfb0e5c077192\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,27 +21,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7be48c74bfb0e5c077194\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -66,42 +34,10 @@\n \"original\": \"white-werewolf\",\n },\n \"side\": Object {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Doudou\",\n- \"position\": 4,\n- \"role\": Object {\n- \"current\": \"cupid\",\n- \"isRevealed\": false,\n- \"original\": \"cupid\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n },\n },\n ],\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "702", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"angel\", \"winners\": [{\"_id\": \"b605c1a883b3eafa4bf24a47\", \"attributes\": [], \"death\": {\"cause\": \"vote\", \"source\": \"all\"}, \"isAlive\": false, \"name\": \"Joelle\", \"position\": 406364939616256, \"role\": {\"current\": \"angel\", \"isRevealed\": false, \"original\": \"angel\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:603:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 1, "static": false, "killedBy": [ - "560" + "684" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "501", - "502", - "503", - "504", - "505", - "527", - "560", - "572", - "573" + "684" ], "location": { "end": { - "column": 34, - "line": 108 + "column": 4, + "line": 71 }, "start": { - "column": 7, - "line": 108 + "column": 27, + "line": 68 } } }, { - "id": "743", - "mutatorName": "EqualityOperator", - "replacement": "group !== PLAYER_GROUPS.ALL", - "statusReason": "src/modules/game/helpers/game.helper.ts(111,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.ALL' and 'PLAYER_GROUPS.LOVERS' have no overlap.\nsrc/modules/game/helpers/game.helper.ts(114,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.ALL' and 'PLAYER_GROUPS.CHARMED' have no overlap.\nsrc/modules/game/helpers/game.helper.ts(117,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.ALL' and 'PLAYER_GROUPS.VILLAGERS' have no overlap.\n", - "status": "CompileError", + "id": "703", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 23\n+ Received + 2\n\n GameVictory {\n- \"type\": \"angel\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"ccfe4b6e53363186c74efdaa\",\n- \"attributes\": Array [],\n- \"death\": PlayerDeath {\n- \"cause\": \"vote\",\n- \"source\": \"all\",\n- },\n- \"isAlive\": false,\n- \"name\": \"Tyree\",\n- \"position\": 4901302481977344,\n- \"role\": PlayerRole {\n- \"current\": \"angel\",\n- \"isRevealed\": false,\n- \"original\": \"angel\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:582:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "684" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "501", - "502", - "503", - "504", - "505", - "527", - "560", - "572", - "573" + "684" ], "location": { "end": { - "column": 34, - "line": 108 + "column": 99, + "line": 70 }, "start": { - "column": 7, - "line": 108 + "column": 41, + "line": 70 } } }, { - "id": "744", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "704", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 22\n+ Received + 1\n\n GameVictory {\n \"type\": \"angel\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"9989848b4a8fd72ed4bf698e\",\n- \"attributes\": Array [],\n- \"death\": PlayerDeath {\n- \"cause\": \"vote\",\n- \"source\": \"all\",\n- },\n- \"isAlive\": false,\n- \"name\": \"Glen\",\n- \"position\": 3452341856501760,\n- \"role\": PlayerRole {\n- \"current\": \"angel\",\n- \"isRevealed\": false,\n- \"original\": \"angel\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"winners\": Array [],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:582:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "684" + ], "coveredBy": [ - "501", - "560", - "572" + "684" ], "location": { "end": { - "column": 4, - "line": 110 + "column": 97, + "line": 70 }, "start": { - "column": 36, - "line": 108 + "column": 84, + "line": 70 } } }, { - "id": "745", + "id": "705", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 2\n\n GameVictory {\n- \"type\": \"pied-piper\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"87de2fbaefcb20a5fd5bb29f\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Destiney\",\n- \"position\": 176199074578432,\n- \"role\": PlayerRole {\n- \"current\": \"pied-piper\",\n- \"isRevealed\": false,\n- \"original\": \"pied-piper\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"type\": \"lovers\",\n+ \"winners\": Array [],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:630:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "686" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "502", - "503", - "504", - "505", - "527", - "573" + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 37, - "line": 111 + "column": 24, + "line": 72 }, "start": { "column": 7, - "line": 111 + "line": 72 } } }, { - "id": "746", + "id": "706", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "502", - "503", - "504", - "505", - "527", - "573" + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 37, - "line": 111 + "column": 24, + "line": 72 }, "start": { "column": 7, - "line": 111 + "line": 72 } } }, { - "id": "747", - "mutatorName": "EqualityOperator", - "replacement": "group !== PLAYER_GROUPS.LOVERS", - "statusReason": "src/modules/game/helpers/game.helper.ts(114,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.LOVERS' and 'PLAYER_GROUPS.CHARMED' have no overlap.\nsrc/modules/game/helpers/game.helper.ts(117,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.LOVERS' and 'PLAYER_GROUPS.VILLAGERS' have no overlap.\n", - "status": "CompileError", + "id": "707", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "502", - "503", - "504", - "505", - "527", - "573" + "685" ], "location": { "end": { - "column": 37, - "line": 111 + "column": 4, + "line": 75 }, "start": { - "column": 7, - "line": 111 + "column": 26, + "line": 72 } } }, { - "id": "748", - "mutatorName": "BlockStatement", + "id": "708", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 53\n+ Received + 2\n\n GameVictory {\n- \"type\": \"lovers\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"1e5d4cd6affec3cc4b3e93a8\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Jannie\",\n- \"position\": 771993016205312,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"938c41af14eb84ebdf29fbcc\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n- \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n- },\n- ],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Fausto\",\n- \"position\": 4133077806743552,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:595:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "685" + ], "coveredBy": [ - "502" + "685" ], "location": { "end": { - "column": 4, - "line": 113 + "column": 100, + "line": 74 }, "start": { - "column": 39, - "line": 111 + "column": 41, + "line": 74 } } }, { - "id": "749", + "id": "709", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n GameVictory {\n- \"type\": \"white-werewolf\",\n+ \"type\": \"pied-piper\",\n \"winners\": Array [\n- Player {\n- \"_id\": \"adfdaeaccfd0fd08dca20dfe\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kathleen\",\n- \"position\": 5680191460343808,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n+ undefined,\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:621:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "687" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "503", - "504", - "505", - "527", - "573" + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 38, - "line": 114 + "column": 29, + "line": 76 }, "start": { "column": 7, - "line": 114 + "line": 76 } } }, { - "id": "750", + "id": "710", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "503", - "504", - "505", - "527", - "573" + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 38, - "line": 114 + "column": 29, + "line": 76 }, "start": { "column": 7, - "line": 114 + "line": 76 } } }, { - "id": "751", - "mutatorName": "EqualityOperator", - "replacement": "group !== PLAYER_GROUPS.CHARMED", - "statusReason": "src/modules/game/helpers/game.helper.ts(117,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.CHARMED' and 'PLAYER_GROUPS.VILLAGERS' have no overlap.\n", - "status": "CompileError", + "id": "711", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"pied-piper\", \"winners\": [{\"_id\": \"befce90fcedfbca9be36e307\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Alfredo\", \"position\": 525313977090048, \"role\": {\"current\": \"pied-piper\", \"isRevealed\": false, \"original\": \"pied-piper\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:630:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "686" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "503", - "504", - "505", - "527", - "573" + "686" ], "location": { "end": { - "column": 38, - "line": 114 + "column": 4, + "line": 79 }, "start": { - "column": 7, - "line": 114 + "column": 31, + "line": 76 } } }, { - "id": "752", - "mutatorName": "BlockStatement", + "id": "712", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 2\n\n GameVictory {\n- \"type\": \"pied-piper\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"c9bae76c42d391b0222d0421\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Harold\",\n- \"position\": 3461932078071808,\n- \"role\": PlayerRole {\n- \"current\": \"pied-piper\",\n- \"isRevealed\": false,\n- \"original\": \"pied-piper\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:609:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "686" + ], "coveredBy": [ - "503" + "686" ], "location": { "end": { - "column": 4, - "line": 116 + "column": 108, + "line": 78 }, "start": { - "column": 40, - "line": 114 + "column": 41, + "line": 78 } } }, { - "id": "753", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "713", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "504", - "505", - "527", - "573" + "686" ], "location": { "end": { - "column": 40, - "line": 117 + "column": 106, + "line": 78 }, "start": { - "column": 7, - "line": 117 + "column": 89, + "line": 78 } } }, { - "id": "754", + "id": "714", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 35\n+ Received + 2\n\n GameVictory {\n- \"type\": \"werewolves\",\n+ \"type\": \"white-werewolf\",\n \"winners\": Array [\n- Player {\n- \"_id\": \"4b7dafff410f6bb0ea90b1ce\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Lazaro\",\n- \"position\": 1947344497016832,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"3a178ad6108c2e6b6a2cbc54\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Xander\",\n- \"position\": 8903327259557888,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n+ undefined,\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:655:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "688" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "504", - "505", - "527", - "573" + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 40, - "line": 117 + "column": 33, + "line": 80 }, "start": { "column": 7, - "line": 117 + "line": 80 } } }, { - "id": "755", - "mutatorName": "EqualityOperator", - "replacement": "group !== PLAYER_GROUPS.VILLAGERS", - "status": "Timeout", + "id": "715", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 18\n\n@@ -1,8 +1,25 @@\n GameVictory {\n- \"type\": \"white-werewolf\",\n+ \"type\": \"werewolves\",\n \"winners\": Array [\n+ Player {\n+ \"_id\": \"ba463c1ca6f953566ac1f71d\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Bernadette\",\n+ \"position\": 8534934698328064,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n Player {\n \"_id\": \"87bcdca6bbffad2be71b7e95\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:642:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "687" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "504", - "505", - "527", - "573" + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 40, - "line": 117 + "column": 33, + "line": 80 }, "start": { "column": 7, - "line": 117 + "line": 80 } } }, { - "id": "756", + "id": "716", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 18\n\n@@ -1,8 +1,25 @@\n GameVictory {\n- \"type\": \"white-werewolf\",\n+ \"type\": \"werewolves\",\n \"winners\": Array [\n+ Player {\n+ \"_id\": \"dc7e8ecc2a0d17fd01a0bba0\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Vernon\",\n+ \"position\": 5673976017715200,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n Player {\n \"_id\": \"aaf81c6f4d6a99acc2bc25d2\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:642:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "687" + ], "coveredBy": [ - "504" + "687" ], "location": { "end": { "column": 4, - "line": 119 + "line": 83 }, "start": { - "column": 42, - "line": 117 + "column": 35, + "line": 80 } } }, { - "id": "757", - "mutatorName": "BlockStatement", + "id": "717", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(122,48): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 2\n\n GameVictory {\n- \"type\": \"white-werewolf\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"efa86bf5caea312d150e7bf1\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kiarra\",\n- \"position\": 4217548935528448,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:621:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "687" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "336", - "337", - "506", - "507", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "687" ], "location": { "end": { - "column": 2, - "line": 125 + "column": 116, + "line": 82 }, "start": { - "column": 69, - "line": 123 + "column": 41, + "line": 82 } } }, { - "id": "758", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(126,49): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "718", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 19\n+ Received + 1\n\n GameVictory {\n \"type\": \"white-werewolf\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"a1cdf3fc29c9a6a62ef8f0bf\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kasandra\",\n- \"position\": 5179243782733824,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"winners\": Array [],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:621:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "687" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "337", - "508", - "509", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "687" ], "location": { "end": { - "column": 2, - "line": 129 + "column": 114, + "line": 82 }, "start": { - "column": 73, - "line": 127 + "column": 93, + "line": 82 } } }, { - "id": "759", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(131,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "719", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 16\n\n GameVictory {\n- \"type\": \"villagers\",\n+ \"type\": \"werewolves\",\n \"winners\": Array [\n Player {\n- \"_id\": \"c79afdbbe7bfb8beadfcef31\",\n+ \"_id\": \"9e20840aad3f9954441155c4\",\n \"attributes\": Array [],\n \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Hope\",\n- \"position\": 3507893561196544,\n+ \"isAlive\": false,\n+ \"name\": \"Nelson\",\n+ \"position\": 3777369395429376,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Player {\n- \"_id\": \"c590d9fd80ad5fbd0e53d621\",\n+ \"_id\": \"adbba0fa3aa9385aeb18e28e\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n- \"name\": \"Giovanni\",\n- \"position\": 6993009459593216,\n+ \"name\": \"Amani\",\n+ \"position\": 3250936480792576,\n \"role\": PlayerRole {\n- \"current\": \"seer\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"seer\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ],\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:668:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "689" + ], "coveredBy": [ - "510", - "511" + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 133 + "column": 28, + "line": 84 }, "start": { - "column": 106, - "line": 131 + "column": 7, + "line": 84 } } }, { - "id": "760", - "mutatorName": "OptionalChaining", - "replacement": "candidateIds.find", - "statusReason": "src/modules/game/helpers/game.helper.ts(132,10): error TS18048: 'candidateIds' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "720", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"werewolves\", \"winners\": [{\"_id\": \"c0ada9d58538be6e07fc7d68\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jeanette\", \"position\": 5207520180174848, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"f0fbe734b0bde80a1a5116dd\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Emelia\", \"position\": 8977342862983168, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:655:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "688" + ], "coveredBy": [ - "510", - "511" + "688", + "689", + "690" ], "location": { "end": { "column": 28, - "line": 132 + "line": 84 }, "start": { - "column": 10, - "line": 132 + "column": 7, + "line": 84 } } }, { - "id": "761", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "721", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"werewolves\", \"winners\": [{\"_id\": \"e6da08daddcc3c727bc1d1ad\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Hortense\", \"position\": 7134404174413824, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"0a8af32a90e941cd4eb39da6\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Arvel\", \"position\": 7464586894639104, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:655:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "688" + ], "coveredBy": [ - "510", - "511" + "688" ], "location": { "end": { - "column": 79, - "line": 132 + "column": 4, + "line": 87 }, "start": { - "column": 29, - "line": 132 + "column": 30, + "line": 84 } } }, { - "id": "762", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerWithId(game, candidateId)", - "status": "Timeout", + "id": "722", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 37\n+ Received + 2\n\n GameVictory {\n- \"type\": \"werewolves\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"d7202e82b2ab8abf9e8ff5a3\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Garnett\",\n- \"position\": 2008966089408512,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"3dae17ebde12c95a2b2de9be\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Mina\",\n- \"position\": 5682809783975936,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:634:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "688" + ], "coveredBy": [ - "510", - "511" + "688" ], "location": { "end": { - "column": 79, - "line": 132 + "column": 112, + "line": 86 }, "start": { - "column": 44, - "line": 132 + "column": 41, + "line": 86 } } }, { - "id": "763", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(135,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "723", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "460", - "461", - "462", - "512", - "513", - "572", - "573" + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 137 + "column": 27, + "line": 88 }, "start": { - "column": 92, - "line": 135 + "column": 7, + "line": 88 } } }, { - "id": "764", - "mutatorName": "OptionalChaining", - "replacement": "candidatePlayers.find", - "statusReason": "src/modules/game/helpers/game.helper.ts(136,10): error TS18048: 'candidatePlayers' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "724", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "460", - "461", - "462", - "512", - "513", - "572", - "573" + "689", + "690" ], "location": { "end": { - "column": 32, - "line": 136 + "column": 27, + "line": 88 }, "start": { - "column": 10, - "line": 136 + "column": 7, + "line": 88 } } }, { - "id": "765", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"3e63b3d7cc0c5cf56f1ebd4b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Benjamin\", \"position\": 1477692515942400, \"role\": {\"current\": \"villager-villager\", \"isRevealed\": true, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:495:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "725", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"type\": \"villagers\", \"winners\": [{\"_id\": \"fabf3bf424e8ecb7b7ef0bd8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Fredrick\", \"position\": 3509730557296640, \"role\": {\"current\": \"villager\", \"isRevealed\": false, \"original\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cdcd4f55a18433b664a98179\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Kylee\", \"position\": 8510085921767424, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:668:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 1, "static": false, "killedBy": [ - "513" + "689" ], "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "460", - "461", - "462", - "512", - "513", - "572", - "573" + "689" ], "location": { "end": { - "column": 95, - "line": 136 + "column": 4, + "line": 91 }, "start": { - "column": 33, - "line": 136 + "column": 29, + "line": 88 } } }, { - "id": "766", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerWithId(game, candidatePlayer._id)", - "status": "Timeout", + "id": "726", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 37\n+ Received + 2\n\n GameVictory {\n- \"type\": \"villagers\",\n- \"winners\": Array [\n- Player {\n- \"_id\": \"c3fee1f0fdd77f49997d3eef\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Ignatius\",\n- \"position\": 6642240187269120,\n- \"role\": PlayerRole {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"d5ddfaccfdc81c6284387886\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Breana\",\n- \"position\": 2602810162020352,\n- \"role\": PlayerRole {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"type\": undefined,\n+ \"winners\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:647:45)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "689" + ], "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "460", - "461", - "512", - "513", - "572", - "573" + "689" ], "location": { "end": { - "column": 95, - "line": 136 + "column": 110, + "line": 90 }, "start": { - "column": 52, - "line": 136 + "column": 41, + "line": 90 } } - }, + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../role/enums/role.enum\";\nimport { GAME_PLAY_ACTIONS } from \"../../enums/game-play.enum\";\nimport { GAME_VICTORY_TYPES } from \"../../enums/game-victory.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from \"../../enums/player.enum\";\nimport { GameVictory } from \"../../schemas/game-victory/game-victory.schema\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport { areAllPlayersDead, getLeftToCharmByPiedPiperPlayers, getPlayersWithActiveAttributeName, getPlayersWithCurrentSide, getPlayerWithCurrentRole } from \"../game.helper\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"../player/player-attribute/player-attribute.helper\";\nimport { isPlayerAliveAndPowerful, isPlayerPowerful } from \"../player/player.helper\";\n\nfunction doWerewolvesWin(game: Game): boolean {\n const werewolvesSidedPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n return werewolvesSidedPlayers.length > 0 && !game.players.some(({ side, isAlive }) => side.current === ROLE_SIDES.VILLAGERS && isAlive);\n}\n\nfunction doVillagersWin(game: Game): boolean {\n const villagersSidedPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n return villagersSidedPlayers.length > 0 && !game.players.some(({ side, isAlive }) => side.current === ROLE_SIDES.WEREWOLVES && isAlive);\n}\n\nfunction doLoversWin(game: Game): boolean {\n const lovers = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n return lovers.length > 0 && game.players.every(player => {\n const isPlayerInLove = doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game);\n return isPlayerInLove && player.isAlive || !isPlayerInLove && !player.isAlive;\n });\n}\n\nfunction doesWhiteWerewolfWin(game: Game): boolean {\n const whiteWerewolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n return !!whiteWerewolfPlayer && game.players.every(({ role, isAlive }) =>\n role.current === ROLE_NAMES.WHITE_WEREWOLF && isAlive || role.current !== ROLE_NAMES.WHITE_WEREWOLF && !isAlive);\n}\n\nfunction doesPiedPiperWin(game: Game): boolean {\n const { isPowerlessIfInfected } = game.options.roles.piedPiper;\n const piedPiperPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.PIED_PIPER);\n const leftToCharmPlayers = getLeftToCharmByPiedPiperPlayers(game);\n return !!piedPiperPlayer && isPlayerAliveAndPowerful(piedPiperPlayer, game) && !leftToCharmPlayers.length &&\n (!isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS);\n}\n\nfunction doesAngelWin(game: Game): boolean {\n const angelPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.ANGEL);\n if (!angelPlayer?.death || angelPlayer.isAlive || !isPlayerPowerful(angelPlayer, game) || game.turn > 1) {\n return false;\n }\n return [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.EATEN].includes(angelPlayer.death.cause);\n}\n\nfunction isGameOver(game: Game): boolean {\n const { upcomingPlays, currentPlay } = game;\n if (!currentPlay) {\n throw createNoCurrentGamePlayUnexpectedException(\"isGameOver\", { gameId: game._id });\n }\n const isShootPlayIncoming = !!upcomingPlays.find(({ action, source }) => action === GAME_PLAY_ACTIONS.SHOOT && source.name === ROLE_NAMES.HUNTER);\n return areAllPlayersDead(game) || currentPlay.action !== GAME_PLAY_ACTIONS.SHOOT && !isShootPlayIncoming &&\n (doWerewolvesWin(game) || doVillagersWin(game) || doLoversWin(game) || doesWhiteWerewolfWin(game) || doesPiedPiperWin(game) || doesAngelWin(game));\n}\n\nfunction generateGameVictoryData(game: Game): GameVictory | undefined {\n if (areAllPlayersDead(game)) {\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.NONE }, plainToInstanceDefaultOptions);\n }\n if (doesAngelWin(game)) {\n const angelPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.ANGEL);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.ANGEL, winners: [angelPlayer] }, plainToInstanceDefaultOptions);\n }\n if (doLoversWin(game)) {\n const inLovePlayers = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.LOVERS, winners: inLovePlayers }, plainToInstanceDefaultOptions);\n }\n if (doesPiedPiperWin(game)) {\n const piedPiperPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.PIED_PIPER);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.PIED_PIPER, winners: [piedPiperPlayer] }, plainToInstanceDefaultOptions);\n }\n if (doesWhiteWerewolfWin(game)) {\n const whiteWerewolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.WHITE_WEREWOLF, winners: [whiteWerewolfPlayer] }, plainToInstanceDefaultOptions);\n }\n if (doWerewolvesWin(game)) {\n const werewolvesSidePlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.WEREWOLVES, winners: werewolvesSidePlayers }, plainToInstanceDefaultOptions);\n }\n if (doVillagersWin(game)) {\n const villagersSidePlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n return plainToInstance(GameVictory, { type: GAME_VICTORY_TYPES.VILLAGERS, winners: villagersSidePlayers }, plainToInstanceDefaultOptions);\n }\n}\n\nexport {\n doWerewolvesWin,\n doVillagersWin,\n doLoversWin,\n doesWhiteWerewolfWin,\n doesPiedPiperWin,\n doesAngelWin,\n isGameOver,\n generateGameVictoryData,\n};" + }, + "src/modules/game/helpers/game.factory.ts": { + "language": "typescript", + "mutants": [ { - "id": "767", + "id": "727", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(138,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.factory.ts(6,34): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517", - "518" + "1", + "138", + "139", + "140", + "141", + "142", + "147", + "148", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355", + "356", + "357", + "358", + "359", + "360", + "365", + "366", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "407", + "408", + "409", + "410", + "411", + "412", + "413", + "414", + "415", + "416", + "417", + "418", + "419", + "420", + "421", + "422", + "423", + "424", + "425", + "426", + "427", + "428", + "429", + "430", + "431", + "432", + "528", + "529", + "530", + "531", + "697", + "698", + "699", + "700", + "701", + "702", + "703", + "704", + "705", + "706", + "707", + "708", + "709", + "710", + "713", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726", + "839", + "840", + "841", + "842", + "843", + "844", + "845", + "846", + "847", + "848", + "849", + "850", + "851", + "852", + "853", + "854", + "855", + "856", + "857", + "858", + "859", + "860", + "861", + "862", + "863", + "872", + "1009" ], "location": { "end": { "column": 2, - "line": 151 + "line": 8 }, "start": { - "column": 86, - "line": 139 + "column": 39, + "line": 6 } } - }, + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../shared/validation/constants/validation.constant\";\nimport { Game } from \"../schemas/game.schema\";\n\nfunction createGame(game: Game): Game {\n return plainToInstance(Game, toJSON(game), plainToInstanceDefaultOptions);\n}\n\nexport { createGame };" + }, + "src/modules/game/helpers/game.helper.ts": { + "language": "typescript", + "mutants": [ { - "id": "768", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getFoxSniffedTargets\"\nReceived message: \"Unexpected exception in \"\n\n 61 | playerId\n 62 | } = interpolations;\n > 63 | return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, stryMutAct_9fa48(\"2685\") ? {} : (stryCov_9fa48(\"2685\"), {\n | ^\n 64 | gameId: gameId.toString(),\n 65 | playerId: playerId.toString()\n 66 | }));\n\n at createCantFindPlayerUnexpectedException (src/shared/exception/helpers/unexpected-exception.factory.ts:63:12)\n at getFoxSniffedPlayers (src/modules/game/helpers/game.helper.ts:331:76)\n at tests/unit/specs/modules/game/helpers/game.helper.spec.ts:547:40\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/helpers/game.helper.spec.ts:547:65)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:547:65)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "728", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(15,71): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "518" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", + "164", + "165", + "174", + "175", + "187", + "195", + "197", + "206", + "207", + "211", + "212", + "221", + "223", + "230", + "232", + "245", + "248", + "251", "517", - "518" + "518", + "519", + "536", + "537" ], "location": { "end": { - "column": 97, - "line": 140 + "column": 2, + "line": 17 }, "start": { - "column": 75, - "line": 140 + "column": 103, + "line": 15 } } }, { - "id": "769", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(139,99): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", - "status": "CompileError", + "id": "729", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:290:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 23, "static": false, - "killedBy": [], + "killedBy": [ + "165" + ], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", + "164", + "165", + "174", + "175", + "187", + "195", + "197", + "206", + "207", + "211", + "212", + "221", + "223", + "230", + "232", + "245", + "248", + "251", "517", - "518" + "518", + "519", + "536", + "537" ], "location": { "end": { - "column": 146, - "line": 140 + "column": 63, + "line": 16 }, "start": { - "column": 99, - "line": 140 + "column": 28, + "line": 16 } } }, { - "id": "770", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(141,78): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GetNearestPlayerOptions'.\n Property 'direction' is missing in type '{}' but required in type 'GetNearestPlayerOptions'.\n", - "status": "CompileError", + "id": "730", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 7\n\n CreateGamePlayerDto {\n- \"name\": \"Johanna\",\n- \"position\": 2,\n+ \"name\": \"Avis\",\n+ \"position\": 0,\n \"role\": CreateGamePlayerRoleDto {\n- \"current\": \"werewolf\",\n+ \"current\": \"witch\",\n \"isRevealed\": false,\n- \"name\": \"werewolf\",\n- \"original\": \"werewolf\",\n+ \"name\": \"witch\",\n+ \"original\": \"witch\",\n },\n \"side\": CreateGamePlayerSideDto {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:44:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 23, "static": false, - "killedBy": [], + "killedBy": [ + "536" + ], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "164", + "165", + "174", + "175", + "187", + "195", + "197", + "206", + "207", + "211", + "212", + "221", + "223", + "230", + "232", + "245", + "248", + "251", + "517", + "518", + "519", + "536", + "537" ], "location": { "end": { - "column": 99, - "line": 142 + "column": 63, + "line": 16 }, "start": { - "column": 78, - "line": 142 + "column": 38, + "line": 16 } } }, { - "id": "771", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "src/modules/game/helpers/game.helper.ts(141,80): error TS2322: Type '\"\"' is not assignable to type '\"left\" | \"right\"'.\n", - "status": "CompileError", + "id": "731", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:290:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 22, "static": false, - "killedBy": [], + "killedBy": [ + "165" + ], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "164", + "165", + "174", + "175", + "187", + "195", + "197", + "206", + "207", + "211", + "212", + "221", + "223", + "230", + "232", + "245", + "248", + "251", + "517", + "518", + "519", + "536", + "537" ], "location": { "end": { - "column": 97, - "line": 142 + "column": 63, + "line": 16 }, "start": { - "column": 91, - "line": 142 + "column": 38, + "line": 16 } } }, { - "id": "772", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(142,79): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GetNearestPlayerOptions'.\n Property 'direction' is missing in type '{}' but required in type 'GetNearestPlayerOptions'.\n", - "status": "CompileError", + "id": "732", + "mutatorName": "EqualityOperator", + "replacement": "player.role.name !== role", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 7\n\n CreateGamePlayerDto {\n- \"name\": \"Jimmie\",\n- \"position\": 2,\n+ \"name\": \"Tressa\",\n+ \"position\": 0,\n \"role\": CreateGamePlayerRoleDto {\n- \"current\": \"werewolf\",\n+ \"current\": \"witch\",\n \"isRevealed\": false,\n- \"name\": \"werewolf\",\n- \"original\": \"werewolf\",\n+ \"name\": \"witch\",\n+ \"original\": \"witch\",\n },\n \"side\": CreateGamePlayerSideDto {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:44:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 23, "static": false, - "killedBy": [], + "killedBy": [ + "536" + ], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "164", + "165", + "174", + "175", + "187", + "195", + "197", + "206", + "207", + "211", + "212", + "221", + "223", + "230", + "232", + "245", + "248", + "251", + "517", + "518", + "519", + "536", + "537" ], "location": { "end": { - "column": 101, - "line": 143 + "column": 63, + "line": 16 }, "start": { - "column": 79, - "line": 143 + "column": 38, + "line": 16 } } }, { - "id": "773", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "src/modules/game/helpers/game.helper.ts(142,81): error TS2322: Type '\"\"' is not assignable to type '\"left\" | \"right\"'.\n", + "id": "733", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(19,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ + "27", + "28", + "29", + "31", + "58", + "59", + "60", + "64", + "65", + "66", + "133", + "134", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "166", + "167", + "168", + "169", + "170", + "171", + "176", + "177", + "178", + "179", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "198", + "199", "200", "201", "202", - "514", - "515", - "516", - "517" + "203", + "204", + "205", + "208", + "209", + "210", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "246", + "247", + "249", + "250", + "252", + "253", + "254", + "260", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "315", + "316", + "317", + "318", + "321", + "322", + "323", + "326", + "327", + "328", + "329", + "330", + "392", + "393", + "394", + "395", + "396", + "418", + "419", + "420", + "421", + "422", + "530", + "531", + "538", + "539", + "651", + "652", + "653", + "654", + "655", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 99, - "line": 143 + "column": 2, + "line": 21 }, "start": { - "column": 92, - "line": 143 + "column": 85, + "line": 19 } } }, { - "id": "774", - "mutatorName": "MethodExpression", - "replacement": "[leftAliveNeighbor, sniffedTarget, rightAliveNeighbor]", - "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player[]'.\nsrc/modules/game/helpers/game.helper.ts(144,42): error TS2345: Argument of type '(acc: Player[], target: Player | undefined) => (Player | undefined)[]' is not assignable to parameter of type '(previousValue: Player[], currentValue: Player | undefined, currentIndex: number, array: (Player | undefined)[]) => Player[]'.\n Type '(Player | undefined)[]' is not assignable to type 'Player[]'.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game.helper.ts(145,67): error TS18048: 'target' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "734", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:216:42)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 147, "static": false, - "killedBy": [], - "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "killedBy": [ + "655" ], - "location": { - "end": { - "column": 127, - "line": 144 - }, - "start": { - "column": 26, - "line": 144 - } - } - }, - { - "id": "775", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/helpers/game.helper.ts(143,56): error TS2677: A type predicate's type must be assignable to its parameter's type.\n Type 'Player' is not assignable to type 'never'.\nsrc/modules/game/helpers/game.helper.ts(145,74): error TS2339: Property '_id' does not exist on type 'never'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ + "27", + "28", + "29", + "31", + "58", + "59", + "60", + "64", + "65", + "66", + "133", + "134", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "166", + "167", + "168", + "169", + "170", + "171", + "176", + "177", + "178", + "179", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "198", + "199", "200", "201", "202", - "514", - "515", - "516", - "517" + "203", + "204", + "205", + "208", + "209", + "210", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "246", + "247", + "249", + "250", + "252", + "253", + "254", + "260", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "315", + "316", + "317", + "318", + "321", + "322", + "323", + "326", + "327", + "328", + "329", + "330", + "392", + "393", + "394", + "395", + "396", + "418", + "419", + "420", + "421", + "422", + "530", + "531", + "538", + "539", + "651", + "652", + "653", + "654", + "655", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "664", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 80, - "line": 144 + "column": 66, + "line": 20 }, "start": { - "column": 26, - "line": 144 + "column": 28, + "line": 20 } } }, { - "id": "776", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player[]'.\nsrc/modules/game/helpers/game.helper.ts(144,42): error TS2345: Argument of type '(acc: Player[], target: Player | undefined) => (Player | undefined)[]' is not assignable to parameter of type '(previousValue: Player[], currentValue: Player | undefined, currentIndex: number, array: (Player | undefined)[]) => Player[]'.\n Type '(Player | undefined)[]' is not assignable to type 'Player[]'.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game.helper.ts(145,67): error TS18048: 'target' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "735", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:238:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 137, "static": false, - "killedBy": [], + "killedBy": [ + "659" + ], "coveredBy": [ + "27", + "28", + "29", + "31", + "59", + "65", + "134", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "166", + "167", + "168", + "169", + "170", + "171", + "176", + "177", + "178", + "179", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "198", + "199", "200", "201", "202", - "514", - "515", - "516", - "517" + "203", + "204", + "205", + "208", + "209", + "210", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "246", + "247", + "249", + "250", + "252", + "253", + "254", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "315", + "316", + "317", + "318", + "321", + "322", + "323", + "326", + "327", + "328", + "329", + "330", + "392", + "393", + "394", + "395", + "396", + "418", + "419", + "420", + "421", + "422", + "530", + "531", + "538", + "539", + "652", + "653", + "654", + "655", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 126, - "line": 144 + "column": 66, + "line": 20 }, "start": { - "column": 88, - "line": 144 + "column": 38, + "line": 20 } } }, { - "id": "777", - "mutatorName": "BooleanLiteral", - "replacement": "!player", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"16abceadfe492634aa5b106c\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Helene\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "736", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:471:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 138, "static": false, "killedBy": [ - "201" + "31" ], "coveredBy": [ + "27", + "28", + "29", + "31", + "59", + "65", + "134", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "166", + "167", + "168", + "169", + "170", + "171", + "176", + "177", + "178", + "179", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "198", + "199", "200", "201", "202", - "514", - "515", - "516", - "517" - ], - "location": { - "end": { - "column": 126, - "line": 144 - }, - "start": { - "column": 118, - "line": 144 - } - } - }, - { - "id": "778", - "mutatorName": "BooleanLiteral", - "replacement": "player", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "203", + "204", + "205", + "208", + "209", + "210", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "246", + "247", + "249", + "250", + "252", + "253", + "254", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "315", + "316", + "317", + "318", + "321", + "322", + "323", + "326", + "327", + "328", + "329", + "330", + "392", + "393", + "394", + "395", + "396", + "418", + "419", + "420", + "421", + "422", + "530", + "531", + "538", + "539", + "652", + "653", + "654", + "655", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 126, - "line": 144 + "column": 66, + "line": 20 }, "start": { - "column": 119, - "line": 144 + "column": 38, + "line": 20 } } }, { - "id": "779", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2740: Type 'Player' is missing the following properties from type 'Player[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game.helper.ts(144,42): error TS2345: Argument of type '(acc: Player[], target: Player) => void' is not assignable to parameter of type '(previousValue: Player[], currentValue: Player, currentIndex: number, array: Player[]) => Player[]'.\n Type 'void' is not assignable to type 'Player[]'.\n", - "status": "CompileError", + "id": "737", + "mutatorName": "EqualityOperator", + "replacement": "player.role.current !== role", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ + "27", + "28", + "29", + "31", + "59", + "65", + "134", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "166", + "167", + "168", + "169", + "170", + "171", + "176", + "177", + "178", + "179", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "198", + "199", "200", "201", "202", - "514", - "515", - "516", - "517" - ], - "location": { - "end": { - "column": 4, - "line": 150 - }, - "start": { - "column": 59, - "line": 145 - } - } - }, - { - "id": "780", - "mutatorName": "BooleanLiteral", - "replacement": "acc.some(uniqueTarget => uniqueTarget._id.toString() === target._id.toString())", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"9dffa4c4cd5fb7797b38f4c5\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Kiley\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, - "static": false, - "killedBy": [ - "201" - ], - "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "203", + "204", + "205", + "208", + "209", + "210", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "246", + "247", + "249", + "250", + "252", + "253", + "254", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "315", + "316", + "317", + "318", + "321", + "322", + "323", + "326", + "327", + "328", + "329", + "330", + "392", + "393", + "394", + "395", + "396", + "418", + "419", + "420", + "421", + "422", + "530", + "531", + "538", + "539", + "652", + "653", + "654", + "655", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "665", + "666", + "667", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 89, - "line": 146 + "column": 66, + "line": 20 }, "start": { - "column": 9, - "line": 146 + "column": 38, + "line": 20 } } }, { - "id": "781", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "738", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(23,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "145", + "224", + "225", + "226", + "227", + "228", + "229", + "233", + "234", + "235", + "236", + "237", + "519", + "540", + "541", + "601", + "604", + "605" ], "location": { "end": { - "column": 89, - "line": 146 + "column": 2, + "line": 25 }, "start": { - "column": 9, - "line": 146 + "column": 76, + "line": 23 } } }, { - "id": "782", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "739", + "mutatorName": "MethodExpression", + "replacement": "game.players", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "145", + "224", + "225", + "226", + "227", + "228", + "229", + "233", + "234", + "235", + "236", + "237", + "519", + "540", + "541", + "601", + "604", + "605" ], "location": { "end": { - "column": 89, - "line": 146 + "column": 69, + "line": 24 }, "start": { - "column": 9, - "line": 146 + "column": 10, + "line": 24 } } }, { - "id": "783", - "mutatorName": "MethodExpression", - "replacement": "acc.every(uniqueTarget => uniqueTarget._id.toString() === target._id.toString())", + "id": "740", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "145", + "224", + "225", + "226", + "227", + "228", + "229", + "233", + "234", + "235", + "236", + "237", + "519", + "540", + "541", + "601", + "604", + "605" ], "location": { "end": { - "column": 89, - "line": 146 + "column": 68, + "line": 24 }, "start": { - "column": 10, - "line": 146 + "column": 30, + "line": 24 } } }, { - "id": "784", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "741", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "145", + "224", + "225", + "226", + "227", + "228", + "229", + "233", + "234", + "235", + "236", + "237", + "519", + "540", + "541", + "601", + "604", + "605" ], "location": { "end": { - "column": 88, - "line": 146 + "column": 68, + "line": 24 }, "start": { - "column": 19, - "line": 146 + "column": 40, + "line": 24 } } }, { - "id": "785", + "id": "742", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"b90ebeed038c2a1062ee8b82\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Virginia\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 53\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"7fcb52339bebf42b9571a62e\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"Ada\",\n- \"position\": 929266048958464,\n- \"role\": PlayerRole {\n- \"current\": \"three-brothers\",\n- \"isRevealed\": false,\n- \"original\": \"witch\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"c4c1bd55ef90b726ac060ba6\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Clara\",\n- \"position\": 8489212275851264,\n- \"role\": PlayerRole {\n- \"current\": \"three-brothers\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"05605bda44ba4ea08ee6ae7b\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Marvin\",\n- \"position\": 21598551670784,\n- \"role\": PlayerRole {\n- \"current\": \"three-brothers\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:84:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 18, "static": false, "killedBy": [ - "201" + "540" ], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516" + "145", + "224", + "225", + "226", + "227", + "228", + "229", + "233", + "234", + "235", + "236", + "237", + "519", + "540", + "541", + "601", + "604", + "605" ], "location": { "end": { - "column": 88, - "line": 146 + "column": 68, + "line": 24 }, "start": { - "column": 35, - "line": 146 + "column": 40, + "line": 24 } } }, { - "id": "786", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "743", + "mutatorName": "EqualityOperator", + "replacement": "player.role.current !== role", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516" + "145", + "224", + "225", + "226", + "227", + "228", + "229", + "233", + "234", + "235", + "236", + "237", + "519", + "540", + "541", + "601", + "604", + "605" ], "location": { "end": { - "column": 88, - "line": 146 + "column": 68, + "line": 24 }, "start": { - "column": 35, - "line": 146 - } - } - }, - { - "id": "787", - "mutatorName": "EqualityOperator", - "replacement": "uniqueTarget._id.toString() !== target._id.toString()", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"5e9ddcdd8ac4f85a8b09d22e\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Giuseppe\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, - "static": false, - "killedBy": [ - "201" - ], - "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516" - ], - "location": { - "end": { - "column": 88, - "line": 146 - }, - "start": { - "column": 35, - "line": 146 + "column": 40, + "line": 24 } } }, { - "id": "788", + "id": "744", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/helpers/game.helper.ts(27,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "215", + "216", + "217", + "219", + "220", + "530", + "531", + "542", + "543", + "555", + "556", + "557", + "558", + "559", + "560", + "577", + "578", + "600", + "638", + "639", + "640", + "641", + "642", + "643", + "644", + "645", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 6, - "line": 148 + "column": 2, + "line": 29 }, "start": { - "column": 91, - "line": 146 + "column": 76, + "line": 27 } } }, { - "id": "789", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", + "id": "745", + "mutatorName": "MethodExpression", + "replacement": "game.players", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "215", + "216", + "217", + "219", + "220", + "530", + "531", + "542", + "543", + "555", + "556", + "557", + "558", + "559", + "560", + "577", + "578", + "600", + "638", + "639", + "640", + "641", + "642", + "643", + "644", + "645", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 30, - "line": 147 + "column": 69, + "line": 28 }, "start": { - "column": 14, - "line": 147 + "column": 10, + "line": 28 } } }, { - "id": "790", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2740: Type 'Player' is missing the following properties from type 'Player[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game.helper.ts(149,7): error TS2322: Type 'string' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "746", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 0\n\n@@ -224,14 +224,8 @@\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 42, "static": false, - "killedBy": [], - "coveredBy": [ - "200", - "201", - "202", - "514", - "515", - "516", - "517" + "killedBy": [ + "530" ], - "location": { - "end": { - "column": 8, - "line": 150 - }, - "start": { - "column": 6, - "line": 150 - } - } - }, - { - "id": "791", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(153,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "215", + "216", + "217", + "219", + "220", + "530", + "531", + "542", + "543", + "555", + "556", + "557", + "558", + "559", + "560", + "577", + "578", + "600", + "638", + "639", + "640", + "641", + "642", + "643", + "644", + "645", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 174 + "column": 68, + "line": 28 }, "start": { - "column": 126, - "line": 153 + "column": 30, + "line": 28 } } }, { - "id": "792", - "mutatorName": "MethodExpression", - "replacement": "alivePlayers", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 7\n\n Player {\n- \"_id\": \"b7b03da4ceee9f119cfff7fb\",\n+ \"_id\": \"ebdef4def21d88a0ac57ccec\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Lucy\",\n- \"position\": 1,\n+ \"name\": \"Bettie\",\n+ \"position\": 2,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:582:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "747", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:539:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 19, + "testsCompleted": 38, "static": false, "killedBy": [ - "520" + "185" ], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "215", + "216", + "217", + "219", + "220", + "530", + "531", + "542", + "543", + "556", + "557", + "559", + "560", + "577", + "578", + "600", + "639", + "640", + "641", + "643", + "644", + "645", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 55, - "line": 155 + "column": 68, + "line": 28 }, "start": { - "column": 3, - "line": 155 + "column": 40, + "line": 28 } } }, { - "id": "793", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/helpers/game.helper.ts(154,21): error TS2345: Argument of type '() => undefined' is not assignable to parameter of type '(a: Player, b: Player) => number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "748", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:68:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 38, "static": false, - "killedBy": [], + "killedBy": [ + "641" + ], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "215", + "216", + "217", + "219", + "220", + "530", + "531", + "542", + "543", + "556", + "557", + "559", + "560", + "577", + "578", + "600", + "639", + "640", + "641", + "643", + "644", + "645", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 54, - "line": 155 + "column": 68, + "line": 28 }, "start": { - "column": 21, - "line": 155 + "column": 40, + "line": 28 } } }, { - "id": "794", - "mutatorName": "ArithmeticOperator", - "replacement": "a.position + b.position", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 7\n\n Player {\n- \"_id\": \"aa3a017804dc62e61541dc58\",\n+ \"_id\": \"ec0d5c2abaeefd8ddacc6f80\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Ruby\",\n- \"position\": 1,\n+ \"name\": \"Silas\",\n+ \"position\": 2,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:582:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, + "id": "749", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== side", + "status": "Timeout", "static": false, - "killedBy": [ - "520" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "519", - "520", - "521", - "522", - "523", - "524" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "215", + "216", + "217", + "219", + "220", + "530", + "531", + "542", + "543", + "556", + "557", + "559", + "560", + "577", + "578", + "600", + "639", + "640", + "641", + "643", + "644", + "645", + "677", + "678", + "679", + "680", + "681", + "682", + "688", + "689", + "690" ], "location": { "end": { - "column": 54, - "line": 155 + "column": 68, + "line": 28 }, "start": { - "column": 31, - "line": 155 + "column": 40, + "line": 28 } } }, { - "id": "795", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getNearestAliveNeighbor\"\nReceived message: \"Unexpected exception in \"\n\n 61 | playerId\n 62 | } = interpolations;\n > 63 | return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, stryMutAct_9fa48(\"2685\") ? {} : (stryCov_9fa48(\"2685\"), {\n | ^\n 64 | gameId: gameId.toString(),\n 65 | playerId: playerId.toString()\n 66 | }));\n\n at createCantFindPlayerUnexpectedException (src/shared/exception/helpers/unexpected-exception.factory.ts:63:12)\n at getNearestAliveNeighbor (src/modules/game/helpers/game.helper.ts:368:76)\n at tests/unit/specs/modules/game/helpers/game.helper.spec.ts:567:43\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/helpers/game.helper.spec.ts:567:77)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:567:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 19, + "id": "750", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(31,59): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "519" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "286", + "306", + "311", + "325", + "328", + "329", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "357", + "358", + "359", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "454", + "455", + "456", + "457", + "472", + "473", + "474", + "475", + "476", + "477", + "479", + "480", + "528", + "530", + "531", + "544", + "545", + "546", + "547", + "583", + "584", + "585", + "586", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "779", + "780", + "781", + "783", + "784", + "788", + "851", + "852", + "853", + "857", + "858", + "859" ], "location": { "end": { - "column": 100, - "line": 156 + "column": 2, + "line": 33 }, "start": { - "column": 75, - "line": 156 + "column": 78, + "line": 31 } } }, { - "id": "796", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(155,102): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", - "status": "CompileError", + "id": "751", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: [{\"_id\": \"aab9cd7a1e8dc7a1cfabe9aa\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Ezekiel\", \"position\": 4547750871957504, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"a8f7627cc683c3ea849b320f\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Erika\", \"position\": 8970568588066816, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:334:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 86, "static": false, - "killedBy": [], + "killedBy": [ + "454" + ], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "519", - "520", - "521", - "522", - "523", - "524", - "525" + "286", + "306", + "311", + "325", + "328", + "329", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "357", + "358", + "359", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "454", + "455", + "456", + "457", + "472", + "473", + "474", + "475", + "476", + "477", + "479", + "480", + "528", + "530", + "531", + "544", + "545", + "546", + "547", + "583", + "584", + "585", + "586", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "779", + "780", + "781", + "783", + "784", + "788", + "851", + "852", + "853", + "857", + "858", + "859" ], "location": { "end": { - "column": 132, - "line": 156 + "column": 73, + "line": 32 }, "start": { - "column": 102, - "line": 156 + "column": 28, + "line": 32 } } }, { - "id": "797", + "id": "752", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "286", + "306", + "311", + "325", + "328", + "329", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "357", + "358", + "359", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "454", + "455", + "456", + "457", + "472", + "473", + "474", + "475", + "476", + "477", + "528", + "530", + "531", + "544", + "545", + "546", + "547", + "583", + "584", + "585", + "586", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "779", + "780", + "781", + "783", + "784", + "788", + "851", + "852", + "853", + "858", + "859" ], "location": { "end": { - "column": 52, - "line": 158 + "column": 73, + "line": 32 }, "start": { - "column": 24, - "line": 158 + "column": 41, + "line": 32 } } }, { - "id": "798", + "id": "753", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "286", + "306", + "311", + "325", + "328", + "329", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "357", + "358", + "359", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "454", + "455", + "456", + "457", + "472", + "473", + "474", + "475", + "476", + "477", + "528", + "530", + "531", + "544", + "545", + "546", + "547", + "583", + "584", + "585", + "586", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "779", + "780", + "781", + "783", + "784", + "788", + "851", + "852", + "853", + "858", + "859" ], "location": { "end": { - "column": 52, - "line": 158 + "column": 73, + "line": 32 }, "start": { - "column": 24, - "line": 158 + "column": 41, + "line": 32 } } }, { - "id": "799", + "id": "754", "mutatorName": "EqualityOperator", - "replacement": "options.direction !== \"left\"", + "replacement": "_id.toString() !== id.toString()", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "286", + "306", + "311", + "325", + "328", + "329", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "357", + "358", + "359", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "454", + "455", + "456", + "457", + "472", + "473", + "474", + "475", + "476", + "477", + "528", + "530", + "531", + "544", + "545", + "546", + "547", + "583", + "584", + "585", + "586", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "779", + "780", + "781", + "783", + "784", + "788", + "851", + "852", + "853", + "858", + "859" ], "location": { "end": { - "column": 52, - "line": 158 + "column": 73, + "line": 32 }, "start": { - "column": 24, - "line": 158 + "column": 41, + "line": 32 } } }, { - "id": "800", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "src/modules/game/helpers/game.helper.ts(157,24): error TS2367: This comparison appears to be unintentional because the types '\"left\" | \"right\"' and '\"\"' have no overlap.\n", + "id": "755", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(35,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" - ], - "location": { + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "546", + "547", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598" + ], + "location": { "end": { - "column": 52, - "line": 158 + "column": 2, + "line": 41 }, "start": { - "column": 46, - "line": 158 + "column": 97, + "line": 35 } } }, { - "id": "801", - "mutatorName": "UnaryOperator", - "replacement": "+1", - "status": "Timeout", + "id": "756", + "mutatorName": "BooleanLiteral", + "replacement": "player", + "statusReason": "src/modules/game/helpers/game.helper.ts(39,3): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "521", - "522", - "523", - "524", - "525" + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "546", + "547", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 57, - "line": 158 + "column": 14, + "line": 37 }, "start": { - "column": 55, - "line": 158 + "column": 7, + "line": 37 } } }, { - "id": "802", - "mutatorName": "ArithmeticOperator", - "replacement": "player.position - indexHeading", - "status": "Timeout", + "id": "757", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.helper.ts(39,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "546", + "547", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 52, - "line": 159 + "column": 14, + "line": 37 }, "start": { - "column": 22, - "line": 159 + "column": 7, + "line": 37 } } }, { - "id": "803", + "id": "758", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(39,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "407", + "408", + "409", + "410", + "411", + "433", + "434", + "546", + "547", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 37, - "line": 161 + "column": 14, + "line": 37 }, "start": { - "column": 10, - "line": 161 + "column": 7, + "line": 37 } } }, { - "id": "804", - "mutatorName": "EqualityOperator", - "replacement": "count <= alivePlayers.length", - "status": "Timeout", + "id": "759", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(37,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "365", + "547", + "591", + "592" ], "location": { "end": { - "column": 37, - "line": 161 + "column": 4, + "line": 39 }, "start": { - "column": 10, - "line": 161 + "column": 16, + "line": 37 } } }, { - "id": "805", - "mutatorName": "EqualityOperator", - "replacement": "count >= alivePlayers.length", - "status": "Timeout", + "id": "760", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(43,61): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524", - "525" + "548", + "549", + "550", + "551" ], "location": { "end": { - "column": 37, - "line": 161 + "column": 2, + "line": 45 }, "start": { - "column": 10, - "line": 161 + "column": 80, + "line": 43 } } }, { - "id": "806", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "761", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "548", + "549", + "550", + "551" ], "location": { "end": { - "column": 4, - "line": 173 + "column": 83, + "line": 44 }, "start": { - "column": 39, - "line": 161 + "column": 28, + "line": 44 } } }, { - "id": "807", + "id": "762", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 0\n\n@@ -1,24 +1,7 @@\n Array [\n Player {\n- \"_id\": \"4a47a743cbfb6bbbf5ecafcd\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Rachelle\",\n- \"position\": 2,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n \"_id\": \"cbdcbb6cc17cc30a21d7c341\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Olaf\",\n@@ -29,25 +12,8 @@\n \"original\": \"villager\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"f818bb0d971a7caec2a54bd7\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Eloise\",\n- \"position\": 0,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:58)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, + "status": "Timeout", "static": false, - "killedBy": [ - "514" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "548", + "549", + "550", + "551" ], "location": { "end": { - "column": 25, - "line": 162 + "column": 83, + "line": 44 }, "start": { - "column": 9, - "line": 162 + "column": 42, + "line": 44 } } }, { - "id": "808", + "id": "763", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:397:438)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:597:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, + "status": "Timeout", "static": false, - "killedBy": [ - "521" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "548", + "549", + "550", + "551" ], "location": { "end": { - "column": 25, - "line": 162 + "column": 83, + "line": 44 }, "start": { - "column": 9, - "line": 162 + "column": 42, + "line": 44 } } }, { - "id": "809", + "id": "764", "mutatorName": "EqualityOperator", - "replacement": "currentIndex <= 0", + "replacement": "name.toString() !== playerName.toString()", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "548", + "549", + "550", + "551" ], "location": { "end": { - "column": 25, - "line": 162 + "column": 83, + "line": 44 }, "start": { - "column": 9, - "line": 162 + "column": 42, + "line": 44 } } }, { - "id": "810", - "mutatorName": "EqualityOperator", - "replacement": "currentIndex >= 0", - "status": "Timeout", + "id": "765", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(47,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "550", + "551" ], "location": { "end": { - "column": 25, - "line": 162 + "column": 2, + "line": 53 }, "start": { - "column": 9, - "line": 162 + "column": 93, + "line": 47 } } }, { - "id": "813", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "766", + "mutatorName": "BooleanLiteral", + "replacement": "player", + "statusReason": "src/modules/game/helpers/game.helper.ts(51,3): error TS2322: Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "550", + "551" ], "location": { "end": { - "column": 51, - "line": 164 + "column": 14, + "line": 49 }, "start": { - "column": 16, - "line": 164 + "column": 7, + "line": 49 } } }, { - "id": "814", + "id": "767", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:397:438)\n at getFoxSniffedPlayers (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:339:32)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.helper.ts(51,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "514" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "550", + "551" ], "location": { "end": { - "column": 51, - "line": 164 - }, + "column": 14, + "line": 49 + }, "start": { - "column": 16, - "line": 164 + "column": 7, + "line": 49 } } }, { - "id": "815", - "mutatorName": "EqualityOperator", - "replacement": "currentIndex > alivePlayers.length", - "status": "Timeout", + "id": "768", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.helper.ts(51,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "550", + "551" ], "location": { "end": { - "column": 51, - "line": 164 + "column": 14, + "line": 49 }, "start": { - "column": 16, - "line": 164 + "column": 7, + "line": 49 } } }, { - "id": "816", - "mutatorName": "EqualityOperator", - "replacement": "currentIndex < alivePlayers.length", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:397:438)\n at getFoxSniffedPlayers (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:339:32)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 17, + "id": "769", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(49,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "514" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "551" ], "location": { "end": { - "column": 51, - "line": 164 + "column": 4, + "line": 51 }, "start": { "column": 16, - "line": 164 + "line": 49 } } }, { - "id": "817", + "id": "770", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/helpers/game.helper.ts(55,96): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "514", - "515", - "516", - "517", - "520", - "524" + "476", + "477", + "552", + "553", + "554", + "786", + "787", + "788" ], "location": { "end": { - "column": 6, - "line": 166 + "column": 2, + "line": 57 }, "start": { - "column": 53, - "line": 164 + "column": 127, + "line": 55 } } }, { - "id": "818", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "771", + "mutatorName": "OptionalChaining", + "replacement": "cards.find", + "statusReason": "src/modules/game/helpers/game.helper.ts(56,10): error TS18048: 'cards' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "476", + "477", + "552", + "553", + "554", + "786", + "787", + "788" ], "location": { "end": { - "column": 148, - "line": 168 + "column": 21, + "line": 56 }, "start": { - "column": 9, - "line": 168 + "column": 10, + "line": 56 } } }, { - "id": "819", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "772", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: thrown: ResourceNotFoundException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:135:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:118:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:21:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "787" + ], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "476", + "477", + "552", + "554", + "786", + "787", + "788" ], "location": { "end": { - "column": 148, - "line": 168 + "column": 67, + "line": 56 }, "start": { - "column": 9, - "line": 168 + "column": 22, + "line": 56 } } }, { - "id": "820", - "mutatorName": "LogicalOperator", - "replacement": "checkingNeighbor.position !== player.position || options.playerSide === undefined || checkingNeighbor.side.current === options.playerSide", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -131,11 +131,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"6db4eaffc7eaef6dd1762c7a\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Wilburn\",\n \"position\": 6262310171574272,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:815:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "773", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: ResourceNotFoundException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts:131:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 17, + "testsCompleted": 7, "static": false, "killedBy": [ - "392" + "786" ], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "476", + "477", + "552", + "554", + "786", + "787", + "788" ], "location": { "end": { - "column": 148, - "line": 168 + "column": 67, + "line": 56 }, "start": { - "column": 9, - "line": 168 + "column": 35, + "line": 56 } } }, { - "id": "821", + "id": "774", "mutatorName": "ConditionalExpression", - "replacement": "true", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "476", + "477", + "552", + "554", + "786", + "787", + "788" ], "location": { "end": { - "column": 54, - "line": 168 + "column": 67, + "line": 56 }, "start": { - "column": 9, - "line": 168 + "column": 35, + "line": 56 } } }, { - "id": "822", + "id": "775", "mutatorName": "EqualityOperator", - "replacement": "checkingNeighbor.position === player.position", - "status": "Timeout", + "replacement": "_id.toString() !== id.toString()", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 3\n\n GameAdditionalCard {\n- \"_id\": \"02d1c76e546ddfdadb76bb1c\",\n- \"isUsed\": true,\n+ \"_id\": \"48f9b91ab7fd3e7cdf47eeb8\",\n+ \"isUsed\": false,\n \"recipient\": \"thief\",\n- \"roleName\": \"little-girl\",\n+ \"roleName\": \"two-sisters\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:190:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "552" + ], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "517", - "520", - "521", - "522", - "523", - "524" + "476", + "477", + "552", + "554", + "786", + "787", + "788" ], "location": { "end": { - "column": 54, - "line": 168 + "column": 67, + "line": 56 }, "start": { - "column": 9, - "line": 168 + "column": 35, + "line": 56 } } }, { - "id": "823", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -131,11 +131,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"28dcc37da4846cdbcddcd1ed\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Shanel\",\n \"position\": 32971549573120,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:815:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 16, + "id": "776", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(59,45): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "392" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "520", - "521", - "522", - "523", - "524" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { - "column": 147, - "line": 168 + "column": 2, + "line": 62 }, "start": { - "column": 59, - "line": 168 + "column": 53, + "line": 59 } } }, { - "id": "824", - "mutatorName": "LogicalOperator", - "replacement": "options.playerSide === undefined && checkingNeighbor.side.current === options.playerSide", + "id": "777", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "520", - "521", - "522", - "523", - "524" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { - "column": 147, - "line": 168 + "column": 91, + "line": 61 }, "start": { - "column": 59, - "line": 168 + "column": 10, + "line": 61 } } }, { - "id": "825", + "id": "778", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 0\n\n@@ -1,24 +1,7 @@\n Array [\n Player {\n- \"_id\": \"e6e6db3daab54ac1eacad228\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kennedi\",\n- \"position\": 2,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n \"_id\": \"d31caa2df4ea5a2fa9b96e63\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Sven\",\n@@ -29,25 +12,8 @@\n \"original\": \"villager\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"a9f8ccc8e9b9faf1ddb923ad\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Maureen\",\n- \"position\": 0,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:58)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 16, + "status": "Timeout", "static": false, - "killedBy": [ - "514" - ], + "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "520", - "521", - "522", - "523", - "524" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { "column": 91, - "line": 168 + "line": 61 }, "start": { - "column": 59, - "line": 168 + "column": 10, + "line": 61 } } }, { - "id": "826", - "mutatorName": "EqualityOperator", - "replacement": "options.playerSide !== undefined", + "id": "779", + "mutatorName": "LogicalOperator", + "replacement": "werewolfPlayers.length > 0 || werewolfPlayers.every(werewolf => werewolf.isAlive)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "392", - "393", - "514", - "515", - "516", - "520", - "521", - "522", - "523", - "524" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { "column": 91, - "line": 168 + "line": 61 }, "start": { - "column": 59, - "line": 168 + "column": 10, + "line": 61 } } }, { - "id": "827", + "id": "780", "mutatorName": "ConditionalExpression", - "replacement": "false", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393", - "522", - "523", - "524" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { - "column": 147, - "line": 168 + "column": 36, + "line": 61 }, "start": { - "column": 95, - "line": 168 + "column": 10, + "line": 61 } } }, { - "id": "828", + "id": "781", "mutatorName": "EqualityOperator", - "replacement": "checkingNeighbor.side.current !== options.playerSide", + "replacement": "werewolfPlayers.length >= 0", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393", - "522", - "523", - "524" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { - "column": 147, - "line": 168 + "column": 36, + "line": 61 }, "start": { - "column": 95, - "line": 168 + "column": 10, + "line": 61 } } }, { - "id": "829", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "782", + "mutatorName": "EqualityOperator", + "replacement": "werewolfPlayers.length <= 0", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "200", - "201", - "202", - "389", - "390", - "391", - "393", - "514", - "515", - "516", - "520", - "521", - "522", - "523" + "145", + "215", + "216", + "217", + "219", + "220", + "555", + "556", + "557" ], "location": { "end": { - "column": 6, - "line": 170 + "column": 36, + "line": 61 }, "start": { - "column": 150, - "line": 168 + "column": 10, + "line": 61 } } }, { - "id": "832", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(176,48): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "783", + "mutatorName": "MethodExpression", + "replacement": "werewolfPlayers.some(werewolf => werewolf.isAlive)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "145", + "215", + "216", + "217", + "219", + "220", + "556", + "557" ], "location": { "end": { - "column": 2, - "line": 194 + "column": 91, + "line": 61 }, "start": { - "column": 57, - "line": 176 + "column": 40, + "line": 61 } } }, { - "id": "833", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/helpers/game.helper.ts(189,55): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/game-play.enum\").GAME_PLAY_ACTIONS' is not assignable to parameter of type 'never'.\n", - "status": "CompileError", + "id": "784", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "145", + "215", + "216", + "217", + "219", + "220", + "556", + "557" ], "location": { "end": { - "column": 132, - "line": 178 + "column": 90, + "line": 61 }, "start": { - "column": 49, - "line": 178 + "column": 62, + "line": 61 } } }, { - "id": "834", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/helpers/game.helper.ts(178,42): error TS2322: Type 'string' is not assignable to type 'Player'.\n", + "id": "785", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(64,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "526", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "558", + "559", + "560" ], "location": { "end": { - "column": 43, - "line": 179 + "column": 2, + "line": 67 }, "start": { - "column": 41, - "line": 179 + "column": 52, + "line": 64 } } }, { - "id": "835", + "id": "786", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game.helper.ts(182,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,56): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,56): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'PLAYER_GROUPS'.\n Type 'ROLE_NAMES.WEREWOLF' is not assignable to type 'PLAYER_GROUPS'.\nsrc/modules/game/helpers/game.helper.ts(184,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\nsrc/modules/game/helpers/game.helper.ts(189,55): error TS18047: 'currentPlay' is possibly 'null'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "558", + "559", + "560" ], "location": { "end": { - "column": 27, - "line": 180 + "column": 91, + "line": 66 }, "start": { - "column": 7, - "line": 180 + "column": 10, + "line": 66 } } }, { - "id": "836", + "id": "787", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(182,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,56): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(189,55): error TS18047: 'currentPlay' is possibly 'null'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "558", + "559", + "560" ], "location": { "end": { - "column": 27, - "line": 180 + "column": 91, + "line": 66 }, "start": { - "column": 7, - "line": 180 + "column": 10, + "line": 66 } } }, { - "id": "837", - "mutatorName": "EqualityOperator", - "replacement": "currentPlay !== null", - "statusReason": "src/modules/game/helpers/game.helper.ts(182,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,56): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(189,55): error TS18047: 'currentPlay' is possibly 'null'.\n", - "status": "CompileError", + "id": "788", + "mutatorName": "LogicalOperator", + "replacement": "villagerPlayers.length > 0 || villagerPlayers.every(villager => villager.isAlive)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526", - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "558", + "559", + "560" ], "location": { "end": { - "column": 27, - "line": 180 + "column": 91, + "line": 66 }, "start": { - "column": 7, - "line": 180 + "column": 10, + "line": 66 } } }, { - "id": "838", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(180,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(181,56): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(182,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(187,55): error TS18047: 'currentPlay' is possibly 'null'.\n", - "status": "CompileError", + "id": "789", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526" + "558", + "559", + "560" ], "location": { "end": { - "column": 4, - "line": 182 + "column": 36, + "line": 66 }, "start": { - "column": 29, - "line": 180 + "column": 10, + "line": 66 } } }, { - "id": "839", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"getExpectedPlayersToPlay\", {\"gameId\": \"01dd8bb46a9fee5926c2ad03\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:673:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "790", + "mutatorName": "EqualityOperator", + "replacement": "villagerPlayers.length >= 0", + "status": "Timeout", "static": false, - "killedBy": [ - "526" - ], + "killedBy": [], "coveredBy": [ - "526" + "558", + "559", + "560" ], "location": { "end": { - "column": 80, - "line": 181 + "column": 36, + "line": 66 }, "start": { - "column": 54, - "line": 181 + "column": 10, + "line": 66 } } }, { - "id": "840", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(180,82): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", - "status": "CompileError", + "id": "791", + "mutatorName": "EqualityOperator", + "replacement": "villagerPlayers.length <= 0", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "526" + "558", + "559", + "560" ], "location": { "end": { - "column": 102, - "line": 181 + "column": 36, + "line": 66 }, "start": { - "column": 82, - "line": 181 + "column": 10, + "line": 66 } } }, { - "id": "841", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/helpers/game.helper.ts(183,56): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'PLAYER_GROUPS'.\n Type 'ROLE_NAMES.WEREWOLF' is not assignable to type 'PLAYER_GROUPS'.\nsrc/modules/game/helpers/game.helper.ts(184,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\n", - "status": "CompileError", + "id": "792", + "mutatorName": "MethodExpression", + "replacement": "villagerPlayers.some(villager => villager.isAlive)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "559", + "560" ], "location": { "end": { - "column": 49, - "line": 183 + "column": 91, + "line": 66 }, "start": { - "column": 7, - "line": 183 + "column": 40, + "line": 66 } } }, { - "id": "842", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(183,56): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,56): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'PLAYER_GROUPS'.\n Type 'ROLE_NAMES.WEREWOLF' is not assignable to type 'PLAYER_GROUPS'.\n", - "status": "CompileError", + "id": "793", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "527", - "528", - "529", - "530", - "531", - "532", - "560", - "561", - "572", - "573" + "559", + "560" ], "location": { "end": { - "column": 49, - "line": 183 + "column": 90, + "line": 66 }, "start": { - "column": 7, - "line": 183 + "column": 62, + "line": 66 } } }, { - "id": "843", + "id": "794", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/helpers/game.helper.ts(69,41): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "527", - "560", - "572", - "573" + "530", + "531", + "561", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 185 + "column": 2, + "line": 71 }, "start": { - "column": 51, - "line": 183 + "column": 49, + "line": 69 } } }, { - "id": "844", + "id": "795", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game.helper.ts(185,64): error TS2345: Argument of type 'ROLE_NAMES | PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:268:51)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 22, "static": false, - "killedBy": [], + "killedBy": [ + "561" + ], "coveredBy": [ - "528", - "529", "530", "531", - "532", - "561" + "561", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 55, - "line": 185 + "column": 82, + "line": 70 }, "start": { - "column": 14, - "line": 185 + "column": 10, + "line": 70 } } }, { - "id": "845", + "id": "796", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game.helper.ts(185,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "528", - "529", "530", "531", - "532", - "561" + "561", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 55, - "line": 185 + "column": 82, + "line": 70 }, "start": { - "column": 14, - "line": 185 + "column": 10, + "line": 70 } } }, { - "id": "846", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 19\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"c2aaa2fd1bf6daa7e7a6a773\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Darlene\",\n- \"position\": 5049674658480128,\n- \"role\": PlayerRole {\n- \"current\": \"two-sisters\",\n- \"isRevealed\": false,\n- \"original\": \"two-sisters\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:730:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "797", + "mutatorName": "LogicalOperator", + "replacement": "game.players.length > 0 || game.players.every(({\n isAlive\n}) => !isAlive)", + "status": "Timeout", "static": false, - "killedBy": [ - "528" - ], + "killedBy": [], "coveredBy": [ - "528", + "530", "531", - "532", - "561" + "561", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 187 + "column": 82, + "line": 70 }, "start": { - "column": 57, - "line": 185 + "column": 10, + "line": 70 } } }, { - "id": "847", - "mutatorName": "BlockStatement", - "replacement": "{}", + "id": "798", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "529", - "530" - ], + "530", + "531", + "561", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" + ], "location": { "end": { - "column": 4, - "line": 189 + "column": 33, + "line": 70 }, "start": { "column": 10, - "line": 187 + "line": 70 } } }, { - "id": "848", - "mutatorName": "BooleanLiteral", - "replacement": "mustIncludeDeadPlayersGamePlayActions.includes(currentPlay.action)", + "id": "799", + "mutatorName": "EqualityOperator", + "replacement": "game.players.length >= 0", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "527", - "528", - "529", "530", "531", - "532", - "560", "561", - "572", - "573" + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 74, - "line": 190 + "column": 33, + "line": 70 }, "start": { - "column": 7, - "line": 190 + "column": 10, + "line": 70 } } }, { - "id": "849", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "800", + "mutatorName": "EqualityOperator", + "replacement": "game.players.length <= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:438:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 22, "static": false, - "killedBy": [], + "killedBy": [ + "674" + ], "coveredBy": [ - "527", - "528", - "529", "530", "531", - "532", - "560", "561", - "572", - "573" + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 74, - "line": 190 + "column": 33, + "line": 70 }, "start": { - "column": 7, - "line": 190 + "column": 10, + "line": 70 } } }, { - "id": "850", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "801", + "mutatorName": "MethodExpression", + "replacement": "game.players.some(({\n isAlive\n}) => !isAlive)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "527", - "528", - "529", "530", "531", - "532", - "560", - "561", - "572", - "573" + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 74, - "line": 190 + "column": 82, + "line": 70 }, "start": { - "column": 7, - "line": 190 + "column": 37, + "line": 70 } } }, { - "id": "851", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"b6a0f19cc474bdab8ce35b80\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Nestor\",\n+ \"position\": 1941635644522496,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"a586baa2d57f4f1da0fa36ee\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Adolfo\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:685:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "802", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:438:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 21, "static": false, "killedBy": [ - "527" + "674" ], "coveredBy": [ - "527", - "528", - "529", - "560", - "561", - "572", - "573" + "530", + "531", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 192 + "column": 81, + "line": 70 }, "start": { - "column": 76, - "line": 190 + "column": 56, + "line": 70 } } }, { - "id": "852", - "mutatorName": "MethodExpression", - "replacement": "expectedPlayersToPlay", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"b5f4c5764481c5f3a0dedcd6\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Destany\",\n+ \"position\": 6102737410326528,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"ff96062ad7f21f380f4e6ac9\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jonathan\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:685:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "id": "803", + "mutatorName": "BooleanLiteral", + "replacement": "isAlive", + "status": "Timeout", "static": false, - "killedBy": [ - "527" + "killedBy": [], + "coveredBy": [ + "530", + "531", + "562", + "563", + "674", + "675", + "676", + "677", + "678", + "679", + "680", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "690" ], + "location": { + "end": { + "column": 81, + "line": 70 + }, + "start": { + "column": 73, + "line": 70 + } + } + }, + { + "id": "806", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(77,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "527", - "528", - "529", - "560", - "561", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171", + "530", + "531", + "566", + "567", + "575", + "576", + "602", + "603", + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 83, - "line": 191 + "column": 2, + "line": 79 }, "start": { - "column": 29, - "line": 191 + "column": 101, + "line": 77 } } }, { - "id": "853", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "807", + "mutatorName": "MethodExpression", + "replacement": "game.players", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "527", - "528", - "529", - "560", - "561", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171", + "530", + "531", + "566", + "567", + "575", + "576", + "602", + "603", + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 82, - "line": 191 + "column": 103, + "line": 78 }, "start": { - "column": 58, - "line": 191 + "column": 10, + "line": 78 } } }, { - "id": "854", + "id": "808", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "src/modules/game/helpers/game.helper.ts(192,3): error TS2322: Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "527", - "528", - "529", + "145", + "167", + "168", + "169", + "170", + "171", "530", "531", - "532", - "560", - "561", - "572", - "573" + "566", + "567", + "575", + "576", + "602", + "603", + "646", + "647", + "648", + "649", + "650", + "681", + "682", + "685", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 66, - "line": 193 + "column": 102, + "line": 78 }, "start": { - "column": 36, - "line": 193 + "column": 30, + "line": 78 } } }, { - "id": "717", + "id": "809", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.helper.ts(98,55): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(81,39): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "568", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { "column": 2, - "line": 101 + "line": 83 }, "start": { - "column": 64, - "line": 98 + "column": 48, + "line": 81 } } }, { - "id": "718", + "id": "810", "mutatorName": "MethodExpression", "replacement": "game.players", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "568", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 88, - "line": 100 + "column": 55, + "line": 82 }, "start": { "column": 10, - "line": 99 + "line": 82 } } }, { - "id": "719", + "id": "811", "mutatorName": "ArrowFunction", "replacement": "() => undefined", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "568", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 87, - "line": 100 + "column": 54, + "line": 82 }, "start": { "column": 30, - "line": 99 + "line": 82 } } }, { - "id": "720", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "812", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(85,52): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "420", + "569" ], "location": { "end": { - "column": 87, - "line": 100 + "column": 2, + "line": 87 }, "start": { - "column": 40, - "line": 99 + "column": 61, + "line": 85 } } }, { - "id": "724", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || player.side.current === ROLE_SIDES.VILLAGERS", + "id": "813", + "mutatorName": "MethodExpression", + "replacement": "game.players", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "420", + "569" ], "location": { "end": { - "column": 102, - "line": 99 + "column": 103, + "line": 86 }, "start": { - "column": 40, - "line": 99 + "column": 10, + "line": 86 } } }, { - "id": "722", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive && player.side.current === ROLE_SIDES.VILLAGERS || !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.EATEN, game)", - "status": "Timeout", + "id": "814", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"5a97e599c131b42d8cf1f7ab\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Novella\",\n \"position\": 6720181839593472,\n \"role\": PlayerRole {\n@@ -139,19 +131,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"d99d97e891040b0e7bc4a98a\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Eladio\",\n \"position\": 5616096637878272,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:982:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, + "killedBy": [ + "420" + ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "420", + "569" ], "location": { "end": { - "column": 87, - "line": 100 + "column": 102, + "line": 86 }, "start": { - "column": 40, - "line": 99 + "column": 30, + "line": 86 } } }, { - "id": "721", + "id": "815", "mutatorName": "ConditionalExpression", - "replacement": "false", + "replacement": "true", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "420", + "569" ], "location": { "end": { - "column": 87, - "line": 100 + "column": 102, + "line": 86 }, "start": { "column": 40, - "line": 99 + "line": 86 } } }, { - "id": "727", - "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.EATEN, game)", - "status": "Timeout", + "id": "816", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"bece3221ee4577fcb8cdf7ac\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Hector\",\n \"position\": 1127272549449728,\n \"role\": PlayerRole {\n@@ -139,19 +131,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"e51ec57b7aee68498e3d44ba\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tracy\",\n \"position\": 2944607289606144,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:982:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, + "killedBy": [ + "420" + ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45", - "499" + "420", + "569" ], "location": { "end": { - "column": 87, - "line": 100 + "column": 102, + "line": 86 }, "start": { - "column": 5, - "line": 100 + "column": 40, + "line": 86 } } }, { - "id": "812", - "mutatorName": "ArithmeticOperator", - "replacement": "alivePlayers.length + 1", + "id": "817", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || player.side.current === ROLE_SIDES.VILLAGERS", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "390", - "391", - "392", - "393", - "521", - "522", - "524" + "420", + "569" ], "location": { "end": { - "column": 45, - "line": 163 + "column": 102, + "line": 86 }, "start": { - "column": 22, - "line": 163 + "column": 40, + "line": 86 } } }, { - "id": "725", + "id": "818", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45", - "499" + "420", + "569" ], "location": { "end": { "column": 102, - "line": 99 + "line": 86 }, "start": { "column": 58, - "line": 99 + "line": 86 } } }, { - "id": "811", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "819", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 24\n\n Array [\n Player {\n- \"_id\": \"aded2acee95efec53d6fff6a\",\n+ \"_id\": \"f0ffeb165ec6ab1608134265\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Jett\",\n+ \"position\": 1387037273882624,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"feaec281eaa21d6d79f521e8\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Mohammed\",\n- \"position\": 3702227239698432,\n+ \"name\": \"Favian\",\n+ \"position\": 2918965032517632,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:350:50)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, + "killedBy": [ + "569" + ], "coveredBy": [ - "390", - "391", - "392", - "393", - "521", - "522", - "524" + "420", + "569" ], "location": { "end": { - "column": 6, - "line": 164 + "column": 102, + "line": 86 }, "start": { - "column": 27, - "line": 162 + "column": 58, + "line": 86 } } }, { - "id": "830", - "mutatorName": "AssignmentOperator", - "replacement": "currentIndex -= indexHeading", - "status": "Timeout", + "id": "820", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(89,52): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "390", - "391", - "392", - "393", - "515", - "517", - "521", - "522", - "524" + "570" ], "location": { "end": { - "column": 33, - "line": 171 + "column": 2, + "line": 91 }, "start": { - "column": 5, - "line": 171 + "column": 61, + "line": 89 } } }, { - "id": "831", - "mutatorName": "UpdateOperator", - "replacement": "count--", + "id": "821", + "mutatorName": "MethodExpression", + "replacement": "game.players", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "390", - "391", - "392", - "393", - "515", - "517", - "521", - "522", - "524" + "570" ], "location": { "end": { - "column": 12, - "line": 172 + "column": 104, + "line": 90 }, "start": { - "column": 5, - "line": 172 + "column": 10, + "line": 90 } } - } - ], - "source": "import type { Types } from \"mongoose\";\nimport { createCantFindPlayerUnexpectedException, createNoCurrentGamePlayUnexpectedException } from \"../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../role/enums/role.enum\";\nimport type { CreateGamePlayerDto } from \"../dto/create-game/create-game-player/create-game-player.dto\";\nimport type { CreateGameDto } from \"../dto/create-game/create-game.dto\";\nimport { GAME_PLAY_ACTIONS } from \"../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../enums/player.enum\";\nimport type { GameAdditionalCard } from \"../schemas/game-additional-card/game-additional-card.schema\";\nimport type { Game } from \"../schemas/game.schema\";\nimport type { Player } from \"../schemas/player/player.schema\";\nimport type { GameSource, GetNearestPlayerOptions } from \"../types/game.type\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"./player/player-attribute/player-attribute.helper\";\nimport { createPlayer } from \"./player/player.factory\";\n\nfunction getPlayerDtoWithRole(game: CreateGameDto, role: ROLE_NAMES): CreateGamePlayerDto | undefined {\n return game.players.find(player => player.role.name === role);\n}\n\nfunction getPlayerWithCurrentRole(game: Game, role: ROLE_NAMES): Player | undefined {\n return game.players.find(player => player.role.current === role);\n}\n\nfunction getPlayersWithCurrentRole(game: Game, role: ROLE_NAMES): Player[] {\n return game.players.filter(player => player.role.current === role);\n}\n\nfunction getPlayersWithCurrentSide(game: Game, side: ROLE_SIDES): Player[] {\n return game.players.filter(player => player.side.current === side);\n}\n\nfunction getPlayerWithId(game: Game, id: Types.ObjectId): Player | undefined {\n return game.players.find(({ _id }) => _id.toString() === id.toString());\n}\n\nfunction getPlayerWithIdOrThrow(playerId: Types.ObjectId, game: Game, exception: Error): Player {\n const player = getPlayerWithId(game, playerId);\n if (!player) {\n throw exception;\n }\n return player;\n}\n\nfunction getPlayerWithName(game: Game, playerName: string): Player | undefined {\n return game.players.find(({ name }) => name.toString() === playerName.toString());\n}\n\nfunction getPlayerWithNameOrThrow(playerName: string, game: Game, exception: Error): Player {\n const player = getPlayerWithName(game, playerName);\n if (!player) {\n throw exception;\n }\n return player;\n}\n\nfunction getAdditionalCardWithId(cards: GameAdditionalCard[] | undefined, id: Types.ObjectId): GameAdditionalCard | undefined {\n return cards?.find(({ _id }) => _id.toString() === id.toString());\n}\n\nfunction areAllWerewolvesAlive(game: Game): boolean {\n const werewolfPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n return werewolfPlayers.length > 0 && werewolfPlayers.every(werewolf => werewolf.isAlive);\n}\n\nfunction areAllVillagersAlive(game: Game): boolean {\n const villagerPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n return villagerPlayers.length > 0 && villagerPlayers.every(villager => villager.isAlive);\n}\n\nfunction areAllPlayersDead(game: Game): boolean {\n return game.players.length > 0 && game.players.every(({ isAlive }) => !isAlive);\n}\n\nfunction getPlayerWithActiveAttributeName(game: Game, attributeName: PLAYER_ATTRIBUTE_NAMES): Player | undefined {\n return game.players.find(player => doesPlayerHaveActiveAttributeWithName(player, attributeName, game));\n}\n\nfunction getPlayersWithActiveAttributeName(game: Game, attribute: PLAYER_ATTRIBUTE_NAMES): Player[] {\n return game.players.filter(player => doesPlayerHaveActiveAttributeWithName(player, attribute, game));\n}\n\nfunction getAlivePlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive);\n}\n\nfunction getAliveVillagerSidedPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.VILLAGERS);\n}\n\nfunction getAliveWerewolfSidedPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.WEREWOLVES);\n}\n\nfunction getLeftToCharmByPiedPiperPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game) &&\n player.role.current !== ROLE_NAMES.PIED_PIPER);\n}\n\nfunction getLeftToEatByWerewolvesPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.VILLAGERS &&\n !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.EATEN, game));\n}\n\nfunction getLeftToEatByWhiteWerewolfPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.WEREWOLVES && player.role.current !== ROLE_NAMES.WHITE_WEREWOLF);\n}\n\nfunction getGroupOfPlayers(game: Game, group: PLAYER_GROUPS): Player[] {\n if (group === PLAYER_GROUPS.ALL) {\n return game.players;\n }\n if (group === PLAYER_GROUPS.LOVERS) {\n return getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n }\n if (group === PLAYER_GROUPS.CHARMED) {\n return getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.CHARMED);\n }\n if (group === PLAYER_GROUPS.VILLAGERS) {\n return getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n }\n return getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n}\n\nfunction isGameSourceRole(source: GameSource): source is ROLE_NAMES {\n return Object.values(ROLE_NAMES).includes(source as ROLE_NAMES);\n}\n\nfunction isGameSourceGroup(source: GameSource): source is PLAYER_GROUPS {\n return Object.values(PLAYER_GROUPS).includes(source as PLAYER_GROUPS);\n}\n\nfunction getNonexistentPlayerId(game: Game, candidateIds?: Types.ObjectId[]): Types.ObjectId | undefined {\n return candidateIds?.find(candidateId => !getPlayerWithId(game, candidateId));\n}\n\nfunction getNonexistentPlayer(game: Game, candidatePlayers?: Player[]): Player | undefined {\n return candidatePlayers?.find(candidatePlayer => !getPlayerWithId(game, candidatePlayer._id));\n}\n\nfunction getFoxSniffedPlayers(sniffedTargetId: Types.ObjectId, game: Game): Player[] {\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"getFoxSniffedTargets\", { gameId: game._id, playerId: sniffedTargetId });\n const sniffedTarget = getPlayerWithIdOrThrow(sniffedTargetId, game, cantFindPlayerException);\n const leftAliveNeighbor = getNearestAliveNeighbor(sniffedTarget._id, game, { direction: \"left\" });\n const rightAliveNeighbor = getNearestAliveNeighbor(sniffedTarget._id, game, { direction: \"right\" });\n const sniffedTargets = [leftAliveNeighbor, sniffedTarget, rightAliveNeighbor].filter((player): player is Player => !!player);\n return sniffedTargets.reduce((acc, target) => {\n if (!acc.some(uniqueTarget => uniqueTarget._id.toString() === target._id.toString())) {\n return [...acc, target];\n }\n return acc;\n }, []);\n}\n\nfunction getNearestAliveNeighbor(playerId: Types.ObjectId, game: Game, options: GetNearestPlayerOptions): Player | undefined {\n const alivePlayers = getAlivePlayers(game);\n alivePlayers.sort((a, b) => a.position - b.position);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"getNearestAliveNeighbor\", { gameId: game._id, playerId });\n const player = getPlayerWithIdOrThrow(playerId, game, cantFindPlayerException);\n const indexHeading = options.direction === \"left\" ? -1 : 1;\n let currentIndex = player.position + indexHeading;\n let count = 0;\n while (count < alivePlayers.length) {\n if (currentIndex < 0) {\n currentIndex = alivePlayers.length - 1;\n } else if (currentIndex >= alivePlayers.length) {\n currentIndex = 0;\n }\n const checkingNeighbor = alivePlayers[currentIndex];\n if (checkingNeighbor.position !== player.position && (options.playerSide === undefined || checkingNeighbor.side.current === options.playerSide)) {\n return checkingNeighbor;\n }\n currentIndex += indexHeading;\n count++;\n }\n}\n\nfunction getExpectedPlayersToPlay(game: Game): Player[] {\n const { currentPlay } = game;\n const mustIncludeDeadPlayersGamePlayActions = [GAME_PLAY_ACTIONS.SHOOT, GAME_PLAY_ACTIONS.BAN_VOTING, GAME_PLAY_ACTIONS.DELEGATE];\n let expectedPlayersToPlay: Player[] = [];\n if (currentPlay === null) {\n throw createNoCurrentGamePlayUnexpectedException(\"getExpectedPlayersToPlay\", { gameId: game._id });\n }\n if (isGameSourceGroup(currentPlay.source.name)) {\n expectedPlayersToPlay = getGroupOfPlayers(game, currentPlay.source.name);\n } else if (isGameSourceRole(currentPlay.source.name)) {\n expectedPlayersToPlay = getPlayersWithCurrentRole(game, currentPlay.source.name);\n } else {\n expectedPlayersToPlay = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n }\n if (!mustIncludeDeadPlayersGamePlayActions.includes(currentPlay.action)) {\n expectedPlayersToPlay = expectedPlayersToPlay.filter(player => player.isAlive);\n }\n return expectedPlayersToPlay.map(player => createPlayer(player));\n}\n\nexport {\n getPlayerDtoWithRole,\n getPlayerWithCurrentRole,\n getPlayersWithCurrentRole,\n getPlayersWithCurrentSide,\n getPlayerWithId,\n getPlayerWithIdOrThrow,\n getPlayerWithName,\n getPlayerWithNameOrThrow,\n getAdditionalCardWithId,\n areAllWerewolvesAlive,\n areAllVillagersAlive,\n areAllPlayersDead,\n getPlayerWithActiveAttributeName,\n getPlayersWithActiveAttributeName,\n getAlivePlayers,\n getAliveVillagerSidedPlayers,\n getAliveWerewolfSidedPlayers,\n getLeftToCharmByPiedPiperPlayers,\n getLeftToEatByWerewolvesPlayers,\n getLeftToEatByWhiteWerewolfPlayers,\n getGroupOfPlayers,\n isGameSourceRole,\n isGameSourceGroup,\n getNonexistentPlayerId,\n getNonexistentPlayer,\n getFoxSniffedPlayers,\n getNearestAliveNeighbor,\n getExpectedPlayersToPlay,\n};" - }, - "src/modules/game/helpers/game.mutator.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "855", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(12,105): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "822", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "570" ], "location": { "end": { - "column": 2, - "line": 20 + "column": 103, + "line": 90 }, "start": { - "column": 110, - "line": 12 + "column": 30, + "line": 90 } } }, { - "id": "856", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "823", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "570" ], "location": { "end": { - "column": 105, - "line": 14 + "column": 103, + "line": 90 }, "start": { - "column": 50, - "line": 14 + "column": 40, + "line": 90 } } }, { - "id": "857", + "id": "824", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 17\n\n@@ -86,24 +86,32 @@\n },\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n- \"_id\": \"bbe26c2f2ee5def5cb1dc639\",\n- \"attributes\": Array [],\n+ \"_id\": \"ace8207f1ecdf9cff772b269\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"sheriff\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"sheriff\",\n+ },\n+ ],\n \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Nico\",\n- \"position\": 4657011367084032,\n+ \"isAlive\": false,\n+ \"name\": \"Marques\",\n+ \"position\": 5440738024226816,\n \"role\": PlayerRole {\n- \"current\": \"bear-tamer\",\n+ \"current\": \"ancient\",\n \"isRevealed\": false,\n- \"original\": \"stuttering-judge\",\n+ \"original\": \"scapegoat\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"werewolves\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ace8207f1ecdf9cff772b269\",\n \"attributes\": Array [\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:330:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 33, + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "158" - ], + "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "570" ], "location": { "end": { - "column": 105, - "line": 14 + "column": 103, + "line": 90 }, "start": { - "column": 60, - "line": 14 + "column": 40, + "line": 90 } } }, { - "id": "858", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Brannon\",\n \"position\": 1788580450009088,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e6ad7d3eca2484fbda1eaaf7\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 33, + "id": "825", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || player.side.current === ROLE_SIDES.WEREWOLVES", + "status": "Timeout", "static": false, - "killedBy": [ - "190" - ], + "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "570" ], "location": { "end": { - "column": 105, - "line": 14 + "column": 103, + "line": 90 }, "start": { - "column": 60, - "line": 14 + "column": 40, + "line": 90 } } }, { - "id": "859", - "mutatorName": "EqualityOperator", - "replacement": "player._id.toString() !== playerId.toString()", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 16\n\n@@ -104,24 +104,32 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n- \"_id\": \"befbd5fd4eeefbdd15bf1c8b\",\n- \"attributes\": Array [],\n+ \"_id\": \"026efc22d68c7adccbe6bee5\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Micah\",\n- \"position\": 7124391448018944,\n+ \"name\": \"Justice\",\n+ \"position\": 5121376421675008,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"idiot\",\n \"isRevealed\": false,\n- \"original\": \"werewolf\",\n+ \"original\": \"idiot\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"6011bb8be974cbcefffebde9\",\n \"attributes\": Array [],\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:181:97)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 33, + "id": "826", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "341" - ], + "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "570" ], "location": { "end": { - "column": 105, - "line": 14 + "column": 103, + "line": 90 }, "start": { - "column": 60, - "line": 14 + "column": 58, + "line": 90 } } }, { - "id": "860", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "827", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.WEREWOLVES", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "570" ], "location": { "end": { - "column": 23, - "line": 15 + "column": 103, + "line": 90 }, "start": { - "column": 7, - "line": 15 + "column": 58, + "line": 90 } } }, { - "id": "861", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Cary\",\n \"position\": 3532140855689216,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"aa1cabfc6f3ec64180c5fcad\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 33, + "id": "828", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(93,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "190" - ], + "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "530", + "531", + "571", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 23, - "line": 15 + "column": 2, + "line": 96 }, "start": { - "column": 7, - "line": 15 + "column": 65, + "line": 93 } } }, { - "id": "862", - "mutatorName": "EqualityOperator", - "replacement": "playerIdx === -1", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:753:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 33, + "id": "829", + "mutatorName": "MethodExpression", + "replacement": "game.players", + "status": "Timeout", "static": false, - "killedBy": [ - "573" - ], + "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "530", + "531", + "571", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 23, - "line": 15 + "column": 51, + "line": 95 }, "start": { - "column": 7, - "line": 15 + "column": 10, + "line": 94 } } }, { - "id": "863", - "mutatorName": "UnaryOperator", - "replacement": "+1", - "status": "Timeout", + "id": "830", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 36\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"59d752f3aaa4ae1bd10005ec\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Esperanza\",\n- \"position\": 5013235967197184,\n- \"role\": PlayerRole {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"d1bfe534359b63a78cef761e\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Toney\",\n- \"position\": 6359513026265088,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 18, "static": false, - "killedBy": [], + "killedBy": [ + "571" + ], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "378", - "393", - "573", - "814", - "815", - "816", - "818", - "819", - "824", - "825" + "530", + "531", + "571", + "656", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 23, - "line": 15 + "column": 50, + "line": 95 }, "start": { - "column": 21, - "line": 15 + "column": 30, + "line": 94 } } }, { - "id": "864", - "mutatorName": "BlockStatement", - "replacement": "{}", + "id": "831", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "348", - "378", - "393", - "573", - "815", - "816", - "818", - "819", - "824", - "825" + "530", + "531", + "571", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 18 + "column": 50, + "line": 95 }, "start": { - "column": 25, - "line": 15 + "column": 40, + "line": 94 } } }, { - "id": "865", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(22,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "832", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 36\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"33701bc2ce3a0b3ee54cf1ce\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Jackson\",\n- \"position\": 5814623051710464,\n- \"role\": PlayerRole {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"ed0cb3a33e5ef3bc32a5cea6\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Carmella\",\n- \"position\": 3528346545684480,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], + "killedBy": [ + "571" + ], "coveredBy": [ - "158", - "178", - "183", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "341", - "393", - "573", - "817", - "818", - "819" + "530", + "531", + "571", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 30 + "column": 50, + "line": 95 }, "start": { - "column": 107, - "line": 22 + "column": 40, + "line": 94 } } }, { - "id": "866", - "mutatorName": "BooleanLiteral", - "replacement": "player", - "statusReason": "src/modules/game/helpers/game.mutator.ts(28,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(29,39): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Partial'.\n", - "status": "CompileError", + "id": "833", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game) || player.role.current !== ROLE_NAMES.PIED_PIPER", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts:297:38)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], + "killedBy": [ + "662" + ], "coveredBy": [ - "158", - "178", - "183", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "341", - "393", - "573", - "817", - "818", - "819" + "530", + "531", + "571", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 14, - "line": 25 + "column": 50, + "line": 95 }, "start": { - "column": 7, - "line": 25 + "column": 40, + "line": 94 } } }, { - "id": "867", + "id": "834", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game.mutator.ts(28,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(29,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 50\n\n@@ -1,13 +1,63 @@\n Array [\n Player {\n+ \"_id\": \"f66effd2ead44e68e95cea5d\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"charmed\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"pied-piper\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Rosario\",\n+ \"position\": 1572277722284032,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"c43e2d5babedbbdeb21e3b17\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Sonia\",\n \"position\": 311316568866816,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"2fa42088cdb511a4927b907a\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"charmed\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"pied-piper\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Frances\",\n+ \"position\": 1732548015161344,\n \"role\": PlayerRole {\n \"current\": \"villager\",\n \"isRevealed\": false,\n \"original\": \"villager\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], + "killedBy": [ + "571" + ], "coveredBy": [ - "158", - "178", - "183", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "341", - "393", - "573", - "817", - "818", - "819" + "530", + "531", + "571", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 14, - "line": 25 + "column": 142, + "line": 94 }, "start": { - "column": 7, - "line": 25 + "column": 40, + "line": 94 } } }, { - "id": "868", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/game.mutator.ts(28,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(29,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "id": "835", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 25\n\n@@ -1,7 +1,32 @@\n Array [\n Player {\n+ \"_id\": \"ef07e9cabf8cac9fcffc0fbf\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"charmed\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"pied-piper\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Adela\",\n+ \"position\": 5998890167828480,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"6a3a0288fa4fed07c567b1d0\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Kyra\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], - "coveredBy": [ - "158", - "178", - "183", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "341", - "393", - "573", - "817", - "818", - "819" + "killedBy": [ + "571" ], - "location": { - "end": { - "column": 14, - "line": 25 - }, - "start": { - "column": 7, - "line": 25 - } - } - }, - { - "id": "869", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(26,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(27,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "817" - ], - "location": { - "end": { - "column": 4, - "line": 27 - }, - "start": { - "column": 16, - "line": 25 - } - } - }, - { - "id": "870", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(32,106): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "192", - "213", - "214", - "216", - "402", - "820", - "821", - "822" + "530", + "531", + "571", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 2, - "line": 41 + "column": 142, + "line": 94 }, "start": { - "column": 111, - "line": 32 + "column": 40, + "line": 94 } } }, { - "id": "871", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(34,3): error TS2322: Type 'void[]' is not assignable to type 'Player[]'.\n Type 'void' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "836", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "192", - "213", - "214", - "216", - "402", - "820", - "821", - "822" + "530", + "531", + "571", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 4, - "line": 39 + "column": 142, + "line": 94 }, "start": { - "column": 57, - "line": 34 + "column": 58, + "line": 94 } } }, { - "id": "872", + "id": "837", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 24\n\n@@ -87,11 +87,22 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"c8a5143fda3d8677aefbb894\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": PlayerAttributeActivation {\n+ \"phase\": \"day\",\n+ \"turn\": 1496963201630209,\n+ },\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"scapegoat\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Adelia\",\n \"position\": 5670815318147072,\n \"role\": PlayerRole {\n@@ -160,11 +171,22 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"cb90ca75aaeaaeb5ed4149ba\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": PlayerAttributeActivation {\n+ \"phase\": \"day\",\n+ \"turn\": 1496963201630209,\n+ },\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"scapegoat\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Carmel\",\n \"position\": 8249618146000896,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:951:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -1,7 +1,24 @@\n Array [\n Player {\n+ \"_id\": \"b0fea8d9fcc3b95ceaabf9e9\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Adela\",\n+ \"position\": 1051408981819392,\n+ \"role\": PlayerRole {\n+ \"current\": \"pied-piper\",\n+ \"isRevealed\": false,\n+ \"original\": \"pied-piper\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"ef920b7fcf6a2aaf1d9eccf4\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Mervin\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:379:54)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 16, "static": false, "killedBy": [ - "192" + "571" ], "coveredBy": [ - "192", - "213", - "214", - "216", - "402", - "820", - "821", - "822" + "530", + "531", + "571", + "657", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 39, - "line": 35 + "column": 50, + "line": 95 }, "start": { - "column": 9, - "line": 35 + "column": 5, + "line": 95 } } }, { - "id": "873", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "838", + "mutatorName": "EqualityOperator", + "replacement": "player.role.current === ROLE_NAMES.PIED_PIPER", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "192", - "213", - "214", - "216", - "402", - "820", - "821", - "822" + "530", + "531", + "571", + "657", + "659", + "660", + "661", + "662", + "663", + "681", + "682", + "686", + "687", + "688", + "689", + "690" ], "location": { "end": { - "column": 39, - "line": 35 + "column": 50, + "line": 95 }, "start": { - "column": 9, - "line": 35 + "column": 5, + "line": 95 } } }, { - "id": "874", + "id": "839", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 2\n\n@@ -104,22 +104,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"fffd41dddecae9e783d1cade\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": PlayerAttributeActivation {\n- \"phase\": \"day\",\n- \"turn\": 1805866921623553,\n- },\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 2,\n- \"source\": \"scapegoat\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Bernie\",\n \"position\": 7845954440921088,\n \"role\": PlayerRole {\n@@ -132,22 +121,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"35bba6e65b4ec9b7ac7464d5\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": PlayerAttributeActivation {\n- \"phase\": \"day\",\n- \"turn\": 1805866921623553,\n- },\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 2,\n- \"source\": \"scapegoat\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Otha\",\n \"position\": 1251552253706240,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:951:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "statusReason": "src/modules/game/helpers/game.helper.ts(98,55): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "192" - ], + "killedBy": [], "coveredBy": [ - "192", - "214", - "216", - "402", - "821", - "822" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 6, - "line": 37 + "column": 2, + "line": 101 }, "start": { - "column": 41, - "line": 35 + "column": 64, + "line": 98 } } }, { - "id": "875", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(43,122): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "840", + "mutatorName": "MethodExpression", + "replacement": "game.players", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "823", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 2, - "line": 51 + "column": 88, + "line": 100 }, "start": { - "column": 127, - "line": 43 + "column": 10, + "line": 99 } } }, { - "id": "876", - "mutatorName": "BooleanLiteral", - "replacement": "player", - "statusReason": "src/modules/game/helpers/game.mutator.ts(49,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(49,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(50,39): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Partial'.\n", - "status": "CompileError", + "id": "841", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "823", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 14, - "line": 46 + "column": 87, + "line": 100 }, "start": { - "column": 7, - "line": 46 + "column": 30, + "line": 99 } } }, { - "id": "877", + "id": "842", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/helpers/game.mutator.ts(49,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(49,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(50,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "823", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 14, - "line": 46 + "column": 87, + "line": 100 }, "start": { - "column": 7, - "line": 46 + "column": 40, + "line": 99 } } }, { - "id": "878", + "id": "843", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/game.mutator.ts(49,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(49,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(50,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "823", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 14, - "line": 46 + "column": 87, + "line": 100 }, "start": { - "column": 7, - "line": 46 + "column": 40, + "line": 99 } } }, { - "id": "879", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(47,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(47,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(48,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "id": "844", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive && player.side.current === ROLE_SIDES.VILLAGERS || !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.EATEN, game)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "823" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 4, - "line": 48 + "column": 87, + "line": 100 }, "start": { - "column": 16, - "line": 46 + "column": 40, + "line": 99 } } }, { - "id": "880", - "mutatorName": "MethodExpression", - "replacement": "player.attributes", - "status": "Timeout", + "id": "845", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 51\n\n@@ -1,7 +1,24 @@\n Array [\n Player {\n+ \"_id\": \"8eb3b2a5ee444ef861feef5a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Tevin\",\n+ \"position\": 6798360967118848,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"eb82982eb4ccfe8ccd1ecdd1\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Toby\",\n@@ -12,8 +29,42 @@\n \"original\": \"pied-piper\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"e17a87e94dfffe3fbbe07ae1\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Jermey\",\n+ \"position\": 5277842071879680,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"7d5bc7adbcf5cb0ebc784199\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Giles\",\n+ \"position\": 8145431972282368,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:394:53)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "572" + ], "coveredBy": [ - "158", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 85, - "line": 49 + "column": 102, + "line": 99 }, "start": { - "column": 23, - "line": 49 + "column": 40, + "line": 99 } } }, { - "id": "881", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -97,19 +97,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"9caa0396feb744270fbe59fe\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Electa\",\n \"position\": 4172886839394304,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:165:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "846", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || player.side.current === ROLE_SIDES.VILLAGERS", + "status": "Timeout", "static": false, - "killedBy": [ - "824" - ], + "killedBy": [], "coveredBy": [ - "158", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 84, - "line": 49 + "column": 102, + "line": 99 }, "start": { - "column": 48, - "line": 49 + "column": 40, + "line": 99 } } }, { - "id": "882", + "id": "847", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -100,10 +100,17 @@\n Player {\n \"_id\": \"eb65f5d4c76d791ab55dfbc0\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"sheriff\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"charmed\",\n \"remainingPhases\": undefined,\n \"source\": \"pied-piper\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:165:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "status": "Timeout", "static": false, - "killedBy": [ - "824" - ], + "killedBy": [], "coveredBy": [ - "158", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 84, - "line": 49 + "column": 102, + "line": 99 }, "start": { - "column": 62, - "line": 49 + "column": 58, + "line": 99 } } }, { - "id": "883", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e04e50fb0a4fbb1fecba4a0c\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n \"name\": \"Herman\",\n \"position\": 2126688186007552,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:165:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "848", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:631:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "824" + "48" ], "coveredBy": [ - "158", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "572" ], "location": { "end": { - "column": 84, - "line": 49 + "column": 102, + "line": 99 }, "start": { - "column": 62, - "line": 49 + "column": 58, + "line": 99 } } }, { - "id": "884", - "mutatorName": "EqualityOperator", - "replacement": "name === attributeName", + "id": "849", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.EATEN, game)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "824", - "825" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49", + "572" ], "location": { "end": { - "column": 84, - "line": 49 + "column": 87, + "line": 100 }, "start": { - "column": 62, - "line": 49 + "column": 5, + "line": 100 } } }, { - "id": "885", + "id": "850", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(53,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(103,58): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "177", - "385", - "386", - "397", - "407", - "572", - "826", - "827" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { "column": 2, - "line": 57 + "line": 105 }, "start": { - "column": 74, - "line": 53 + "column": 67, + "line": 103 } } }, { - "id": "886", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/game.mutator.ts(59,68): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "851", + "mutatorName": "MethodExpression", + "replacement": "game.players", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "175", - "828", - "829" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 2, - "line": 63 + "column": 157, + "line": 104 }, "start": { - "column": 73, - "line": 59 + "column": 10, + "line": 104 } } - } - ], - "source": "import type { Types } from \"mongoose\";\nimport type { PLAYER_ATTRIBUTE_NAMES } from \"../enums/player.enum\";\nimport type { GamePlay } from \"../schemas/game-play/game-play.schema\";\nimport type { Game } from \"../schemas/game.schema\";\nimport type { PlayerAttribute } from \"../schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../schemas/player/player.schema\";\nimport { createGame } from \"./game.factory\";\nimport { getPlayerWithId } from \"./game.helper\";\nimport { createPlayerAttribute } from \"./player/player-attribute/player-attribute.factory\";\nimport { createPlayer } from \"./player/player.factory\";\n\nfunction updatePlayerInGame(playerId: Types.ObjectId, playerDataToUpdate: Partial, game: Game): Game {\n const clonedGame = createGame(game);\n const playerIdx = clonedGame.players.findIndex(player => player._id.toString() === playerId.toString());\n if (playerIdx !== -1) {\n const clonedPlayer = createPlayer(clonedGame.players[playerIdx]);\n clonedGame.players.splice(playerIdx, 1, createPlayer(Object.assign(clonedPlayer, playerDataToUpdate)));\n }\n return clonedGame;\n}\n\nfunction addPlayerAttributeInGame(playerId: Types.ObjectId, game: Game, attribute: PlayerAttribute): Game {\n const clonedGame = createGame(game);\n const player = getPlayerWithId(clonedGame, playerId);\n if (!player) {\n return clonedGame;\n }\n player.attributes.push(createPlayerAttribute(attribute));\n return updatePlayerInGame(playerId, player, clonedGame);\n}\n\nfunction addPlayersAttributeInGame(playerIds: Types.ObjectId[], game: Game, attribute: PlayerAttribute): Game {\n const clonedGame = createGame(game);\n clonedGame.players = clonedGame.players.map(player => {\n if (playerIds.includes(player._id)) {\n player.attributes.push(createPlayerAttribute(attribute));\n }\n return player;\n });\n return clonedGame;\n}\n\nfunction removePlayerAttributeByNameInGame(playerId: Types.ObjectId, game: Game, attributeName: PLAYER_ATTRIBUTE_NAMES): Game {\n const clonedGame = createGame(game);\n const player = getPlayerWithId(clonedGame, playerId);\n if (!player) {\n return clonedGame;\n }\n player.attributes = player.attributes.filter(({ name }) => name !== attributeName);\n return updatePlayerInGame(playerId, player, clonedGame);\n}\n\nfunction prependUpcomingPlayInGame(gamePlay: GamePlay, game: Game): Game {\n const clonedGame = createGame(game);\n clonedGame.upcomingPlays.unshift(gamePlay);\n return clonedGame;\n}\n\nfunction appendUpcomingPlayInGame(gamePlay: GamePlay, game: Game): Game {\n const clonedGame = createGame(game);\n clonedGame.upcomingPlays.push(gamePlay);\n return clonedGame;\n}\n\nexport {\n updatePlayerInGame,\n addPlayerAttributeInGame,\n addPlayersAttributeInGame,\n removePlayerAttributeByNameInGame,\n prependUpcomingPlayInGame,\n appendUpcomingPlayInGame,\n};" - }, - "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "887", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(10,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "852", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "393", - "773" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 2, - "line": 17 + "column": 156, + "line": 104 }, "start": { - "column": 127, - "line": 10 + "column": 30, + "line": 104 } } }, { - "id": "888", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(11,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "853", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "393", - "773" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 4, - "line": 16 + "column": 156, + "line": 104 }, "start": { - "column": 32, - "line": 11 + "column": 40, + "line": 104 } } }, { - "id": "889", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(19,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "854", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:671:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "47" + ], "coveredBy": [ - "774" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 2, - "line": 26 + "column": 156, + "line": 104 }, "start": { - "column": 115, - "line": 19 + "column": 40, + "line": 104 } } }, { - "id": "890", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(20,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "855", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive && player.side.current === ROLE_SIDES.WEREWOLVES || player.role.current !== ROLE_NAMES.WHITE_WEREWOLF", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "774" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 4, - "line": 25 + "column": 156, + "line": 104 }, "start": { - "column": 32, - "line": 20 + "column": 40, + "line": 104 } } }, { - "id": "891", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(28,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "856", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "213", - "214", - "775" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 2, - "line": 34 + "column": 103, + "line": 104 }, "start": { - "column": 115, - "line": 28 + "column": 40, + "line": 104 } } }, { - "id": "892", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(29,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "857", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || player.side.current === ROLE_SIDES.WEREWOLVES", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "44" + ], "coveredBy": [ - "213", - "214", - "775" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 4, - "line": 33 + "column": 103, + "line": 104 }, "start": { - "column": 32, - "line": 29 + "column": 40, + "line": 104 } } }, { - "id": "893", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(36,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "858", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "341", - "776" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 2, - "line": 42 + "column": 103, + "line": 104 }, "start": { - "column": 110, - "line": 36 + "column": 58, + "line": 104 } } }, { - "id": "894", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(37,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "859", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.WEREWOLVES", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "341", - "776" + "44", + "45", + "46", + "47", + "48", + "49", + "573" ], "location": { "end": { - "column": 4, - "line": 41 + "column": 103, + "line": 104 }, "start": { - "column": 32, - "line": 37 + "column": 58, + "line": 104 } } }, { - "id": "902", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(57,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "860", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -1,7 +1,24 @@\n Array [\n Player {\n+ \"_id\": \"2e8ddf76fb2a49a547a002f3\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Noel\",\n+ \"position\": 603959148412928,\n+ \"role\": PlayerRole {\n+ \"current\": \"white-werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"white-werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"783991d9cffedbaebbc71988\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Aiden\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:409:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "573" + ], "coveredBy": [ - "202", - "779" + "44", + "45", + "46", + "47", + "573" ], "location": { "end": { - "column": 2, - "line": 64 + "column": 156, + "line": 104 }, "start": { - "column": 111, - "line": 57 + "column": 107, + "line": 104 } } }, { - "id": "903", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(58,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "861", + "mutatorName": "EqualityOperator", + "replacement": "player.role.current === ROLE_NAMES.WHITE_WEREWOLF", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "202", - "779" + "44", + "45", + "46", + "47", + "573" ], "location": { "end": { - "column": 4, - "line": 63 + "column": 156, + "line": 104 }, "start": { - "column": 32, - "line": 58 + "column": 107, + "line": 104 } } }, { - "id": "904", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -90,11 +90,11 @@\n Player {\n \"_id\": \"178db4d73925f627cb9a63af\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"fox\",\n },\n ],\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "862", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(107,63): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "202" - ], + "killedBy": [], "coveredBy": [ - "202", - "779" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "517", + "518", + "530", + "531", + "574", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 31, - "line": 61 + "column": 2, + "line": 121 }, "start": { - "column": 27, - "line": 61 + "column": 72, + "line": 107 } } }, { - "id": "905", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(66,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "863", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "351", - "377", - "402", - "780" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "517", + "518", + "530", + "531", + "574", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 2, - "line": 73 + "column": 34, + "line": 108 }, "start": { - "column": 115, - "line": 66 + "column": 7, + "line": 108 } } }, { - "id": "906", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(67,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "864", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "351", - "377", - "402", - "780" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "517", + "518", + "530", + "531", + "574", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 72 + "column": 34, + "line": 108 }, "start": { - "column": 32, - "line": 67 + "column": 7, + "line": 108 } } }, { - "id": "907", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts:94:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "865", + "mutatorName": "EqualityOperator", + "replacement": "group !== PLAYER_GROUPS.ALL", + "statusReason": "src/modules/game/helpers/game.helper.ts(111,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.ALL' and 'PLAYER_GROUPS.LOVERS' have no overlap.\nsrc/modules/game/helpers/game.helper.ts(114,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.ALL' and 'PLAYER_GROUPS.CHARMED' have no overlap.\nsrc/modules/game/helpers/game.helper.ts(117,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.ALL' and 'PLAYER_GROUPS.VILLAGERS' have no overlap.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "780" - ], + "killedBy": [], "coveredBy": [ - "351", - "377", - "402", - "780" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "517", + "518", + "530", + "531", + "574", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 31, - "line": 70 + "column": 34, + "line": 108 }, "start": { - "column": 27, - "line": 70 + "column": 7, + "line": 108 } } }, { - "id": "908", + "id": "866", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(75,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "197", - "374", - "375", - "376", - "377", - "378", - "781" + "517", + "518", + "530", + "574" ], "location": { "end": { - "column": 2, - "line": 81 + "column": 4, + "line": 110 }, "start": { - "column": 117, - "line": 75 + "column": 36, + "line": 108 } } }, { - "id": "909", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(76,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "867", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "197", - "374", - "375", - "376", - "377", - "378", - "781" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 80 + "column": 37, + "line": 111 }, "start": { - "column": 32, - "line": 76 + "column": 7, + "line": 111 } } }, { - "id": "910", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(83,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "868", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 26\n\n@@ -1,29 +1,46 @@\n Array [\n Player {\n- \"_id\": \"de88a0df8a1efecd3ea8a539\",\n+ \"_id\": \"3d17f08fd6dc7b0d6a107ae2\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Augustine\",\n+ \"position\": 1830303565873152,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"b4afb30e4a14d3e264aeeb6e\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n+ \"name\": \"charmed\",\n \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n+ \"source\": \"pied-piper\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Zita\",\n- \"position\": 7929441567113216,\n+ \"name\": \"Angelita\",\n+ \"position\": 5100335584509952,\n \"role\": PlayerRole {\n- \"current\": \"seer\",\n+ \"current\": \"white-werewolf\",\n \"isRevealed\": false,\n- \"original\": \"seer\",\n+ \"original\": \"white-werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"f5d525d5f3b9f8350acbf54b\",\n \"attributes\": Array [\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:429:61)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 14, "static": false, - "killedBy": [], + "killedBy": [ + "575" + ], "coveredBy": [ - "216", - "782" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 2, - "line": 89 + "column": 37, + "line": 111 }, "start": { - "column": 110, - "line": 83 + "column": 7, + "line": 111 } } }, { - "id": "911", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(84,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "id": "869", + "mutatorName": "EqualityOperator", + "replacement": "group !== PLAYER_GROUPS.LOVERS", + "statusReason": "src/modules/game/helpers/game.helper.ts(114,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.LOVERS' and 'PLAYER_GROUPS.CHARMED' have no overlap.\nsrc/modules/game/helpers/game.helper.ts(117,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.LOVERS' and 'PLAYER_GROUPS.VILLAGERS' have no overlap.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "216", - "782" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "575", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 88 + "column": 37, + "line": 111 }, "start": { - "column": 32, - "line": 84 + "column": 7, + "line": 111 } } }, { - "id": "912", + "id": "870", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(91,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "204", - "783" + "575" ], "location": { "end": { - "column": 2, - "line": 98 + "column": 4, + "line": 113 }, "start": { - "column": 113, - "line": 91 + "column": 39, + "line": 111 } } }, { - "id": "913", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(92,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "871", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "204", - "783" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 97 + "column": 38, + "line": 114 }, "start": { - "column": 32, - "line": 92 + "column": 7, + "line": 114 } } }, { - "id": "914", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(100,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "872", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 14\n+ Received + 31\n\n@@ -1,8 +1,25 @@\n Array [\n Player {\n- \"_id\": \"d3c2d1a8d5b76385f0dcd1bf\",\n+ \"_id\": \"feca7adce3df572f8982b58a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Luther\",\n+ \"position\": 4081875085688832,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"349cfecfee36735b4f5cc7fc\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"charmed\",\n@@ -10,41 +27,41 @@\n \"source\": \"pied-piper\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Jerrod\",\n- \"position\": 4263829737308160,\n+ \"name\": \"Annie\",\n+ \"position\": 484853208317952,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"white-werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"white-werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Player {\n- \"_id\": \"349cfecfee36735b4f5cc7fc\",\n+ \"_id\": \"d8ad9dec1bb4de6fc9fee57a\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n+ \"name\": \"in-love\",\n \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n+ \"source\": \"cupid\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Annie\",\n- \"position\": 484853208317952,\n+ \"name\": \"Gustave\",\n+ \"position\": 8657675015421952,\n \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:433:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "576" + ], "coveredBy": [ - "206", - "784" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 2, - "line": 107 + "column": 38, + "line": 114 }, "start": { - "column": 113, - "line": 100 + "column": 7, + "line": 114 } } }, { - "id": "915", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(101,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "id": "873", + "mutatorName": "EqualityOperator", + "replacement": "group !== PLAYER_GROUPS.CHARMED", + "statusReason": "src/modules/game/helpers/game.helper.ts(117,7): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS.CHARMED' and 'PLAYER_GROUPS.VILLAGERS' have no overlap.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "206", - "784" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "576", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 106 + "column": 38, + "line": 114 }, "start": { - "column": 32, - "line": 101 + "column": 7, + "line": 114 } } }, { - "id": "916", + "id": "874", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(109,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "210", - "211", - "785" + "576" ], "location": { "end": { - "column": 2, + "column": 4, "line": 116 }, "start": { - "column": 120, - "line": 109 + "column": 40, + "line": 114 } } }, { - "id": "917", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(110,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "875", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "210", - "211", - "785" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 115 + "column": 40, + "line": 117 }, "start": { - "column": 32, - "line": 110 + "column": 7, + "line": 117 } } }, { - "id": "918", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(118,103): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "876", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "210", - "211", - "786" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "577", + "578", + "600" ], "location": { "end": { - "column": 2, - "line": 125 + "column": 40, + "line": 117 }, "start": { - "column": 119, - "line": 118 + "column": 7, + "line": 117 } } }, { - "id": "919", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(119,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "877", + "mutatorName": "EqualityOperator", + "replacement": "group !== PLAYER_GROUPS.VILLAGERS", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 35\n+ Received + 27\n\n Array [\n Player {\n- \"_id\": \"2dafdfa89fab3aeafc1da38d\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n- },\n- ],\n+ \"_id\": \"df64ad89dec37ad5f11a8fc2\",\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Maximilian\",\n- \"position\": 3499985937104896,\n+ \"name\": \"Quincy\",\n+ \"position\": 8089133847150592,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Player {\n- \"_id\": \"efd9fc3c827ee6164c6b28c6\",\n+ \"_id\": \"e92dd0a7f5d92edee74b46e3\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"in-love\",\n+ \"name\": \"charmed\",\n \"remainingPhases\": undefined,\n- \"source\": \"cupid\",\n+ \"source\": \"pied-piper\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Willie\",\n- \"position\": 5490047134466048,\n+ \"name\": \"Benton\",\n+ \"position\": 2475778375680000,\n \"role\": PlayerRole {\n- \"current\": \"seer\",\n+ \"current\": \"white-werewolf\",\n \"isRevealed\": false,\n- \"original\": \"seer\",\n+ \"original\": \"white-werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n Player {\n- \"_id\": \"6d25aea459f0be16c76baced\",\n+ \"_id\": \"ec83ed2dc01478b77a97d0cb\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n+ \"name\": \"in-love\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"cupid\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Rodger\",\n- \"position\": 8941521787158528,\n+ \"name\": \"Annie\",\n+ \"position\": 2675908527783936,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:437:64)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 12, "static": false, - "killedBy": [], + "killedBy": [ + "577" + ], "coveredBy": [ - "210", - "211", - "786" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531", + "577", + "578", + "600" ], "location": { "end": { - "column": 4, - "line": 124 + "column": 40, + "line": 117 }, "start": { - "column": 32, - "line": 119 + "column": 7, + "line": 117 } } }, { - "id": "920", + "id": "878", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(127,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "222", - "787" + "577" ], "location": { "end": { - "column": 2, - "line": 134 + "column": 4, + "line": 119 }, "start": { - "column": 114, - "line": 127 + "column": 42, + "line": 117 } } }, { - "id": "921", - "mutatorName": "ObjectLiteral", + "id": "879", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(128,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(123,48): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "222", - "787" + "144", + "145", + "146", + "147", + "148", + "259", + "260", + "261", + "517", + "518", + "519", + "530", + "531", + "579", + "580", + "601", + "602", + "603", + "604", + "605" ], "location": { "end": { - "column": 4, - "line": 133 + "column": 2, + "line": 125 }, "start": { - "column": 32, - "line": 128 + "column": 69, + "line": 123 } } }, { - "id": "922", + "id": "880", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(136,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(127,49): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "220", - "788" + "144", + "145", + "146", + "147", + "148", + "259", + "261", + "517", + "518", + "519", + "530", + "531", + "581", + "582", + "600", + "601", + "602", + "603", + "604", + "605" ], "location": { "end": { "column": 2, - "line": 143 + "line": 129 }, "start": { - "column": 117, - "line": 136 + "column": 73, + "line": 127 } } }, { - "id": "923", - "mutatorName": "ObjectLiteral", + "id": "881", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(137,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(131,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "220", - "788" + "583", + "584" ], "location": { "end": { - "column": 4, - "line": 142 + "column": 2, + "line": 133 }, "start": { - "column": 32, - "line": 137 + "column": 106, + "line": 131 } } }, { - "id": "924", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(145,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "882", + "mutatorName": "OptionalChaining", + "replacement": "candidateIds.find", + "statusReason": "src/modules/game/helpers/game.helper.ts(132,10): error TS18048: 'candidateIds' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "224", - "225", - "226", - "227", - "789" + "583", + "584" ], "location": { "end": { - "column": 2, - "line": 152 + "column": 28, + "line": 132 }, "start": { - "column": 114, - "line": 145 + "column": 10, + "line": 132 } } }, { - "id": "925", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(146,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", - "static": false, + "id": "883", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": false, "killedBy": [], "coveredBy": [ - "224", - "225", - "226", - "227", - "789" + "583", + "584" ], "location": { "end": { - "column": 4, - "line": 151 + "column": 79, + "line": 132 }, "start": { - "column": 32, - "line": 146 + "column": 29, + "line": 132 } } }, { - "id": "926", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(154,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "884", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerWithId(game, candidateId)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "218", - "573", - "790" + "583", + "584" ], "location": { "end": { - "column": 2, - "line": 161 + "column": 79, + "line": 132 }, "start": { - "column": 107, - "line": 154 + "column": 44, + "line": 132 } } }, { - "id": "927", - "mutatorName": "ObjectLiteral", + "id": "885", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(155,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(135,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "218", - "573", - "790" + "472", + "473", + "474", + "475", + "476", + "477", + "479", + "480", + "481", + "530", + "531", + "585", + "586" ], "location": { "end": { - "column": 4, - "line": 160 + "column": 2, + "line": 137 }, "start": { - "column": 32, - "line": 155 + "column": 92, + "line": 135 } } }, { - "id": "928", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(163,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "886", + "mutatorName": "OptionalChaining", + "replacement": "candidatePlayers.find", + "statusReason": "src/modules/game/helpers/game.helper.ts(136,10): error TS18048: 'candidatePlayers' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "158", - "791" + "472", + "473", + "474", + "475", + "476", + "477", + "479", + "480", + "481", + "530", + "531", + "585", + "586" ], "location": { "end": { - "column": 2, - "line": 170 + "column": 32, + "line": 136 }, "start": { - "column": 113, - "line": 163 + "column": 10, + "line": 136 } } }, { - "id": "929", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(164,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "887", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"3e63b3d7cc0c5cf56f1ebd4b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Benjamin\", \"position\": 1477692515942400, \"role\": {\"current\": \"villager-villager\", \"isRevealed\": true, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:495:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "586" + ], "coveredBy": [ - "158", - "791" + "472", + "473", + "474", + "475", + "476", + "477", + "479", + "480", + "481", + "530", + "531", + "585", + "586" ], "location": { "end": { - "column": 4, - "line": 169 + "column": 95, + "line": 136 }, "start": { - "column": 32, - "line": 164 + "column": 33, + "line": 136 } } }, { - "id": "930", + "id": "888", "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"sheriff\",\n \"remainingPhases\": undefined,\n \"source\": \"sheriff\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts:224:55)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "replacement": "getPlayerWithId(game, candidatePlayer._id)", + "status": "Timeout", "static": false, - "killedBy": [ - "791" - ], + "killedBy": [], "coveredBy": [ - "158", - "791" + "472", + "473", + "474", + "475", + "476", + "477", + "479", + "480", + "530", + "531", + "585", + "586" ], "location": { "end": { - "column": 31, - "line": 167 + "column": 95, + "line": 136 }, "start": { - "column": 27, - "line": 167 + "column": 52, + "line": 136 } } }, { - "id": "931", + "id": "889", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(172,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(138,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "178", - "183", - "792" + "328", + "329", + "330", + "587", + "588", + "589", + "590", + "591" ], "location": { "end": { "column": 2, - "line": 179 + "line": 151 }, "start": { - "column": 109, - "line": 172 + "column": 86, + "line": 139 } } }, { - "id": "932", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(173,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", - "status": "CompileError", + "id": "890", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getFoxSniffedTargets\"\nReceived message: \"Unexpected exception in \"\n\n 61 | playerId\n 62 | } = interpolations;\n > 63 | return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, stryMutAct_9fa48(\"2685\") ? {} : (stryCov_9fa48(\"2685\"), {\n | ^\n 64 | gameId: gameId.toString(),\n 65 | playerId: playerId.toString()\n 66 | }));\n\n at createCantFindPlayerUnexpectedException (src/shared/exception/helpers/unexpected-exception.factory.ts:63:12)\n at getFoxSniffedPlayers (src/modules/game/helpers/game.helper.ts:331:76)\n at tests/unit/specs/modules/game/helpers/game.helper.spec.ts:547:40\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/helpers/game.helper.spec.ts:547:65)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:547:65)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "591" + ], "coveredBy": [ - "178", - "183", - "792" + "328", + "329", + "330", + "587", + "588", + "589", + "590", + "591" ], "location": { "end": { - "column": 4, - "line": 178 + "column": 97, + "line": 140 }, "start": { - "column": 32, - "line": 173 + "column": 75, + "line": 140 } } }, { - "id": "933", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -90,11 +90,11 @@\n Player {\n \"_id\": \"e50fa42ad6d4e4a1d4bcee2e\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"sheriff\",\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n ],\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:683:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "891", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(139,99): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", + "status": "CompileError", "static": false, - "killedBy": [ - "178" - ], + "killedBy": [], "coveredBy": [ - "178", - "183", - "792" + "328", + "329", + "330", + "587", + "588", + "589", + "590", + "591" ], "location": { "end": { - "column": 31, - "line": 176 + "column": 146, + "line": 140 }, "start": { - "column": 27, - "line": 176 + "column": 99, + "line": 140 } } }, { - "id": "897", + "id": "892", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(49,5): error TS2739: Type '{}' is missing the following properties from type 'PlayerAttributeActivation': turn, phase\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(141,78): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GetNearestPlayerOptions'.\n Property 'direction' is missing in type '{}' but required in type 'GetNearestPlayerOptions'.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "192", - "777", - "778" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 6, - "line": 52 + "column": 99, + "line": 142 }, "start": { - "column": 15, - "line": 49 + "column": 78, + "line": 142 } } }, { - "id": "895", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(44,112): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "893", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "src/modules/game/helpers/game.helper.ts(141,80): error TS2322: Type '\"\"' is not assignable to type '\"left\" | \"right\"'.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "192", - "777", - "778" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 2, - "line": 55 + "column": 97, + "line": 142 }, "start": { - "column": 128, - "line": 44 + "column": 91, + "line": 142 } } }, { - "id": "896", + "id": "894", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(45,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(142,79): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GetNearestPlayerOptions'.\n Property 'direction' is missing in type '{}' but required in type 'GetNearestPlayerOptions'.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "192", - "777", - "778" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 4, - "line": 54 + "column": 101, + "line": 143 }, "start": { - "column": 32, - "line": 45 + "column": 79, + "line": 143 } } }, { - "id": "934", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(181,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "895", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "src/modules/game/helpers/game.helper.ts(142,81): error TS2322: Type '\"\"' is not assignable to type '\"left\" | \"right\"'.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "192", - "197", - "202", - "204", - "206", - "210", - "211", - "213", - "214", - "216", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "341", - "351", - "374", - "375", - "376", - "377", - "378", - "393", - "402", - "573", - "773", - "774", - "775", - "776", - "777", - "778", - "779", - "780", - "781", - "782", - "783", - "784", - "785", - "786", - "787", - "788", - "789", - "790", - "791", - "792", - "793", - "818", - "819", - "821", - "822", - "833", - "834", - "835", - "837", - "838" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 2, - "line": 183 + "column": 99, + "line": 143 }, "start": { - "column": 83, - "line": 181 + "column": 92, + "line": 143 } } }, { - "id": "898", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "896", + "mutatorName": "MethodExpression", + "replacement": "[leftAliveNeighbor, sniffedTarget, rightAliveNeighbor]", + "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player[]'.\nsrc/modules/game/helpers/game.helper.ts(144,42): error TS2345: Argument of type '(acc: Player[], target: Player | undefined) => (Player | undefined)[]' is not assignable to parameter of type '(previousValue: Player[], currentValue: Player | undefined, currentIndex: number, array: (Player | undefined)[]) => Player[]'.\n Type '(Player | undefined)[]' is not assignable to type 'Player[]'.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game.helper.ts(145,67): error TS18048: 'target' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "192", - "777", - "778" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 43, - "line": 50 + "column": 127, + "line": 144 }, "start": { - "column": 13, - "line": 50 + "column": 26, + "line": 144 } } }, { - "id": "899", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "897", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/helpers/game.helper.ts(143,56): error TS2677: A type predicate's type must be assignable to its parameter's type.\n Type 'Player' is not assignable to type 'never'.\nsrc/modules/game/helpers/game.helper.ts(145,74): error TS2339: Property '_id' does not exist on type 'never'.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "192", - "777", - "778" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 43, - "line": 50 + "column": 80, + "line": 144 }, "start": { - "column": 13, - "line": 50 + "column": 26, + "line": 144 } } }, { - "id": "900", - "mutatorName": "EqualityOperator", - "replacement": "game.phase !== GAME_PHASES.DAY", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -108,11 +108,11 @@\n \"_id\": \"1f19a3f5eb4ec87d746932fd\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": PlayerAttributeActivation {\n \"phase\": \"day\",\n- \"turn\": 8672451017834497,\n+ \"turn\": 8672451017834496,\n },\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"cant-vote\",\n \"remainingPhases\": 1,\n \"source\": \"scapegoat\",\n@@ -136,11 +136,11 @@\n \"_id\": \"7d65e95e4ce5f51053cbe194\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": PlayerAttributeActivation {\n \"phase\": \"day\",\n- \"turn\": 8672451017834497,\n+ \"turn\": 8672451017834496,\n },\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"cant-vote\",\n \"remainingPhases\": 1,\n \"source\": \"scapegoat\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:951:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", + "id": "898", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2322: Type 'Player | undefined' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player[]'.\nsrc/modules/game/helpers/game.helper.ts(144,42): error TS2345: Argument of type '(acc: Player[], target: Player | undefined) => (Player | undefined)[]' is not assignable to parameter of type '(previousValue: Player[], currentValue: Player | undefined, currentIndex: number, array: (Player | undefined)[]) => Player[]'.\n Type '(Player | undefined)[]' is not assignable to type 'Player[]'.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/helpers/game.helper.ts(145,67): error TS18048: 'target' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "testsCompleted": 3, - "killedBy": [ - "192" - ], + "killedBy": [], "coveredBy": [ - "192", - "777", - "778" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 43, - "line": 50 + "column": 126, + "line": 144 }, "start": { - "column": 13, - "line": 50 + "column": 88, + "line": 144 } } }, { - "id": "901", - "mutatorName": "ArithmeticOperator", - "replacement": "game.turn - 1", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -1,9 +1,9 @@\n PlayerAttribute {\n \"activeAt\": PlayerAttributeActivation {\n \"phase\": \"day\",\n- \"turn\": 3,\n+ \"turn\": 1,\n },\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"cant-vote\",\n \"remainingPhases\": 1,\n \"source\": \"scapegoat\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts:70:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "899", + "mutatorName": "BooleanLiteral", + "replacement": "!player", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"16abceadfe492634aa5b106c\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Helene\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", + "testsCompleted": 7, "static": false, - "testsCompleted": 1, "killedBy": [ - "777" + "329" ], "coveredBy": [ - "777" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 59, - "line": 50 + "column": 126, + "line": 144 }, "start": { - "column": 46, - "line": 50 - } - } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport { PlayerAttribute } from \"../../../schemas/player/player-attribute/player-attribute.schema\";\n\nfunction createContaminatedByRustySwordKnightPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CONTAMINATED,\n source: ROLE_NAMES.RUSTY_SWORD_KNIGHT,\n remainingPhases: 2,\n ...playerAttribute,\n });\n}\n\nfunction createGrowledByBearTamerPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.GROWLED,\n source: ROLE_NAMES.BEAR_TAMER,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createCharmedByPiedPiperPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CHARMED,\n source: ROLE_NAMES.PIED_PIPER,\n ...playerAttribute,\n });\n}\n\nfunction createCantVoteByAllPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CANT_VOTE,\n source: PLAYER_GROUPS.ALL,\n ...playerAttribute,\n });\n}\n\nfunction createCantVoteByScapegoatPlayerAttribute(game: Game, playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CANT_VOTE,\n source: ROLE_NAMES.SCAPEGOAT,\n remainingPhases: 1,\n activeAt: {\n turn: game.phase === GAME_PHASES.DAY ? game.turn + 1 : game.turn,\n phase: GAME_PHASES.DAY,\n },\n ...playerAttribute,\n });\n}\n\nfunction createPowerlessByFoxPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.POWERLESS,\n source: ROLE_NAMES.FOX,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createPowerlessByAncientPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.POWERLESS,\n source: ROLE_NAMES.ANCIENT,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createWorshipedByWildChildPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.WORSHIPED,\n source: ROLE_NAMES.WILD_CHILD,\n ...playerAttribute,\n });\n}\n\nfunction createInLoveByCupidPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.IN_LOVE,\n source: ROLE_NAMES.CUPID,\n ...playerAttribute,\n });\n}\n\nfunction createRavenMarkByRavenPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.RAVEN_MARKED,\n source: ROLE_NAMES.RAVEN,\n remainingPhases: 2,\n ...playerAttribute,\n });\n}\n\nfunction createProtectedByGuardPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.PROTECTED,\n source: ROLE_NAMES.GUARD,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createDrankDeathPotionByWitchPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.DRANK_DEATH_POTION,\n source: ROLE_NAMES.WITCH,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createDrankLifePotionByWitchPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.DRANK_LIFE_POTION,\n source: ROLE_NAMES.WITCH,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createEatenByBigBadWolfPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.EATEN,\n source: ROLE_NAMES.BIG_BAD_WOLF,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createEatenByWhiteWerewolfPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.EATEN,\n source: ROLE_NAMES.WHITE_WEREWOLF,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createEatenByWerewolvesPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.EATEN,\n source: PLAYER_GROUPS.WEREWOLVES,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createSeenBySeerPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.SEEN,\n source: ROLE_NAMES.SEER,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createSheriffBySheriffPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n source: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createSheriffByAllPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n source: PLAYER_GROUPS.ALL,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createPlayerAttribute(playerAttribute: PlayerAttribute): PlayerAttribute {\n return plainToInstance(PlayerAttribute, toJSON(playerAttribute), plainToInstanceDefaultOptions);\n}\n\nexport {\n createContaminatedByRustySwordKnightPlayerAttribute,\n createGrowledByBearTamerPlayerAttribute,\n createCharmedByPiedPiperPlayerAttribute,\n createCantVoteByAllPlayerAttribute,\n createCantVoteByScapegoatPlayerAttribute,\n createPowerlessByFoxPlayerAttribute,\n createPowerlessByAncientPlayerAttribute,\n createWorshipedByWildChildPlayerAttribute,\n createInLoveByCupidPlayerAttribute,\n createRavenMarkByRavenPlayerAttribute,\n createProtectedByGuardPlayerAttribute,\n createDrankDeathPotionByWitchPlayerAttribute,\n createDrankLifePotionByWitchPlayerAttribute,\n createEatenByBigBadWolfPlayerAttribute,\n createEatenByWhiteWerewolfPlayerAttribute,\n createEatenByWerewolvesPlayerAttribute,\n createSeenBySeerPlayerAttribute,\n createSheriffBySheriffPlayerAttribute,\n createSheriffByAllPlayerAttribute,\n createPlayerAttribute,\n};" - }, - "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts": { - "language": "typescript", - "mutants": [ - { - "id": "936", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:23:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "751" - ], - "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", - "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" - ], - "location": { - "end": { - "column": 101, - "line": 10 - }, - "start": { - "column": 10, - "line": 9 + "column": 118, + "line": 144 } } }, { - "id": "943", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "900", + "mutatorName": "BooleanLiteral", + "replacement": "player", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 61, - "line": 9 + "column": 126, + "line": 144 }, "start": { - "column": 36, - "line": 9 + "column": 119, + "line": 144 } } }, { - "id": "944", - "mutatorName": "EqualityOperator", - "replacement": "activeAt.turn <= game.turn", - "status": "Timeout", + "id": "901", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2740: Type 'Player' is missing the following properties from type 'Player[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game.helper.ts(144,42): error TS2345: Argument of type '(acc: Player[], target: Player) => void' is not assignable to parameter of type '(previousValue: Player[], currentValue: Player, currentIndex: number, array: Player[]) => Player[]'.\n Type 'void' is not assignable to type 'Player[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 61, - "line": 9 + "column": 4, + "line": 150 }, "start": { - "column": 36, - "line": 9 + "column": 59, + "line": 145 } } }, { - "id": "945", - "mutatorName": "EqualityOperator", - "replacement": "activeAt.turn >= game.turn", - "status": "Timeout", + "id": "902", + "mutatorName": "BooleanLiteral", + "replacement": "acc.some(uniqueTarget => uniqueTarget._id.toString() === target._id.toString())", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"9dffa4c4cd5fb7797b38f4c5\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Kiley\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "329" + ], "coveredBy": [ - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 61, - "line": 9 + "column": 89, + "line": 146 }, "start": { - "column": 36, - "line": 9 + "column": 9, + "line": 146 } } }, { - "id": "946", + "id": "903", "mutatorName": "ConditionalExpression", - "replacement": "false", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "751", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 101, - "line": 10 + "column": 89, + "line": 146 }, "start": { - "column": 5, - "line": 10 + "column": 9, + "line": 146 } } }, { - "id": "947", - "mutatorName": "LogicalOperator", - "replacement": "activeAt.turn === game.turn || activeAt.phase === game.phase || game.phase === GAME_PHASES.DAY", + "id": "904", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "751", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 101, - "line": 10 + "column": 89, + "line": 146 }, "start": { - "column": 5, - "line": 10 + "column": 9, + "line": 146 } } }, { - "id": "948", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "905", + "mutatorName": "MethodExpression", + "replacement": "acc.every(uniqueTarget => uniqueTarget._id.toString() === target._id.toString())", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "751", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 32, - "line": 10 + "column": 89, + "line": 146 }, "start": { - "column": 5, - "line": 10 + "column": 10, + "line": 146 } } }, { - "id": "949", - "mutatorName": "EqualityOperator", - "replacement": "activeAt.turn !== game.turn", + "id": "906", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "751", - "753", - "754", - "755", - "762", - "763", - "765", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 32, - "line": 10 + "column": 88, + "line": 146 }, "start": { - "column": 5, - "line": 10 + "column": 19, + "line": 146 } } }, { - "id": "950", + "id": "907", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"b90ebeed038c2a1062ee8b82\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Virginia\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "329" + ], "coveredBy": [ - "753", - "754", - "755", - "763", - "766" + "328", + "329", + "330", + "587", + "588", + "589" ], "location": { "end": { - "column": 100, - "line": 10 + "column": 88, + "line": 146 }, "start": { - "column": 37, - "line": 10 + "column": 35, + "line": 146 } } }, { - "id": "951", - "mutatorName": "LogicalOperator", - "replacement": "activeAt.phase === game.phase && game.phase === GAME_PHASES.DAY", + "id": "908", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "753", - "754", - "755", - "763", - "766" + "328", + "329", + "330", + "587", + "588", + "589" ], "location": { "end": { - "column": 100, - "line": 10 + "column": 88, + "line": 146 }, "start": { - "column": 37, - "line": 10 + "column": 35, + "line": 146 } } }, { - "id": "952", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "909", + "mutatorName": "EqualityOperator", + "replacement": "uniqueTarget._id.toString() !== target._id.toString()", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"5e9ddcdd8ac4f85a8b09d22e\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Giuseppe\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "329" + ], "coveredBy": [ - "753", - "754", - "755", - "763", - "766" + "328", + "329", + "330", + "587", + "588", + "589" ], "location": { "end": { - "column": 66, - "line": 10 + "column": 88, + "line": 146 }, "start": { - "column": 37, - "line": 10 + "column": 35, + "line": 146 } } }, { - "id": "953", - "mutatorName": "EqualityOperator", - "replacement": "activeAt.phase !== game.phase", + "id": "910", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "753", - "754", - "755", - "763", - "766" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 66, - "line": 10 + "column": 6, + "line": 148 }, "start": { - "column": 37, - "line": 10 + "column": 91, + "line": 146 } } }, { - "id": "954", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "911", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "753", - "755" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 100, - "line": 10 + "column": 30, + "line": 147 }, "start": { - "column": 70, - "line": 10 + "column": 14, + "line": 147 } } }, { - "id": "955", - "mutatorName": "EqualityOperator", - "replacement": "game.phase !== GAME_PHASES.DAY", - "status": "Timeout", + "id": "912", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/helpers/game.helper.ts(144,3): error TS2740: Type 'Player' is missing the following properties from type 'Player[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/helpers/game.helper.ts(149,7): error TS2322: Type 'string' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "753", - "755" + "328", + "329", + "330", + "587", + "588", + "589", + "590" ], "location": { "end": { - "column": 100, - "line": 10 + "column": 8, + "line": 150 }, "start": { - "column": 70, - "line": 10 + "column": 6, + "line": 150 } } }, { - "id": "956", + "id": "913", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(13,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(153,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "756", - "757", - "758", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { "column": 2, - "line": 15 + "line": 174 }, "start": { - "column": 129, - "line": 13 + "column": 126, + "line": 153 } } }, { - "id": "957", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "914", + "mutatorName": "MethodExpression", + "replacement": "alivePlayers", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 7\n\n Player {\n- \"_id\": \"b7b03da4ceee9f119cfff7fb\",\n+ \"_id\": \"ebdef4def21d88a0ac57ccec\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Lucy\",\n- \"position\": 1,\n+ \"name\": \"Bettie\",\n+ \"position\": 2,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:582:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 19, "static": false, - "killedBy": [], + "killedBy": [ + "593" + ], "coveredBy": [ - "756", - "757", - "758", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 62, - "line": 14 + "column": 55, + "line": 155 }, "start": { - "column": 26, - "line": 14 + "column": 3, + "line": 155 } } }, { - "id": "958", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "915", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/helpers/game.helper.ts(154,21): error TS2345: Argument of type '() => undefined' is not assignable to parameter of type '(a: Player, b: Player) => number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "756", - "757", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 62, - "line": 14 + "column": 54, + "line": 155 }, "start": { - "column": 40, - "line": 14 + "column": 21, + "line": 155 } } }, { - "id": "959", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"powerless\", \"remainingPhases\": undefined, \"source\": \"ancient\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:64:84)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "916", + "mutatorName": "ArithmeticOperator", + "replacement": "a.position + b.position", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 7\n+ Received + 7\n\n Player {\n- \"_id\": \"aa3a017804dc62e61541dc58\",\n+ \"_id\": \"ec0d5c2abaeefd8ddacc6f80\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Ruby\",\n- \"position\": 1,\n+ \"name\": \"Silas\",\n+ \"position\": 2,\n \"role\": PlayerRole {\n- \"current\": \"villager\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n- \"original\": \"villager\",\n+ \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:582:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 17, "static": false, "killedBy": [ - "756" + "593" ], "coveredBy": [ - "756", - "757", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "592", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 62, - "line": 14 + "column": 54, + "line": 155 }, "start": { - "column": 40, - "line": 14 + "column": 31, + "line": 155 } } }, { - "id": "960", - "mutatorName": "EqualityOperator", - "replacement": "name !== attributeName", - "status": "Timeout", + "id": "917", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getNearestAliveNeighbor\"\nReceived message: \"Unexpected exception in \"\n\n 61 | playerId\n 62 | } = interpolations;\n > 63 | return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, stryMutAct_9fa48(\"2685\") ? {} : (stryCov_9fa48(\"2685\"), {\n | ^\n 64 | gameId: gameId.toString(),\n 65 | playerId: playerId.toString()\n 66 | }));\n\n at createCantFindPlayerUnexpectedException (src/shared/exception/helpers/unexpected-exception.factory.ts:63:12)\n at getNearestAliveNeighbor (src/modules/game/helpers/game.helper.ts:368:76)\n at tests/unit/specs/modules/game/helpers/game.helper.spec.ts:567:43\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/helpers/game.helper.spec.ts:567:77)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:567:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 19, "static": false, - "killedBy": [], + "killedBy": [ + "592" + ], "coveredBy": [ - "756", - "757", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 62, - "line": 14 + "column": 100, + "line": 156 }, "start": { - "column": 40, - "line": 14 + "column": 75, + "line": 156 } } }, { - "id": "961", - "mutatorName": "BlockStatement", + "id": "918", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(17,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(155,102): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "758", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "592", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 2, - "line": 19 + "column": 132, + "line": 156 }, "start": { - "column": 106, - "line": 17 + "column": 102, + "line": 156 } } }, { - "id": "962", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerAttributeWithName(player, attributeName)", + "id": "919", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "758", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 61, - "line": 18 + "column": 52, + "line": 158 }, "start": { - "column": 10, - "line": 18 + "column": 24, + "line": 158 } } }, { - "id": "963", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerAttributeWithName(player, attributeName)", + "id": "920", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "758", - "759", - "760" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 61, - "line": 18 + "column": 52, + "line": 158 }, "start": { - "column": 11, - "line": 18 + "column": 24, + "line": 158 } } }, { - "id": "969", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 11\n+ Received + 11\n\n Player {\n- \"_id\": \"9ffc28594bcb5dfaef8b0083\",\n+ \"_id\": \"2efca1f2706b2f1643cb9aed\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n },\n ],\n \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"William\",\n- \"position\": 1215421514514432,\n+ \"isAlive\": true,\n+ \"name\": \"Al\",\n+ \"position\": 1133202215272448,\n \"role\": PlayerRole {\n- \"current\": \"idiot\",\n- \"isRevealed\": false,\n- \"original\": \"ancient\",\n+ \"current\": \"hunter\",\n+ \"isRevealed\": true,\n+ \"original\": \"vile-father-of-wolves\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n- \"original\": \"villagers\",\n+ \"original\": \"werewolves\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:292:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 92, + "id": "921", + "mutatorName": "EqualityOperator", + "replacement": "options.direction !== \"left\"", + "status": "Timeout", "static": false, - "killedBy": [ - "491" - ], + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "573", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 71, - "line": 22 + "column": 52, + "line": 158 }, "start": { - "column": 39, - "line": 22 + "column": 24, + "line": 158 } } }, { - "id": "970", - "mutatorName": "EqualityOperator", - "replacement": "attribute.name !== attributeName", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:217:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 93, + "id": "922", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "src/modules/game/helpers/game.helper.ts(157,24): error TS2367: This comparison appears to be unintentional because the types '\"left\" | \"right\"' and '\"\"' have no overlap.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "10" - ], + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "573", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 71, - "line": 22 + "column": 52, + "line": 158 }, "start": { - "column": 39, - "line": 22 - } + "column": 46, + "line": 158 + } } }, { - "id": "974", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(29,139): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "923", + "mutatorName": "UnaryOperator", + "replacement": "+1", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 2, - "line": 31 + "column": 57, + "line": 158 }, "start": { - "column": 167, - "line": 29 + "column": 55, + "line": 158 } } }, { - "id": "975", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "924", + "mutatorName": "ArithmeticOperator", + "replacement": "player.position - indexHeading", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 100, - "line": 30 + "column": 52, + "line": 159 }, "start": { - "column": 26, - "line": 30 + "column": 22, + "line": 159 } } }, { - "id": "976", + "id": "925", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n+ \"name\": \"sheriff\",\n \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n+ \"source\": \"all\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:176:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "767" - ], + "killedBy": [], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 100, - "line": 30 + "column": 37, + "line": 161 }, "start": { - "column": 48, - "line": 30 + "column": 10, + "line": 161 } } }, { - "id": "977", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "926", + "mutatorName": "EqualityOperator", + "replacement": "count <= alivePlayers.length", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 100, - "line": 30 + "column": 37, + "line": 161 }, "start": { - "column": 48, - "line": 30 + "column": 10, + "line": 161 } } }, { - "id": "978", - "mutatorName": "LogicalOperator", - "replacement": "name === attributeName || source === attributeSource", + "id": "927", + "mutatorName": "EqualityOperator", + "replacement": "count >= alivePlayers.length", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597", + "598" ], "location": { "end": { - "column": 100, - "line": 30 + "column": 37, + "line": 161 }, "start": { - "column": 48, - "line": 30 + "column": 10, + "line": 161 } } }, { - "id": "979", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "928", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 70, - "line": 30 + "column": 4, + "line": 173 }, "start": { - "column": 48, - "line": 30 + "column": 39, + "line": 161 } } }, { - "id": "980", - "mutatorName": "EqualityOperator", - "replacement": "name !== attributeName", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"powerless\", \"remainingPhases\": undefined, \"source\": \"ancient\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:176:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "929", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 0\n\n@@ -1,24 +1,7 @@\n Array [\n Player {\n- \"_id\": \"4a47a743cbfb6bbbf5ecafcd\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Rachelle\",\n- \"position\": 2,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n \"_id\": \"cbdcbb6cc17cc30a21d7c341\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Olaf\",\n@@ -29,25 +12,8 @@\n \"original\": \"villager\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"f818bb0d971a7caec2a54bd7\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Eloise\",\n- \"position\": 0,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:58)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 17, "static": false, "killedBy": [ - "767" + "587" ], "coveredBy": [ - "767", - "768", - "769", - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 70, - "line": 30 + "column": 25, + "line": 162 }, "start": { - "column": 48, - "line": 30 + "column": 9, + "line": 162 } } }, { - "id": "981", + "id": "930", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:397:438)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:597:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, - "killedBy": [], + "killedBy": [ + "594" + ], "coveredBy": [ - "767", - "769", - "770", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 100, - "line": 30 + "column": 25, + "line": 162 }, "start": { - "column": 74, - "line": 30 + "column": 9, + "line": 162 } } }, { - "id": "982", + "id": "931", "mutatorName": "EqualityOperator", - "replacement": "source !== attributeSource", + "replacement": "currentIndex <= 0", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "767", - "769", - "770", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 100, - "line": 30 + "column": 25, + "line": 162 }, "start": { - "column": 74, - "line": 30 + "column": 9, + "line": 162 } } }, { - "id": "983", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(33,136): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "932", + "mutatorName": "EqualityOperator", + "replacement": "currentIndex >= 0", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 2, - "line": 35 + "column": 25, + "line": 162 }, "start": { - "column": 144, - "line": 33 + "column": 9, + "line": 162 } } }, { - "id": "984", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerAttributeWithNameAndSource(player, attributeName, attributeSource)", - "status": "Timeout", + "id": "934", + "mutatorName": "ArithmeticOperator", + "replacement": "alivePlayers.length + 1", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/helpers/game.helper.ts:398:438)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:625:37)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "594" + ], "coveredBy": [ - "770", - "771", - "772" + "408", + "409", + "410", + "411", + "594", + "595", + "597" ], "location": { "end": { - "column": 87, - "line": 34 + "column": 45, + "line": 163 }, "start": { - "column": 10, - "line": 34 + "column": 22, + "line": 163 } } }, { - "id": "985", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerAttributeWithNameAndSource(player, attributeName, attributeSource)", + "id": "935", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "770", - "771", - "772" + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 87, - "line": 34 + "column": 51, + "line": 164 }, "start": { - "column": 11, - "line": 34 + "column": 16, + "line": 164 } } }, { - "id": "935", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(8,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "936", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:397:438)\n at getFoxSniffedPlayers (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:339:32)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, + "killedBy": [ + "587" + ], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 2, - "line": 11 + "column": 51, + "line": 164 }, "start": { - "column": 86, - "line": 8 + "column": 16, + "line": 164 + } + } + }, + { + "id": "937", + "mutatorName": "EqualityOperator", + "replacement": "currentIndex > alivePlayers.length", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "328", + "329", + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" + ], + "location": { + "end": { + "column": 51, + "line": 164 + }, + "start": { + "column": 16, + "line": 164 } } }, { "id": "938", - "mutatorName": "LogicalOperator", - "replacement": "(activeAt === undefined || activeAt.turn < game.turn) && activeAt.turn === game.turn && (activeAt.phase === game.phase || game.phase === GAME_PHASES.DAY)", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,67): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,99): error TS18048: 'activeAt' is possibly 'undefined'.\n", - "status": "CompileError", + "mutatorName": "EqualityOperator", + "replacement": "currentIndex < alivePlayers.length", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:397:438)\n at getFoxSniffedPlayers (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/helpers/game.helper.ts:339:32)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:34)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, + "killedBy": [ + "587" + ], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 101, - "line": 10 + "column": 51, + "line": 164 }, "start": { - "column": 10, - "line": 9 + "column": 16, + "line": 164 } } }, { - "id": "941", + "id": "939", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "407", + "408", + "409", + "410", + "587", + "588", + "589", + "590", + "593", + "597" + ], + "location": { + "end": { + "column": 6, + "line": 166 + }, + "start": { + "column": 53, + "line": 164 + } + } + }, + { + "id": "940", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,19): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "true", + "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 32, - "line": 9 + "column": 148, + "line": 168 }, "start": { - "column": 10, - "line": 9 + "column": 9, + "line": 168 } } }, { - "id": "939", + "id": "941", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 61, - "line": 9 + "column": 148, + "line": 168 }, "start": { - "column": 10, - "line": 9 + "column": 9, + "line": 168 } } }, { - "id": "940", + "id": "942", "mutatorName": "LogicalOperator", - "replacement": "activeAt === undefined && activeAt.turn < game.turn", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,36): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "checkingNeighbor.position !== player.position || options.playerSide === undefined || checkingNeighbor.side.current === options.playerSide", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -131,11 +131,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"6db4eaffc7eaef6dd1762c7a\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Wilburn\",\n \"position\": 6262310171574272,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:815:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 17, "static": false, + "killedBy": [ + "410" + ], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 61, - "line": 9 + "column": 148, + "line": 168 }, "start": { - "column": 10, - "line": 9 + "column": 9, + "line": 168 } } }, { - "id": "942", - "mutatorName": "EqualityOperator", - "replacement": "activeAt !== undefined", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,36): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "943", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 32, - "line": 9 + "column": 54, + "line": 168 }, "start": { - "column": 10, - "line": 9 + "column": 9, + "line": 168 } } }, { - "id": "964", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(21,119): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "944", + "mutatorName": "EqualityOperator", + "replacement": "checkingNeighbor.position === player.position", + "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "8", - "10", - "25", - "27", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45", - "109", - "110", - "111", - "112", - "113", - "114", - "115", - "116", - "117", - "132", - "133", - "158", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "246", - "247", - "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", - "292", - "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", + "328", "329", "330", - "333", - "334", - "339", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "362", - "363", - "364", - "365", - "366", - "374", - "375", - "376", - "377", - "378", - "379", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "391", - "392", - "393", - "395", - "396", - "397", - "399", - "400", - "401", - "402", - "403", - "404", - "406", "407", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "571", - "572", - "573", - "619", - "620", - "621", - "622", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "853", - "854", - "855", - "857", - "858" + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "590", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 2, - "line": 23 + "column": 54, + "line": 168 }, "start": { - "column": 147, - "line": 21 + "column": 9, + "line": 168 } } }, { - "id": "971", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(25,116): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "945", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -131,11 +131,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"28dcc37da4846cdbcddcd1ed\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Shanel\",\n \"position\": 32971549573120,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:815:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 16, "static": false, + "killedBy": [ + "410" + ], "coveredBy": [ - "7", - "8", - "10", - "25", - "27", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45", - "109", - "110", - "111", - "112", - "113", - "114", - "115", - "116", - "117", - "132", - "133", - "158", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "246", - "247", - "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", - "292", - "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", + "328", "329", "330", - "333", - "334", - "339", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "362", - "363", - "364", - "365", - "366", - "374", - "375", - "376", - "377", - "378", - "379", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "391", - "392", - "393", - "395", - "396", - "397", - "399", - "400", - "401", - "402", - "403", - "404", - "406", "407", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "571", - "572", - "573", - "619", - "620", - "621", - "622", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "853", - "854", - "855", - "857", - "858" + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 2, - "line": 27 + "column": 147, + "line": 168 }, "start": { - "column": 124, - "line": 25 + "column": 59, + "line": 168 } } }, { - "id": "937", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "946", + "mutatorName": "LogicalOperator", + "replacement": "options.playerSide === undefined && checkingNeighbor.side.current === options.playerSide", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "384", - "385", - "386", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "493", - "498", - "499", - "502", - "503", - "529", - "530", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "750", - "751", - "752", - "753", - "754", - "755", - "762", - "763", - "765", - "766", - "798", - "800", - "835", - "837", - "838", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 101, - "line": 10 + "column": 147, + "line": 168 }, "start": { - "column": 10, - "line": 9 + "column": 59, + "line": 168 } } }, { - "id": "968", - "mutatorName": "LogicalOperator", - "replacement": "attribute.name === attributeName || isPlayerAttributeActive(attribute, game)", - "status": "Timeout", + "id": "947", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 0\n\n@@ -1,24 +1,7 @@\n Array [\n Player {\n- \"_id\": \"e6e6db3daab54ac1eacad228\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Kennedi\",\n- \"position\": 2,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n \"_id\": \"d31caa2df4ea5a2fa9b96e63\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Sven\",\n@@ -29,25 +12,8 @@\n \"original\": \"villager\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Player {\n- \"_id\": \"a9f8ccc8e9b9faf1ddb923ad\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Maureen\",\n- \"position\": 0,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:486:58)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 16, "static": false, + "killedBy": [ + "587" + ], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "573", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 115, - "line": 22 + "column": 91, + "line": 168 }, "start": { - "column": 39, - "line": 22 + "column": 59, + "line": 168 } } }, { - "id": "966", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "948", + "mutatorName": "EqualityOperator", + "replacement": "options.playerSide !== undefined", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", + "328", "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "573", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "857" + "330", + "407", + "408", + "409", + "410", + "411", + "587", + "588", + "589", + "593", + "594", + "595", + "596", + "597" ], "location": { "end": { - "column": 115, - "line": 22 + "column": 91, + "line": 168 }, "start": { - "column": 39, - "line": 22 + "column": 59, + "line": 168 } } }, { - "id": "967", + "id": "949", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "10", - "39", - "109", - "112", - "158", - "164", - "167", - "168", - "229", - "235", - "244", - "246", - "247", - "254", - "261", - "266", - "277", - "323", - "326", - "329", - "334", - "351", - "360", - "362", - "363", - "364", - "365", - "375", - "376", - "377", - "378", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "395", - "399", - "406", - "440", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "573", - "620", - "621", - "622", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "653", - "657", - "658", - "686", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "857" + "407", + "408", + "409", + "410", + "411", + "595", + "596", + "597" ], "location": { "end": { - "column": 115, - "line": 22 + "column": 147, + "line": 168 }, "start": { - "column": 39, - "line": 22 + "column": 95, + "line": 168 } } }, { - "id": "965", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "950", + "mutatorName": "EqualityOperator", + "replacement": "checkingNeighbor.side.current !== options.playerSide", "status": "Timeout", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "8", - "10", - "25", - "27", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45", - "109", - "110", - "111", - "112", - "113", - "114", - "115", - "116", - "117", - "132", - "133", - "158", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "246", - "247", - "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", - "292", - "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", - "329", - "330", - "333", - "334", - "339", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "362", - "363", - "364", - "365", - "366", - "374", - "375", - "376", - "377", - "378", - "379", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "391", - "392", - "393", - "395", - "396", - "397", - "399", - "400", - "401", - "402", - "403", - "404", - "406", "407", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", - "530", - "571", - "572", - "573", - "619", - "620", - "621", - "622", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698", - "761", - "762", - "763", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "853", - "854", - "855", - "857", - "858" + "408", + "409", + "410", + "411", + "595", + "596", + "597" ], "location": { "end": { - "column": 115, - "line": 22 + "column": 147, + "line": 168 }, "start": { - "column": 26, - "line": 22 + "column": 95, + "line": 168 } } }, { - "id": "972", - "mutatorName": "BooleanLiteral", - "replacement": "!getActivePlayerAttributeWithName(player, attributeName, game)", - "status": "Timeout", + "id": "951", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(152,107): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "8", - "10", - "25", - "27", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45", - "109", - "110", - "111", - "112", - "113", - "114", - "115", - "116", - "117", - "132", - "133", - "158", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "246", - "247", - "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", - "292", - "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", + "328", "329", "330", - "333", - "334", - "339", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "362", - "363", - "364", - "365", - "366", - "374", - "375", - "376", - "377", - "378", - "379", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "391", - "392", - "393", - "395", - "396", - "397", - "399", - "400", - "401", - "402", - "403", - "404", - "406", "407", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", - "529", + "408", + "409", + "411", + "587", + "588", + "589", + "593", + "594", + "595", + "596" + ], + "location": { + "end": { + "column": 6, + "line": 170 + }, + "start": { + "column": 150, + "line": 168 + } + } + }, + { + "id": "954", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(176,48): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", "530", - "571", - "572", - "573", - "619", - "620", - "621", - "622", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "853", - "854", - "855", - "857", - "858" + "531", + "599", + "600", + "601", + "602", + "603", + "604", + "605" ], "location": { "end": { - "column": 73, - "line": 26 + "column": 2, + "line": 194 }, "start": { - "column": 10, - "line": 26 + "column": 57, + "line": 176 } } }, { - "id": "973", - "mutatorName": "BooleanLiteral", - "replacement": "getActivePlayerAttributeWithName(player, attributeName, game)", - "status": "Timeout", + "id": "955", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/helpers/game.helper.ts(190,55): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/game-play.enum\").GAME_PLAY_ACTIONS' is not assignable to parameter of type 'never'.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "7", - "8", - "10", - "25", - "27", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45", - "109", - "110", - "111", - "112", - "113", - "114", - "115", - "116", - "117", - "132", - "133", - "158", - "162", - "163", - "164", - "165", - "166", + "517", + "518", + "519", + "530", + "531", + "599", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 132, + "line": 178 + }, + "start": { + "column": 49, + "line": 178 + } + } + }, + { + "id": "956", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/helpers/game.helper.ts(179,42): error TS2322: Type 'string' is not assignable to type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "599", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 43, + "line": 179 + }, + "start": { + "column": 41, + "line": 179 + } + } + }, + { + "id": "957", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.helper.ts(183,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,53): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,53): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'PLAYER_GROUPS'.\n Type 'ROLE_NAMES.WEREWOLF' is not assignable to type 'PLAYER_GROUPS'.\nsrc/modules/game/helpers/game.helper.ts(185,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(186,61): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(186,61): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\nsrc/modules/game/helpers/game.helper.ts(190,55): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "599", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 27, + "line": 180 + }, + "start": { + "column": 7, + "line": 180 + } + } + }, + { + "id": "958", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.helper.ts(183,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,53): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(186,61): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(190,55): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "599", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 27, + "line": 180 + }, + "start": { + "column": 7, + "line": 180 + } + } + }, + { + "id": "959", + "mutatorName": "EqualityOperator", + "replacement": "currentPlay !== null", + "statusReason": "src/modules/game/helpers/game.helper.ts(183,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,53): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(186,61): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(190,55): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "599", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 27, + "line": 180 + }, + "start": { + "column": 7, + "line": 180 + } + } + }, + { + "id": "960", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(180,25): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(181,56): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(182,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(183,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(187,55): error TS18047: 'currentPlay' is possibly 'null'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "599" + ], + "location": { + "end": { + "column": 4, + "line": 182 + }, + "start": { + "column": 29, + "line": 180 + } + } + }, + { + "id": "961", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"getExpectedPlayersToPlay\", {\"gameId\": \"01dd8bb46a9fee5926c2ad03\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:673:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "599" + ], + "coveredBy": [ + "599" + ], + "location": { + "end": { + "column": 80, + "line": 181 + }, + "start": { + "column": 54, + "line": 181 + } + } + }, + { + "id": "962", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(180,82): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "599" + ], + "location": { + "end": { + "column": 102, + "line": 181 + }, + "start": { + "column": 82, + "line": 181 + } + } + }, + { + "id": "963", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.helper.ts(184,53): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'PLAYER_GROUPS'.\n Type 'ROLE_NAMES.WEREWOLF' is not assignable to type 'PLAYER_GROUPS'.\nsrc/modules/game/helpers/game.helper.ts(185,31): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(186,61): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(186,61): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 49, + "line": 183 + }, + "start": { + "column": 7, + "line": 183 + } + } + }, + { + "id": "964", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.helper.ts(184,53): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(184,53): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'PLAYER_GROUPS'.\n Type 'ROLE_NAMES.WEREWOLF' is not assignable to type 'PLAYER_GROUPS'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 49, + "line": 183 + }, + "start": { + "column": 7, + "line": 183 + } + } + }, + { + "id": "965", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 36\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"dd14aeef5806df7fbcca8eac\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Susana\",\n- \"position\": 1066733100072960,\n- \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"d06cf6cbfa2cbf1235c6dbc9\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Franz\",\n- \"position\": 3180594341085184,\n- \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:713:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, + "static": false, + "killedBy": [ + "600" + ], + "coveredBy": [ + "517", + "518", + "530", + "531", + "600" + ], + "location": { + "end": { + "column": 4, + "line": 185 + }, + "start": { + "column": 51, + "line": 183 + } + } + }, + { + "id": "966", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.helper.ts(185,64): error TS2345: Argument of type 'ROLE_NAMES | PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "519", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 55, + "line": 185 + }, + "start": { + "column": 14, + "line": 185 + } + } + }, + { + "id": "967", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.helper.ts(185,64): error TS18047: 'currentPlay' is possibly 'null'.\nsrc/modules/game/helpers/game.helper.ts(185,64): error TS2345: Argument of type 'GameSource' is not assignable to parameter of type 'ROLE_NAMES'.\n Type 'PLAYER_ATTRIBUTE_NAMES.SHERIFF' is not assignable to type 'ROLE_NAMES'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "519", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 55, + "line": 185 + }, + "start": { + "column": 14, + "line": 185 + } + } + }, + { + "id": "968", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 19\n+ Received + 1\n\n- Array [\n- Player {\n- \"_id\": \"c2aaa2fd1bf6daa7e7a6a773\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Darlene\",\n- \"position\": 5049674658480128,\n- \"role\": PlayerRole {\n- \"current\": \"two-sisters\",\n- \"isRevealed\": false,\n- \"original\": \"two-sisters\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:730:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "601" + ], + "coveredBy": [ + "519", + "601", + "604", + "605" + ], + "location": { + "end": { + "column": 4, + "line": 187 + }, + "start": { + "column": 57, + "line": 185 + } + } + }, + { + "id": "969", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "602", + "603" + ], + "location": { + "end": { + "column": 4, + "line": 189 + }, + "start": { + "column": 10, + "line": 187 + } + } + }, + { + "id": "970", + "mutatorName": "BooleanLiteral", + "replacement": "mustIncludeDeadPlayersGamePlayActions.includes(currentPlay.action)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"b339ea41c79c8f3379bd209c\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Erika\",\n+ \"position\": 7758126163951616,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"2dafeefb568bbaa9ac4d40ad\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Royal\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:713:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, + "static": false, + "killedBy": [ + "600" + ], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 74, + "line": 190 + }, + "start": { + "column": 7, + "line": 190 + } + } + }, + { + "id": "971", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 74, + "line": 190 + }, + "start": { + "column": 7, + "line": 190 + } + } + }, + { + "id": "972", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 74, + "line": 190 + }, + "start": { + "column": 7, + "line": 190 + } + } + }, + { + "id": "973", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"b6a0f19cc474bdab8ce35b80\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Nestor\",\n+ \"position\": 1941635644522496,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"a586baa2d57f4f1da0fa36ee\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Adolfo\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:685:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, + "static": false, + "killedBy": [ + "600" + ], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602" + ], + "location": { + "end": { + "column": 4, + "line": 192 + }, + "start": { + "column": 76, + "line": 190 + } + } + }, + { + "id": "974", + "mutatorName": "MethodExpression", + "replacement": "expectedPlayersToPlay", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"b5f4c5764481c5f3a0dedcd6\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Destany\",\n+ \"position\": 6102737410326528,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n \"_id\": \"ff96062ad7f21f380f4e6ac9\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jonathan\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:685:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, + "static": false, + "killedBy": [ + "600" + ], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602" + ], + "location": { + "end": { + "column": 83, + "line": 191 + }, + "start": { + "column": 29, + "line": 191 + } + } + }, + { + "id": "975", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 98\n+ Received + 1\n\n@@ -3,108 +3,11 @@\n \"createdAt\": Any,\n \"currentPlay\": Object {\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n- \"players\": Array [\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Doudou\",\n- \"position\": 4,\n- \"role\": Object {\n- \"current\": \"cupid\",\n- \"isRevealed\": false,\n- \"original\": \"cupid\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n+ \"players\": Array [],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n \"isHidden\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 8, + "static": false, + "killedBy": [ + "517" + ], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602" + ], + "location": { + "end": { + "column": 82, + "line": 191 + }, + "start": { + "column": 58, + "line": 191 + } + } + }, + { + "id": "976", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/helpers/game.helper.ts(193,3): error TS2322: Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "602", + "603", + "604", + "605" + ], + "location": { + "end": { + "column": 66, + "line": 193 + }, + "start": { + "column": 36, + "line": 193 + } + } + }, + { + "id": "804", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.helper.ts(73,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "coveredBy": [ + "257", + "258", + "259", + "286", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530", + "564", + "565", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" + ], + "location": { + "end": { + "column": 2, + "line": 75 + }, + "start": { + "column": 114, + "line": 73 + } + } + }, + { + "id": "805", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4744064/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1751:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "static": false, + "testsCompleted": 37, + "killedBy": [ + "258" + ], + "coveredBy": [ + "257", + "258", + "259", + "286", + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530", + "564", + "565", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" + ], + "location": { + "end": { + "column": 104, + "line": 74 + }, + "start": { + "column": 28, + "line": 74 + } + } + }, + { + "id": "953", + "mutatorName": "UpdateOperator", + "replacement": "count--", + "statusReason": "Hit limit reached (1507/1500)", + "status": "Timeout", + "static": false, + "coveredBy": [ + "408", + "409", + "410", + "411", + "588", + "590", + "594", + "595", + "597" + ], + "location": { + "end": { + "column": 12, + "line": 172 + }, + "start": { + "column": 5, + "line": 172 + } + } + }, + { + "id": "933", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'position')\n at getNearestAliveNeighbor (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4744064/src/modules/game/helpers/game.helper.ts:398:438)\n at PlayerKillerService.applyRustySwordKnightDeathOutcomes (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4744064/src/modules/game/providers/services/player/player-killer.service.ts:359:64)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4744064/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:812:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "static": false, + "testsCompleted": 7, + "killedBy": [ + "409" + ], + "coveredBy": [ + "408", + "409", + "410", + "411", + "594", + "595", + "597" + ], + "location": { + "end": { + "column": 6, + "line": 164 + }, + "start": { + "column": 27, + "line": 162 + } + } + }, + { + "id": "952", + "mutatorName": "AssignmentOperator", + "replacement": "currentIndex -= indexHeading", + "status": "Timeout", + "static": false, + "coveredBy": [ + "408", + "409", + "410", + "411", + "588", + "590", + "594", + "595", + "597" + ], + "location": { + "end": { + "column": 33, + "line": 171 + }, + "start": { + "column": 5, + "line": 171 + } + } + } + ], + "source": "import type { Types } from \"mongoose\";\nimport { createCantFindPlayerUnexpectedException, createNoCurrentGamePlayUnexpectedException } from \"../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../role/enums/role.enum\";\nimport type { CreateGamePlayerDto } from \"../dto/create-game/create-game-player/create-game-player.dto\";\nimport type { CreateGameDto } from \"../dto/create-game/create-game.dto\";\nimport { GAME_PLAY_ACTIONS } from \"../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../enums/player.enum\";\nimport type { GameAdditionalCard } from \"../schemas/game-additional-card/game-additional-card.schema\";\nimport type { Game } from \"../schemas/game.schema\";\nimport type { Player } from \"../schemas/player/player.schema\";\nimport type { GameSource, GetNearestPlayerOptions } from \"../types/game.type\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"./player/player-attribute/player-attribute.helper\";\nimport { createPlayer } from \"./player/player.factory\";\n\nfunction getPlayerDtoWithRole(game: CreateGameDto, role: ROLE_NAMES): CreateGamePlayerDto | undefined {\n return game.players.find(player => player.role.name === role);\n}\n\nfunction getPlayerWithCurrentRole(game: Game, role: ROLE_NAMES): Player | undefined {\n return game.players.find(player => player.role.current === role);\n}\n\nfunction getPlayersWithCurrentRole(game: Game, role: ROLE_NAMES): Player[] {\n return game.players.filter(player => player.role.current === role);\n}\n\nfunction getPlayersWithCurrentSide(game: Game, side: ROLE_SIDES): Player[] {\n return game.players.filter(player => player.side.current === side);\n}\n\nfunction getPlayerWithId(game: Game, id: Types.ObjectId): Player | undefined {\n return game.players.find(({ _id }) => _id.toString() === id.toString());\n}\n\nfunction getPlayerWithIdOrThrow(playerId: Types.ObjectId, game: Game, exception: Error): Player {\n const player = getPlayerWithId(game, playerId);\n if (!player) {\n throw exception;\n }\n return player;\n}\n\nfunction getPlayerWithName(game: Game, playerName: string): Player | undefined {\n return game.players.find(({ name }) => name.toString() === playerName.toString());\n}\n\nfunction getPlayerWithNameOrThrow(playerName: string, game: Game, exception: Error): Player {\n const player = getPlayerWithName(game, playerName);\n if (!player) {\n throw exception;\n }\n return player;\n}\n\nfunction getAdditionalCardWithId(cards: GameAdditionalCard[] | undefined, id: Types.ObjectId): GameAdditionalCard | undefined {\n return cards?.find(({ _id }) => _id.toString() === id.toString());\n}\n\nfunction areAllWerewolvesAlive(game: Game): boolean {\n const werewolfPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n return werewolfPlayers.length > 0 && werewolfPlayers.every(werewolf => werewolf.isAlive);\n}\n\nfunction areAllVillagersAlive(game: Game): boolean {\n const villagerPlayers = getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n return villagerPlayers.length > 0 && villagerPlayers.every(villager => villager.isAlive);\n}\n\nfunction areAllPlayersDead(game: Game): boolean {\n return game.players.length > 0 && game.players.every(({ isAlive }) => !isAlive);\n}\n\nfunction getPlayerWithActiveAttributeName(game: Game, attributeName: PLAYER_ATTRIBUTE_NAMES): Player | undefined {\n return game.players.find(player => doesPlayerHaveActiveAttributeWithName(player, attributeName, game));\n}\n\nfunction getPlayersWithActiveAttributeName(game: Game, attribute: PLAYER_ATTRIBUTE_NAMES): Player[] {\n return game.players.filter(player => doesPlayerHaveActiveAttributeWithName(player, attribute, game));\n}\n\nfunction getAlivePlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive);\n}\n\nfunction getAliveVillagerSidedPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.VILLAGERS);\n}\n\nfunction getAliveWerewolfSidedPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.WEREWOLVES);\n}\n\nfunction getLeftToCharmByPiedPiperPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CHARMED, game) &&\n player.role.current !== ROLE_NAMES.PIED_PIPER);\n}\n\nfunction getLeftToEatByWerewolvesPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.VILLAGERS &&\n !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.EATEN, game));\n}\n\nfunction getLeftToEatByWhiteWerewolfPlayers(game: Game): Player[] {\n return game.players.filter(player => player.isAlive && player.side.current === ROLE_SIDES.WEREWOLVES && player.role.current !== ROLE_NAMES.WHITE_WEREWOLF);\n}\n\nfunction getGroupOfPlayers(game: Game, group: PLAYER_GROUPS): Player[] {\n if (group === PLAYER_GROUPS.ALL) {\n return game.players;\n }\n if (group === PLAYER_GROUPS.LOVERS) {\n return getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n }\n if (group === PLAYER_GROUPS.CHARMED) {\n return getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.CHARMED);\n }\n if (group === PLAYER_GROUPS.VILLAGERS) {\n return getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS);\n }\n return getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES);\n}\n\nfunction isGameSourceRole(source: GameSource): source is ROLE_NAMES {\n return Object.values(ROLE_NAMES).includes(source as ROLE_NAMES);\n}\n\nfunction isGameSourceGroup(source: GameSource): source is PLAYER_GROUPS {\n return Object.values(PLAYER_GROUPS).includes(source as PLAYER_GROUPS);\n}\n\nfunction getNonexistentPlayerId(game: Game, candidateIds?: Types.ObjectId[]): Types.ObjectId | undefined {\n return candidateIds?.find(candidateId => !getPlayerWithId(game, candidateId));\n}\n\nfunction getNonexistentPlayer(game: Game, candidatePlayers?: Player[]): Player | undefined {\n return candidatePlayers?.find(candidatePlayer => !getPlayerWithId(game, candidatePlayer._id));\n}\n\nfunction getFoxSniffedPlayers(sniffedTargetId: Types.ObjectId, game: Game): Player[] {\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"getFoxSniffedTargets\", { gameId: game._id, playerId: sniffedTargetId });\n const sniffedTarget = getPlayerWithIdOrThrow(sniffedTargetId, game, cantFindPlayerException);\n const leftAliveNeighbor = getNearestAliveNeighbor(sniffedTarget._id, game, { direction: \"left\" });\n const rightAliveNeighbor = getNearestAliveNeighbor(sniffedTarget._id, game, { direction: \"right\" });\n const sniffedTargets = [leftAliveNeighbor, sniffedTarget, rightAliveNeighbor].filter((player): player is Player => !!player);\n return sniffedTargets.reduce((acc, target) => {\n if (!acc.some(uniqueTarget => uniqueTarget._id.toString() === target._id.toString())) {\n return [...acc, target];\n }\n return acc;\n }, []);\n}\n\nfunction getNearestAliveNeighbor(playerId: Types.ObjectId, game: Game, options: GetNearestPlayerOptions): Player | undefined {\n const alivePlayers = getAlivePlayers(game);\n alivePlayers.sort((a, b) => a.position - b.position);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"getNearestAliveNeighbor\", { gameId: game._id, playerId });\n const player = getPlayerWithIdOrThrow(playerId, game, cantFindPlayerException);\n const indexHeading = options.direction === \"left\" ? -1 : 1;\n let currentIndex = player.position + indexHeading;\n let count = 0;\n while (count < alivePlayers.length) {\n if (currentIndex < 0) {\n currentIndex = alivePlayers.length - 1;\n } else if (currentIndex >= alivePlayers.length) {\n currentIndex = 0;\n }\n const checkingNeighbor = alivePlayers[currentIndex];\n if (checkingNeighbor.position !== player.position && (options.playerSide === undefined || checkingNeighbor.side.current === options.playerSide)) {\n return checkingNeighbor;\n }\n currentIndex += indexHeading;\n count++;\n }\n}\n\nfunction getExpectedPlayersToPlay(game: Game): Player[] {\n const { currentPlay } = game;\n const mustIncludeDeadPlayersGamePlayActions = [GAME_PLAY_ACTIONS.SHOOT, GAME_PLAY_ACTIONS.BAN_VOTING, GAME_PLAY_ACTIONS.DELEGATE];\n let expectedPlayersToPlay: Player[] = [];\n if (currentPlay === null) {\n throw createNoCurrentGamePlayUnexpectedException(\"getExpectedPlayersToPlay\", { gameId: game._id });\n }\n if (isGameSourceGroup(currentPlay.source.name)) {\n expectedPlayersToPlay = getGroupOfPlayers(game, currentPlay.source.name);\n } else if (isGameSourceRole(currentPlay.source.name)) {\n expectedPlayersToPlay = getPlayersWithCurrentRole(game, currentPlay.source.name);\n } else {\n expectedPlayersToPlay = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n }\n if (!mustIncludeDeadPlayersGamePlayActions.includes(currentPlay.action)) {\n expectedPlayersToPlay = expectedPlayersToPlay.filter(player => player.isAlive);\n }\n return expectedPlayersToPlay.map(player => createPlayer(player));\n}\n\nexport {\n getPlayerDtoWithRole,\n getPlayerWithCurrentRole,\n getPlayersWithCurrentRole,\n getPlayersWithCurrentSide,\n getPlayerWithId,\n getPlayerWithIdOrThrow,\n getPlayerWithName,\n getPlayerWithNameOrThrow,\n getAdditionalCardWithId,\n areAllWerewolvesAlive,\n areAllVillagersAlive,\n areAllPlayersDead,\n getPlayerWithActiveAttributeName,\n getPlayersWithActiveAttributeName,\n getAlivePlayers,\n getAliveVillagerSidedPlayers,\n getAliveWerewolfSidedPlayers,\n getLeftToCharmByPiedPiperPlayers,\n getLeftToEatByWerewolvesPlayers,\n getLeftToEatByWhiteWerewolfPlayers,\n getGroupOfPlayers,\n isGameSourceRole,\n isGameSourceGroup,\n getNonexistentPlayerId,\n getNonexistentPlayer,\n getFoxSniffedPlayers,\n getNearestAliveNeighbor,\n getExpectedPlayersToPlay,\n};" + }, + "src/modules/game/helpers/game.mutator.ts": { + "language": "typescript", + "mutants": [ + { + "id": "977", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(12,105): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 2, + "line": 20 + }, + "start": { + "column": 110, + "line": 12 + } + } + }, + { + "id": "978", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Keely\",\n \"position\": 5162419970113536,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"49fecc8a3b4afbb30afa99e5\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "318" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 105, + "line": 14 + }, + "start": { + "column": 50, + "line": 14 + } + } + }, + { + "id": "979", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 17\n\n@@ -86,24 +86,32 @@\n },\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n- \"_id\": \"bbe26c2f2ee5def5cb1dc639\",\n- \"attributes\": Array [],\n+ \"_id\": \"ace8207f1ecdf9cff772b269\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"sheriff\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"sheriff\",\n+ },\n+ ],\n \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Nico\",\n- \"position\": 4657011367084032,\n+ \"isAlive\": false,\n+ \"name\": \"Marques\",\n+ \"position\": 5440738024226816,\n \"role\": PlayerRole {\n- \"current\": \"bear-tamer\",\n+ \"current\": \"ancient\",\n \"isRevealed\": false,\n- \"original\": \"stuttering-judge\",\n+ \"original\": \"scapegoat\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n- \"original\": \"werewolves\",\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ace8207f1ecdf9cff772b269\",\n \"attributes\": Array [\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:330:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "286" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 105, + "line": 14 + }, + "start": { + "column": 60, + "line": 14 + } + } + }, + { + "id": "980", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Brannon\",\n \"position\": 1788580450009088,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e6ad7d3eca2484fbda1eaaf7\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "318" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 105, + "line": 14 + }, + "start": { + "column": 60, + "line": 14 + } + } + }, + { + "id": "981", + "mutatorName": "EqualityOperator", + "replacement": "player._id.toString() !== playerId.toString()", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 16\n\n@@ -104,24 +104,32 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n- \"_id\": \"befbd5fd4eeefbdd15bf1c8b\",\n- \"attributes\": Array [],\n+ \"_id\": \"026efc22d68c7adccbe6bee5\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Micah\",\n- \"position\": 7124391448018944,\n+ \"name\": \"Justice\",\n+ \"position\": 5121376421675008,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"idiot\",\n \"isRevealed\": false,\n- \"original\": \"werewolf\",\n+ \"original\": \"idiot\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"6011bb8be974cbcefffebde9\",\n \"attributes\": Array [],\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:181:97)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "359" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 105, + "line": 14 + }, + "start": { + "column": 60, + "line": 14 + } + } + }, + { + "id": "982", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "SyntaxError: \"undefined\" is not valid JSON\n at JSON.parse ()\n at toJSON (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/helpers/object/object.helper.ts:11:15)\n at createPlayer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/src/modules/game/helpers/player/player.factory.ts:57:42)\n at updatePlayerInGame (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/src/modules/game/helpers/game.mutator.ts:70:42)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:20:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "848" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 23, + "line": 15 + }, + "start": { + "column": 7, + "line": 15 + } + } + }, + { + "id": "983", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Cary\",\n \"position\": 3532140855689216,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"aa1cabfc6f3ec64180c5fcad\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "318" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 23, + "line": 15 + }, + "start": { + "column": 7, + "line": 15 + } + } + }, + { + "id": "984", + "mutatorName": "EqualityOperator", + "replacement": "playerIdx === -1", + "statusReason": "SyntaxError: \"undefined\" is not valid JSON\n at JSON.parse ()\n at toJSON (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/helpers/object/object.helper.ts:11:15)\n at createPlayer (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/src/modules/game/helpers/player/player.factory.ts:57:42)\n at updatePlayerInGame (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/src/modules/game/helpers/game.mutator.ts:70:42)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:20:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 33, + "static": false, + "killedBy": [ + "848" + ], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 23, + "line": 15 + }, + "start": { + "column": 7, + "line": 15 + } + } + }, + { + "id": "985", + "mutatorName": "UnaryOperator", + "replacement": "+1", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "396", + "411", + "531", + "848", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 23, + "line": 15 + }, + "start": { + "column": 21, + "line": 15 + } + } + }, + { + "id": "986", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "366", + "396", + "411", + "531", + "849", + "850", + "852", + "853", + "858", + "859" + ], + "location": { + "end": { + "column": 4, + "line": 18 + }, + "start": { + "column": 25, + "line": 15 + } + } + }, + { + "id": "987", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(22,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "359", + "411", + "531", + "851", + "852", + "853" + ], + "location": { + "end": { + "column": 2, + "line": 30 + }, + "start": { + "column": 107, + "line": 22 + } + } + }, + { + "id": "988", + "mutatorName": "BooleanLiteral", + "replacement": "player", + "statusReason": "src/modules/game/helpers/game.mutator.ts(28,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(29,39): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "359", + "411", + "531", + "851", + "852", + "853" + ], + "location": { + "end": { + "column": 14, + "line": 25 + }, + "start": { + "column": 7, + "line": 25 + } + } + }, + { + "id": "989", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.mutator.ts(28,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(29,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "359", + "411", + "531", + "851", + "852", + "853" + ], + "location": { + "end": { + "column": 14, + "line": 25 + }, + "start": { + "column": 7, + "line": 25 + } + } + }, + { + "id": "990", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.mutator.ts(28,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(29,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "359", + "411", + "531", + "851", + "852", + "853" + ], + "location": { + "end": { + "column": 14, + "line": 25 + }, + "start": { + "column": 7, + "line": 25 + } + } + }, + { + "id": "991", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(26,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(27,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "851" + ], + "location": { + "end": { + "column": 4, + "line": 27 + }, + "start": { + "column": 16, + "line": 25 + } + } + }, + { + "id": "992", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(32,106): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "341", + "342", + "344", + "420", + "854", + "855", + "856" + ], + "location": { + "end": { + "column": 2, + "line": 41 + }, + "start": { + "column": 111, + "line": 32 + } + } + }, + { + "id": "993", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(34,3): error TS2322: Type 'void[]' is not assignable to type 'Player[]'.\n Type 'void' is not assignable to type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "341", + "342", + "344", + "420", + "854", + "855", + "856" + ], + "location": { + "end": { + "column": 4, + "line": 39 + }, + "start": { + "column": 57, + "line": 34 + } + } + }, + { + "id": "994", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 24\n\n@@ -87,11 +87,22 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"c8a5143fda3d8677aefbb894\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": PlayerAttributeActivation {\n+ \"phase\": \"day\",\n+ \"turn\": 1496963201630209,\n+ },\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"scapegoat\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Adelia\",\n \"position\": 5670815318147072,\n \"role\": PlayerRole {\n@@ -160,11 +171,22 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"cb90ca75aaeaaeb5ed4149ba\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": PlayerAttributeActivation {\n+ \"phase\": \"day\",\n+ \"turn\": 1496963201630209,\n+ },\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"scapegoat\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Carmel\",\n \"position\": 8249618146000896,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:951:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, + "static": false, + "killedBy": [ + "320" + ], + "coveredBy": [ + "320", + "341", + "342", + "344", + "420", + "854", + "855", + "856" + ], + "location": { + "end": { + "column": 39, + "line": 35 + }, + "start": { + "column": 9, + "line": 35 + } + } + }, + { + "id": "995", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "341", + "342", + "344", + "420", + "854", + "855", + "856" + ], + "location": { + "end": { + "column": 39, + "line": 35 + }, + "start": { + "column": 9, + "line": 35 + } + } + }, + { + "id": "996", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 2\n\n@@ -104,22 +104,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"fffd41dddecae9e783d1cade\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": PlayerAttributeActivation {\n- \"phase\": \"day\",\n- \"turn\": 1805866921623553,\n- },\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 2,\n- \"source\": \"scapegoat\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Bernie\",\n \"position\": 7845954440921088,\n \"role\": PlayerRole {\n@@ -132,22 +121,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"35bba6e65b4ec9b7ac7464d5\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": PlayerAttributeActivation {\n- \"phase\": \"day\",\n- \"turn\": 1805866921623553,\n- },\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 2,\n- \"source\": \"scapegoat\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Otha\",\n \"position\": 1251552253706240,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:951:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "320" + ], + "coveredBy": [ + "320", + "342", + "344", + "420", + "855", + "856" + ], + "location": { + "end": { + "column": 6, + "line": 37 + }, + "start": { + "column": 41, + "line": 35 + } + } + }, + { + "id": "997", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(43,122): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "857", + "858", + "859" + ], + "location": { + "end": { + "column": 2, + "line": 51 + }, + "start": { + "column": 127, + "line": 43 + } + } + }, + { + "id": "998", + "mutatorName": "BooleanLiteral", + "replacement": "player", + "statusReason": "src/modules/game/helpers/game.mutator.ts(49,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(49,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(50,39): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "857", + "858", + "859" + ], + "location": { + "end": { + "column": 14, + "line": 46 + }, + "start": { + "column": 7, + "line": 46 + } + } + }, + { + "id": "999", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/helpers/game.mutator.ts(49,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(49,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(50,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "857", + "858", + "859" + ], + "location": { + "end": { + "column": 14, + "line": 46 + }, + "start": { + "column": 7, + "line": 46 + } + } + }, + { + "id": "1000", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/game.mutator.ts(49,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(49,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(50,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "857", + "858", + "859" + ], + "location": { + "end": { + "column": 14, + "line": 46 + }, + "start": { + "column": 7, + "line": 46 + } + } + }, + { + "id": "1001", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(47,3): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(47,23): error TS18048: 'player' is possibly 'undefined'.\nsrc/modules/game/helpers/game.mutator.ts(48,39): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "857" + ], + "location": { + "end": { + "column": 4, + "line": 48 + }, + "start": { + "column": 16, + "line": 46 + } + } + }, + { + "id": "1002", + "mutatorName": "MethodExpression", + "replacement": "player.attributes", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "858", + "859" + ], + "location": { + "end": { + "column": 85, + "line": 49 + }, + "start": { + "column": 23, + "line": 49 + } + } + }, + { + "id": "1003", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -97,19 +97,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"9caa0396feb744270fbe59fe\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Electa\",\n \"position\": 4172886839394304,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:165:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "858" + ], + "coveredBy": [ + "286", + "858", + "859" + ], + "location": { + "end": { + "column": 84, + "line": 49 + }, + "start": { + "column": 48, + "line": 49 + } + } + }, + { + "id": "1004", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -100,10 +100,17 @@\n Player {\n \"_id\": \"eb65f5d4c76d791ab55dfbc0\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"sheriff\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"charmed\",\n \"remainingPhases\": undefined,\n \"source\": \"pied-piper\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:165:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "858" + ], + "coveredBy": [ + "286", + "858", + "859" + ], + "location": { + "end": { + "column": 84, + "line": 49 + }, + "start": { + "column": 62, + "line": 49 + } + } + }, + { + "id": "1005", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e04e50fb0a4fbb1fecba4a0c\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n \"name\": \"Herman\",\n \"position\": 2126688186007552,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/game.mutator.spec.ts:165:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "858" + ], + "coveredBy": [ + "286", + "858", + "859" + ], + "location": { + "end": { + "column": 84, + "line": 49 + }, + "start": { + "column": 62, + "line": 49 + } + } + }, + { + "id": "1006", + "mutatorName": "EqualityOperator", + "replacement": "name === attributeName", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "858", + "859" + ], + "location": { + "end": { + "column": 84, + "line": 49 + }, + "start": { + "column": 62, + "line": 49 + } + } + }, + { + "id": "1007", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(53,69): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "305", + "403", + "404", + "415", + "425", + "530", + "860", + "861" + ], + "location": { + "end": { + "column": 2, + "line": 57 + }, + "start": { + "column": 74, + "line": 53 + } + } + }, + { + "id": "1008", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/game.mutator.ts(59,68): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "303", + "862", + "863" + ], + "location": { + "end": { + "column": 2, + "line": 63 + }, + "start": { + "column": 73, + "line": 59 + } + } + } + ], + "source": "import type { Types } from \"mongoose\";\nimport type { PLAYER_ATTRIBUTE_NAMES } from \"../enums/player.enum\";\nimport type { GamePlay } from \"../schemas/game-play/game-play.schema\";\nimport type { Game } from \"../schemas/game.schema\";\nimport type { PlayerAttribute } from \"../schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../schemas/player/player.schema\";\nimport { createGame } from \"./game.factory\";\nimport { getPlayerWithId } from \"./game.helper\";\nimport { createPlayerAttribute } from \"./player/player-attribute/player-attribute.factory\";\nimport { createPlayer } from \"./player/player.factory\";\n\nfunction updatePlayerInGame(playerId: Types.ObjectId, playerDataToUpdate: Partial, game: Game): Game {\n const clonedGame = createGame(game);\n const playerIdx = clonedGame.players.findIndex(player => player._id.toString() === playerId.toString());\n if (playerIdx !== -1) {\n const clonedPlayer = createPlayer(clonedGame.players[playerIdx]);\n clonedGame.players.splice(playerIdx, 1, createPlayer(Object.assign(clonedPlayer, playerDataToUpdate)));\n }\n return clonedGame;\n}\n\nfunction addPlayerAttributeInGame(playerId: Types.ObjectId, game: Game, attribute: PlayerAttribute): Game {\n const clonedGame = createGame(game);\n const player = getPlayerWithId(clonedGame, playerId);\n if (!player) {\n return clonedGame;\n }\n player.attributes.push(createPlayerAttribute(attribute));\n return updatePlayerInGame(playerId, player, clonedGame);\n}\n\nfunction addPlayersAttributeInGame(playerIds: Types.ObjectId[], game: Game, attribute: PlayerAttribute): Game {\n const clonedGame = createGame(game);\n clonedGame.players = clonedGame.players.map(player => {\n if (playerIds.includes(player._id)) {\n player.attributes.push(createPlayerAttribute(attribute));\n }\n return player;\n });\n return clonedGame;\n}\n\nfunction removePlayerAttributeByNameInGame(playerId: Types.ObjectId, game: Game, attributeName: PLAYER_ATTRIBUTE_NAMES): Game {\n const clonedGame = createGame(game);\n const player = getPlayerWithId(clonedGame, playerId);\n if (!player) {\n return clonedGame;\n }\n player.attributes = player.attributes.filter(({ name }) => name !== attributeName);\n return updatePlayerInGame(playerId, player, clonedGame);\n}\n\nfunction prependUpcomingPlayInGame(gamePlay: GamePlay, game: Game): Game {\n const clonedGame = createGame(game);\n clonedGame.upcomingPlays.unshift(gamePlay);\n return clonedGame;\n}\n\nfunction appendUpcomingPlayInGame(gamePlay: GamePlay, game: Game): Game {\n const clonedGame = createGame(game);\n clonedGame.upcomingPlays.push(gamePlay);\n return clonedGame;\n}\n\nexport {\n updatePlayerInGame,\n addPlayerAttributeInGame,\n addPlayersAttributeInGame,\n removePlayerAttributeByNameInGame,\n prependUpcomingPlayInGame,\n appendUpcomingPlayInGame,\n};" + }, + "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1009", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(10,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "411", + "818" + ], + "location": { + "end": { + "column": 2, + "line": 17 + }, + "start": { + "column": 127, + "line": 10 + } + } + }, + { + "id": "1010", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(11,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "411", + "818" + ], + "location": { + "end": { + "column": 4, + "line": 16 + }, + "start": { + "column": 32, + "line": 11 + } + } + }, + { + "id": "1011", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(19,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "819" + ], + "location": { + "end": { + "column": 2, + "line": 26 + }, + "start": { + "column": 115, + "line": 19 + } + } + }, + { + "id": "1012", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(20,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "819" + ], + "location": { + "end": { + "column": 4, + "line": 25 + }, + "start": { + "column": 32, + "line": 20 + } + } + }, + { + "id": "1013", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(28,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "341", + "342", + "820" + ], + "location": { + "end": { + "column": 2, + "line": 34 + }, + "start": { + "column": 115, + "line": 28 + } + } + }, + { + "id": "1014", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(29,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "341", + "342", + "820" + ], + "location": { + "end": { + "column": 4, + "line": 33 + }, + "start": { + "column": 32, + "line": 29 + } + } + }, + { + "id": "1015", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(36,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "359", + "821" + ], + "location": { + "end": { + "column": 2, + "line": 42 + }, + "start": { + "column": 110, + "line": 36 + } + } + }, + { + "id": "1016", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(37,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "359", + "821" + ], + "location": { + "end": { + "column": 4, + "line": 41 + }, + "start": { + "column": 32, + "line": 37 + } + } + }, + { + "id": "1017", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(44,112): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "822", + "823" + ], + "location": { + "end": { + "column": 2, + "line": 55 + }, + "start": { + "column": 128, + "line": 44 + } + } + }, + { + "id": "1018", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(45,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "822", + "823" + ], + "location": { + "end": { + "column": 4, + "line": 54 + }, + "start": { + "column": 32, + "line": 45 + } + } + }, + { + "id": "1019", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(49,5): error TS2739: Type '{}' is missing the following properties from type 'PlayerAttributeActivation': turn, phase\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "822", + "823" + ], + "location": { + "end": { + "column": 6, + "line": 52 + }, + "start": { + "column": 15, + "line": 49 + } + } + }, + { + "id": "1020", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "822", + "823" + ], + "location": { + "end": { + "column": 43, + "line": 50 + }, + "start": { + "column": 13, + "line": 50 + } + } + }, + { + "id": "1021", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "320", + "822", + "823" + ], + "location": { + "end": { + "column": 43, + "line": 50 + }, + "start": { + "column": 13, + "line": 50 + } + } + }, + { + "id": "1022", + "mutatorName": "EqualityOperator", + "replacement": "game.phase !== GAME_PHASES.DAY", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -108,11 +108,11 @@\n \"_id\": \"1f19a3f5eb4ec87d746932fd\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": PlayerAttributeActivation {\n \"phase\": \"day\",\n- \"turn\": 8672451017834497,\n+ \"turn\": 8672451017834496,\n },\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"cant-vote\",\n \"remainingPhases\": 1,\n \"source\": \"scapegoat\",\n@@ -136,11 +136,11 @@\n \"_id\": \"7d65e95e4ce5f51053cbe194\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": PlayerAttributeActivation {\n \"phase\": \"day\",\n- \"turn\": 8672451017834497,\n+ \"turn\": 8672451017834496,\n },\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"cant-vote\",\n \"remainingPhases\": 1,\n \"source\": \"scapegoat\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:951:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "320" + ], + "coveredBy": [ + "320", + "822", + "823" + ], + "location": { + "end": { + "column": 43, + "line": 50 + }, + "start": { + "column": 13, + "line": 50 + } + } + }, + { + "id": "1023", + "mutatorName": "ArithmeticOperator", + "replacement": "game.turn - 1", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -1,9 +1,9 @@\n PlayerAttribute {\n \"activeAt\": PlayerAttributeActivation {\n \"phase\": \"day\",\n- \"turn\": 3,\n+ \"turn\": 1,\n },\n \"doesRemainAfterDeath\": undefined,\n \"name\": \"cant-vote\",\n \"remainingPhases\": 1,\n \"source\": \"scapegoat\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts:70:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "822" + ], + "coveredBy": [ + "822" + ], + "location": { + "end": { + "column": 59, + "line": 50 + }, + "start": { + "column": 46, + "line": 50 + } + } + }, + { + "id": "1024", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(57,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "330", + "824" + ], + "location": { + "end": { + "column": 2, + "line": 64 + }, + "start": { + "column": 111, + "line": 57 + } + } + }, + { + "id": "1025", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(58,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "330", + "824" + ], + "location": { + "end": { + "column": 4, + "line": 63 + }, + "start": { + "column": 32, + "line": 58 + } + } + }, + { + "id": "1026", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -90,11 +90,11 @@\n Player {\n \"_id\": \"178db4d73925f627cb9a63af\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"fox\",\n },\n ],\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "330" + ], + "coveredBy": [ + "330", + "824" + ], + "location": { + "end": { + "column": 31, + "line": 61 + }, + "start": { + "column": 27, + "line": 61 + } + } + }, + { + "id": "1027", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(66,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "369", + "395", + "420", + "825" + ], + "location": { + "end": { + "column": 2, + "line": 73 + }, + "start": { + "column": 115, + "line": 66 + } + } + }, + { + "id": "1028", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(67,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "369", + "395", + "420", + "825" + ], + "location": { + "end": { + "column": 4, + "line": 72 + }, + "start": { + "column": 32, + "line": 67 + } + } + }, + { + "id": "1029", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts:94:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "825" + ], + "coveredBy": [ + "369", + "395", + "420", + "825" + ], + "location": { + "end": { + "column": 31, + "line": 70 + }, + "start": { + "column": 27, + "line": 70 + } + } + }, + { + "id": "1030", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(75,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "325", + "392", + "393", + "394", + "395", + "396", + "826" + ], + "location": { + "end": { + "column": 2, + "line": 81 + }, + "start": { + "column": 117, + "line": 75 + } + } + }, + { + "id": "1031", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(76,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "325", + "392", + "393", + "394", + "395", + "396", + "826" + ], + "location": { + "end": { + "column": 4, + "line": 80 + }, + "start": { + "column": 32, + "line": 76 + } + } + }, + { + "id": "1032", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(83,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "344", + "827" + ], + "location": { + "end": { + "column": 2, + "line": 89 + }, + "start": { + "column": 110, + "line": 83 + } + } + }, + { + "id": "1033", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(84,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "344", + "827" + ], + "location": { + "end": { + "column": 4, + "line": 88 + }, + "start": { + "column": 32, + "line": 84 + } + } + }, + { + "id": "1034", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(91,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "332", + "828" + ], + "location": { + "end": { + "column": 2, + "line": 98 + }, + "start": { + "column": 113, + "line": 91 + } + } + }, + { + "id": "1035", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(92,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "332", + "828" + ], + "location": { + "end": { + "column": 4, + "line": 97 + }, + "start": { + "column": 32, + "line": 92 + } + } + }, + { + "id": "1036", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(100,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "334", + "829" + ], + "location": { + "end": { + "column": 2, + "line": 107 + }, + "start": { + "column": 113, + "line": 100 + } + } + }, + { + "id": "1037", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(101,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "334", + "829" + ], + "location": { + "end": { + "column": 4, + "line": 106 + }, + "start": { + "column": 32, + "line": 101 + } + } + }, + { + "id": "1038", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(109,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "338", + "339", + "830" + ], + "location": { + "end": { + "column": 2, + "line": 116 + }, + "start": { + "column": 120, + "line": 109 + } + } + }, + { + "id": "1039", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(110,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "338", + "339", + "830" + ], + "location": { + "end": { + "column": 4, + "line": 115 + }, + "start": { + "column": 32, + "line": 110 + } + } + }, + { + "id": "1040", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(118,103): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "338", + "339", + "831" + ], + "location": { + "end": { + "column": 2, + "line": 125 + }, + "start": { + "column": 119, + "line": 118 + } + } + }, + { + "id": "1041", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(119,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "338", + "339", + "831" + ], + "location": { + "end": { + "column": 4, + "line": 124 + }, + "start": { + "column": 32, + "line": 119 + } + } + }, + { + "id": "1042", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(127,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "350", + "832" + ], + "location": { + "end": { + "column": 2, + "line": 134 + }, + "start": { + "column": 114, + "line": 127 + } + } + }, + { + "id": "1043", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(128,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "350", + "832" + ], + "location": { + "end": { + "column": 4, + "line": 133 + }, + "start": { + "column": 32, + "line": 128 + } + } + }, + { + "id": "1044", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(136,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "348", + "833" + ], + "location": { + "end": { + "column": 2, + "line": 143 + }, + "start": { + "column": 117, + "line": 136 + } + } + }, + { + "id": "1045", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(137,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "348", + "833" + ], + "location": { + "end": { + "column": 4, + "line": 142 + }, + "start": { + "column": 32, + "line": 137 + } + } + }, + { + "id": "1046", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(145,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "352", + "353", + "354", + "355", + "834" + ], + "location": { + "end": { + "column": 2, + "line": 152 + }, + "start": { + "column": 114, + "line": 145 + } + } + }, + { + "id": "1047", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(146,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "352", + "353", + "354", + "355", + "834" + ], + "location": { + "end": { + "column": 4, + "line": 151 + }, + "start": { + "column": 32, + "line": 146 + } + } + }, + { + "id": "1048", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(154,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "346", + "531", + "835" + ], + "location": { + "end": { + "column": 2, + "line": 161 + }, + "start": { + "column": 107, + "line": 154 + } + } + }, + { + "id": "1049", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(155,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "346", + "531", + "835" + ], + "location": { + "end": { + "column": 4, + "line": 160 + }, + "start": { + "column": 32, + "line": 155 + } + } + }, + { + "id": "1050", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(163,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "836" + ], + "location": { + "end": { + "column": 2, + "line": 170 + }, + "start": { + "column": 113, + "line": 163 + } + } + }, + { + "id": "1051", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(164,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "836" + ], + "location": { + "end": { + "column": 4, + "line": 169 + }, + "start": { + "column": 32, + "line": 164 + } + } + }, + { + "id": "1052", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"sheriff\",\n \"remainingPhases\": undefined,\n \"source\": \"sheriff\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts:224:55)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "836" + ], + "coveredBy": [ + "286", + "836" + ], + "location": { + "end": { + "column": 31, + "line": 167 + }, + "start": { + "column": 27, + "line": 167 + } + } + }, + { + "id": "1053", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(172,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "306", + "311", + "837" + ], + "location": { + "end": { + "column": 2, + "line": 179 + }, + "start": { + "column": 109, + "line": 172 + } + } + }, + { + "id": "1054", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(173,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerAttribute'.\n Type '{}' is missing the following properties from type 'PlayerAttribute': name, source\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "306", + "311", + "837" + ], + "location": { + "end": { + "column": 4, + "line": 178 + }, + "start": { + "column": 32, + "line": 173 + } + } + }, + { + "id": "1055", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -90,11 +90,11 @@\n Player {\n \"_id\": \"e50fa42ad6d4e4a1d4bcee2e\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n+ \"doesRemainAfterDeath\": false,\n \"name\": \"sheriff\",\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n ],\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:683:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "306" + ], + "coveredBy": [ + "306", + "311", + "837" + ], + "location": { + "end": { + "column": 31, + "line": 176 + }, + "start": { + "column": 27, + "line": 176 + } + } + }, + { + "id": "1056", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.factory.ts(181,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "320", + "325", + "330", + "332", + "334", + "338", + "339", + "341", + "342", + "344", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "359", + "369", + "392", + "393", + "394", + "395", + "396", + "411", + "420", + "531", + "818", + "819", + "820", + "821", + "822", + "823", + "824", + "825", + "826", + "827", + "828", + "829", + "830", + "831", + "832", + "833", + "834", + "835", + "836", + "837", + "838", + "852", + "853", + "855", + "856", + "867", + "868", + "869", + "871", + "872" + ], + "location": { + "end": { + "column": 2, + "line": 183 + }, + "start": { + "column": 83, + "line": 181 + } + } + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport { PlayerAttribute } from \"../../../schemas/player/player-attribute/player-attribute.schema\";\n\nfunction createContaminatedByRustySwordKnightPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CONTAMINATED,\n source: ROLE_NAMES.RUSTY_SWORD_KNIGHT,\n remainingPhases: 2,\n ...playerAttribute,\n });\n}\n\nfunction createGrowledByBearTamerPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.GROWLED,\n source: ROLE_NAMES.BEAR_TAMER,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createCharmedByPiedPiperPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CHARMED,\n source: ROLE_NAMES.PIED_PIPER,\n ...playerAttribute,\n });\n}\n\nfunction createCantVoteByAllPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CANT_VOTE,\n source: PLAYER_GROUPS.ALL,\n ...playerAttribute,\n });\n}\n\nfunction createCantVoteByScapegoatPlayerAttribute(game: Game, playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.CANT_VOTE,\n source: ROLE_NAMES.SCAPEGOAT,\n remainingPhases: 1,\n activeAt: {\n turn: game.phase === GAME_PHASES.DAY ? game.turn + 1 : game.turn,\n phase: GAME_PHASES.DAY,\n },\n ...playerAttribute,\n });\n}\n\nfunction createPowerlessByFoxPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.POWERLESS,\n source: ROLE_NAMES.FOX,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createPowerlessByAncientPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.POWERLESS,\n source: ROLE_NAMES.ANCIENT,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createWorshipedByWildChildPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.WORSHIPED,\n source: ROLE_NAMES.WILD_CHILD,\n ...playerAttribute,\n });\n}\n\nfunction createInLoveByCupidPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.IN_LOVE,\n source: ROLE_NAMES.CUPID,\n ...playerAttribute,\n });\n}\n\nfunction createRavenMarkByRavenPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.RAVEN_MARKED,\n source: ROLE_NAMES.RAVEN,\n remainingPhases: 2,\n ...playerAttribute,\n });\n}\n\nfunction createProtectedByGuardPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.PROTECTED,\n source: ROLE_NAMES.GUARD,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createDrankDeathPotionByWitchPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.DRANK_DEATH_POTION,\n source: ROLE_NAMES.WITCH,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createDrankLifePotionByWitchPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.DRANK_LIFE_POTION,\n source: ROLE_NAMES.WITCH,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createEatenByBigBadWolfPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.EATEN,\n source: ROLE_NAMES.BIG_BAD_WOLF,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createEatenByWhiteWerewolfPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.EATEN,\n source: ROLE_NAMES.WHITE_WEREWOLF,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createEatenByWerewolvesPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.EATEN,\n source: PLAYER_GROUPS.WEREWOLVES,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createSeenBySeerPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.SEEN,\n source: ROLE_NAMES.SEER,\n remainingPhases: 1,\n ...playerAttribute,\n });\n}\n\nfunction createSheriffBySheriffPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n source: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createSheriffByAllPlayerAttribute(playerAttribute: Partial = {}): PlayerAttribute {\n return createPlayerAttribute({\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n source: PLAYER_GROUPS.ALL,\n doesRemainAfterDeath: true,\n ...playerAttribute,\n });\n}\n\nfunction createPlayerAttribute(playerAttribute: PlayerAttribute): PlayerAttribute {\n return plainToInstance(PlayerAttribute, toJSON(playerAttribute), plainToInstanceDefaultOptions);\n}\n\nexport {\n createContaminatedByRustySwordKnightPlayerAttribute,\n createGrowledByBearTamerPlayerAttribute,\n createCharmedByPiedPiperPlayerAttribute,\n createCantVoteByAllPlayerAttribute,\n createCantVoteByScapegoatPlayerAttribute,\n createPowerlessByFoxPlayerAttribute,\n createPowerlessByAncientPlayerAttribute,\n createWorshipedByWildChildPlayerAttribute,\n createInLoveByCupidPlayerAttribute,\n createRavenMarkByRavenPlayerAttribute,\n createProtectedByGuardPlayerAttribute,\n createDrankDeathPotionByWitchPlayerAttribute,\n createDrankLifePotionByWitchPlayerAttribute,\n createEatenByBigBadWolfPlayerAttribute,\n createEatenByWhiteWerewolfPlayerAttribute,\n createEatenByWerewolvesPlayerAttribute,\n createSeenBySeerPlayerAttribute,\n createSheriffBySheriffPlayerAttribute,\n createSheriffByAllPlayerAttribute,\n createPlayerAttribute,\n};" + }, + "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1057", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(8,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 2, + "line": 11 + }, + "start": { + "column": 86, + "line": 8 + } + } + }, + { + "id": "1058", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:23:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, + "static": false, + "killedBy": [ + "796" + ], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 101, + "line": 10 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1059", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:18:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 93, + "static": false, + "killedBy": [ + "898" + ], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 101, + "line": 10 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1060", + "mutatorName": "LogicalOperator", + "replacement": "(activeAt === undefined || activeAt.turn < game.turn) && activeAt.turn === game.turn && (activeAt.phase === game.phase || game.phase === GAME_PHASES.DAY)", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,67): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,99): error TS18048: 'activeAt' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 101, + "line": 10 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1061", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 61, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1062", + "mutatorName": "LogicalOperator", + "replacement": "activeAt === undefined && activeAt.turn < game.turn", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,36): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 61, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1063", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,19): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 32, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1064", + "mutatorName": "EqualityOperator", + "replacement": "activeAt !== undefined", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(9,36): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,5): error TS18048: 'activeAt' is possibly 'undefined'.\nsrc/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(10,37): error TS18048: 'activeAt' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "402", + "403", + "404", + "406", + "408", + "413", + "417", + "424", + "459", + "564", + "566", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "795", + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811", + "843", + "845", + "869", + "871", + "872", + "898", + "904" + ], + "location": { + "end": { + "column": 32, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1065", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 61, + "line": 9 + }, + "start": { + "column": 36, + "line": 9 + } + } + }, + { + "id": "1066", + "mutatorName": "EqualityOperator", + "replacement": "activeAt.turn <= game.turn", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 61, + "line": 9 + }, + "start": { + "column": 36, + "line": 9 + } + } + }, + { + "id": "1067", + "mutatorName": "EqualityOperator", + "replacement": "activeAt.turn >= game.turn", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "797", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 61, + "line": 9 + }, + "start": { + "column": 36, + "line": 9 + } + } + }, + { + "id": "1068", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 101, + "line": 10 + }, + "start": { + "column": 5, + "line": 10 + } + } + }, + { + "id": "1069", + "mutatorName": "LogicalOperator", + "replacement": "activeAt.turn === game.turn || activeAt.phase === game.phase || game.phase === GAME_PHASES.DAY", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 101, + "line": 10 + }, + "start": { + "column": 5, + "line": 10 + } + } + }, + { + "id": "1070", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 32, + "line": 10 + }, + "start": { + "column": 5, + "line": 10 + } + } + }, + { + "id": "1071", + "mutatorName": "EqualityOperator", + "replacement": "activeAt.turn !== game.turn", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "796", + "798", + "799", + "800", + "807", + "808", + "810", + "811" + ], + "location": { + "end": { + "column": 32, + "line": 10 + }, + "start": { + "column": 5, + "line": 10 + } + } + }, + { + "id": "1072", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "798", + "799", + "800", + "808", + "811" + ], + "location": { + "end": { + "column": 100, + "line": 10 + }, + "start": { + "column": 37, + "line": 10 + } + } + }, + { + "id": "1073", + "mutatorName": "LogicalOperator", + "replacement": "activeAt.phase === game.phase && game.phase === GAME_PHASES.DAY", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "798", + "799", + "800", + "808", + "811" + ], + "location": { + "end": { + "column": 100, + "line": 10 + }, + "start": { + "column": 37, + "line": 10 + } + } + }, + { + "id": "1074", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "798", + "799", + "800", + "808", + "811" + ], + "location": { + "end": { + "column": 66, + "line": 10 + }, + "start": { + "column": 37, + "line": 10 + } + } + }, + { + "id": "1075", + "mutatorName": "EqualityOperator", + "replacement": "activeAt.phase !== game.phase", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "798", + "799", + "800", + "808", + "811" + ], + "location": { + "end": { + "column": 66, + "line": 10 + }, + "start": { + "column": 37, + "line": 10 + } + } + }, + { + "id": "1076", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "798", + "800" + ], + "location": { + "end": { + "column": 100, + "line": 10 + }, + "start": { + "column": 70, + "line": 10 + } + } + }, + { + "id": "1077", + "mutatorName": "EqualityOperator", + "replacement": "game.phase !== GAME_PHASES.DAY", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "798", + "800" + ], + "location": { + "end": { + "column": 100, + "line": 10 + }, + "start": { + "column": 70, + "line": 10 + } + } + }, + { + "id": "1078", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(13,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "801", + "802", + "803", + "804", + "805" + ], + "location": { + "end": { + "column": 2, + "line": 15 + }, + "start": { + "column": 129, + "line": 13 + } + } + }, + { + "id": "1079", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "801", + "802", + "803", + "804", + "805" + ], + "location": { + "end": { + "column": 62, + "line": 14 + }, + "start": { + "column": 26, + "line": 14 + } + } + }, + { + "id": "1080", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "801", + "802", + "804", + "805" + ], + "location": { + "end": { + "column": 62, + "line": 14 + }, + "start": { + "column": 40, + "line": 14 + } + } + }, + { + "id": "1081", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"powerless\", \"remainingPhases\": undefined, \"source\": \"ancient\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:64:84)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "801" + ], + "coveredBy": [ + "801", + "802", + "804", + "805" + ], + "location": { + "end": { + "column": 62, + "line": 14 + }, + "start": { + "column": 40, + "line": 14 + } + } + }, + { + "id": "1082", + "mutatorName": "EqualityOperator", + "replacement": "name !== attributeName", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "801", + "802", + "804", + "805" + ], + "location": { + "end": { + "column": 62, + "line": 14 + }, + "start": { + "column": 40, + "line": 14 + } + } + }, + { + "id": "1083", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(17,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "803", + "804", + "805" + ], + "location": { + "end": { + "column": 2, + "line": 19 + }, + "start": { + "column": 106, + "line": 17 + } + } + }, + { + "id": "1084", + "mutatorName": "BooleanLiteral", + "replacement": "!getPlayerAttributeWithName(player, attributeName)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "803", + "804", + "805" + ], + "location": { + "end": { + "column": 61, + "line": 18 + }, + "start": { + "column": 10, + "line": 18 + } + } + }, + { + "id": "1085", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerAttributeWithName(player, attributeName)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "803", + "804", + "805" + ], + "location": { + "end": { + "column": 61, + "line": 18 + }, + "start": { + "column": 11, + "line": 18 + } + } + }, + { + "id": "1086", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(21,119): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "12", + "14", + "29", + "31", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49", + "113", + "114", + "115", + "116", + "117", + "118", + "119", + "120", + "121", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "170", + "171", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", + "246", + "247", + "249", + "250", + "253", + "254", + "257", + "258", + "286", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "357", + "369", + "370", + "371", + "376", + "377", + "378", + "379", + "380", + "381", + "382", + "383", + "384", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "529", + "530", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "647", + "648", + "649", + "650", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 2, + "line": 23 + }, + "start": { + "column": 147, + "line": 21 + } + } + }, + { + "id": "1087", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "12", + "14", + "29", + "31", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49", + "113", + "114", + "115", + "116", + "117", + "118", + "119", + "120", + "121", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "170", + "171", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", + "246", + "247", + "249", + "250", + "253", + "254", + "257", + "258", + "286", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "357", + "369", + "370", + "371", + "376", + "377", + "378", + "379", + "380", + "381", + "382", + "383", + "384", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "529", + "530", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "647", + "648", + "649", + "650", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 115, + "line": 22 + }, + "start": { + "column": 26, + "line": 22 + } + } + }, + { + "id": "1088", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "413", + "417", + "424", + "459", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "904" + ], + "location": { + "end": { + "column": 115, + "line": 22 + }, + "start": { + "column": 39, + "line": 22 + } + } + }, + { + "id": "1089", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"sheriff-election\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:483:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 93, + "static": false, + "killedBy": [ + "459" + ], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "413", + "417", + "424", + "459", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "904" + ], + "location": { + "end": { + "column": 115, + "line": 22 + }, + "start": { + "column": 39, + "line": 22 + } + } + }, + { + "id": "1090", + "mutatorName": "LogicalOperator", + "replacement": "attribute.name === attributeName || isPlayerAttributeActive(attribute, game)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "413", + "417", + "424", + "459", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "904" + ], + "location": { + "end": { + "column": 115, + "line": 22 + }, + "start": { + "column": 39, + "line": 22 + } + } + }, + { + "id": "1091", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 11\n+ Received + 11\n\n Player {\n- \"_id\": \"9ffc28594bcb5dfaef8b0083\",\n+ \"_id\": \"2efca1f2706b2f1643cb9aed\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"charmed\",\n- \"remainingPhases\": undefined,\n- \"source\": \"pied-piper\",\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n },\n ],\n \"death\": undefined,\n- \"isAlive\": false,\n- \"name\": \"William\",\n- \"position\": 1215421514514432,\n+ \"isAlive\": true,\n+ \"name\": \"Al\",\n+ \"position\": 1133202215272448,\n \"role\": PlayerRole {\n- \"current\": \"idiot\",\n- \"isRevealed\": false,\n- \"original\": \"ancient\",\n+ \"current\": \"hunter\",\n+ \"isRevealed\": true,\n+ \"original\": \"vile-father-of-wolves\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n- \"original\": \"villagers\",\n+ \"original\": \"werewolves\",\n },\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/game.helper.spec.ts:292:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 92, + "static": false, + "killedBy": [ + "564" + ], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "413", + "417", + "424", + "459", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "904" + ], + "location": { + "end": { + "column": 71, + "line": 22 + }, + "start": { + "column": 39, + "line": 22 + } + } + }, + { + "id": "1092", + "mutatorName": "EqualityOperator", + "replacement": "attribute.name !== attributeName", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:217:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 93, + "static": false, + "killedBy": [ + "14" + ], + "coveredBy": [ + "11", + "14", + "43", + "113", + "116", + "146", + "148", + "168", + "170", + "171", + "178", + "185", + "190", + "201", + "247", + "250", + "253", + "258", + "286", + "292", + "295", + "296", + "369", + "378", + "380", + "381", + "382", + "383", + "393", + "394", + "395", + "396", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "413", + "417", + "424", + "459", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "648", + "649", + "650", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "681", + "685", + "686", + "714", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "724", + "725", + "726", + "806", + "807", + "808", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "904" + ], + "location": { + "end": { + "column": 71, + "line": 22 + }, + "start": { + "column": 39, + "line": 22 + } + } + }, + { + "id": "1093", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(25,116): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "12", + "14", + "29", + "31", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49", + "113", + "114", + "115", + "116", + "117", + "118", + "119", + "120", + "121", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "170", + "171", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", + "246", + "247", + "249", + "250", + "253", + "254", + "257", + "258", + "286", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "357", + "369", + "370", + "371", + "376", + "377", + "378", + "379", + "380", + "381", + "382", + "383", + "384", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "529", + "530", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "647", + "648", + "649", + "650", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 2, + "line": 27 + }, + "start": { + "column": 124, + "line": 25 + } + } + }, + { + "id": "1094", + "mutatorName": "BooleanLiteral", + "replacement": "!getActivePlayerAttributeWithName(player, attributeName, game)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "12", + "14", + "29", + "31", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49", + "113", + "114", + "115", + "116", + "117", + "118", + "119", + "120", + "121", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "170", + "171", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", + "246", + "247", + "249", + "250", + "253", + "254", + "257", + "258", + "286", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "357", + "369", + "370", + "371", + "376", + "377", + "378", + "379", + "380", + "381", + "382", + "383", + "384", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "529", + "530", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "647", + "648", + "649", + "650", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 73, + "line": 26 + }, + "start": { + "column": 10, + "line": 26 + } + } + }, + { + "id": "1095", + "mutatorName": "BooleanLiteral", + "replacement": "getActivePlayerAttributeWithName(player, attributeName, game)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "11", + "12", + "14", + "29", + "31", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49", + "113", + "114", + "115", + "116", + "117", + "118", + "119", + "120", + "121", + "136", + "137", + "144", + "145", + "146", + "147", + "148", "167", "168", "169", - "170", - "171", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", + "170", + "171", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", + "246", + "247", + "249", + "250", + "253", + "254", + "257", + "258", + "286", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "357", + "369", + "370", + "371", + "376", + "377", + "378", + "379", + "380", + "381", + "382", + "383", + "384", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "400", + "401", + "402", + "403", + "404", + "405", + "406", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "529", + "530", + "531", + "564", + "565", + "566", + "567", + "571", + "572", + "575", + "576", + "602", + "603", + "647", + "648", + "649", + "650", + "657", + "658", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "685", + "686", + "687", + "688", + "689", + "690", + "714", + "715", + "716", + "717", + "718", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726", + "809", + "810", + "811", + "842", + "843", + "844", + "845", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 73, + "line": 26 + }, + "start": { + "column": 11, + "line": 26 + } + } + }, + { + "id": "1096", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(29,139): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 2, + "line": 31 + }, + "start": { + "column": 167, + "line": 29 + } + } + }, + { + "id": "1097", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 100, + "line": 30 + }, + "start": { + "column": 26, + "line": 30 + } + } + }, + { + "id": "1098", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n+ \"name\": \"sheriff\",\n \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n+ \"source\": \"all\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:176:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "812" + ], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 100, + "line": 30 + }, + "start": { + "column": 48, + "line": 30 + } + } + }, + { + "id": "1099", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 100, + "line": 30 + }, + "start": { + "column": 48, + "line": 30 + } + } + }, + { + "id": "1100", + "mutatorName": "LogicalOperator", + "replacement": "name === attributeName || source === attributeSource", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 100, + "line": 30 + }, + "start": { + "column": 48, + "line": 30 + } + } + }, + { + "id": "1101", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 70, + "line": 30 + }, + "start": { + "column": 48, + "line": 30 + } + } + }, + { + "id": "1102", + "mutatorName": "EqualityOperator", + "replacement": "name !== attributeName", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"powerless\", \"remainingPhases\": undefined, \"source\": \"ancient\"}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts:176:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "812" + ], + "coveredBy": [ + "812", + "813", + "814", + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 70, + "line": 30 + }, + "start": { + "column": 48, + "line": 30 + } + } + }, + { + "id": "1103", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "814", + "815", + "817" + ], + "location": { + "end": { + "column": 100, + "line": 30 + }, + "start": { + "column": 74, + "line": 30 + } + } + }, + { + "id": "1104", + "mutatorName": "EqualityOperator", + "replacement": "source !== attributeSource", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "812", + "814", + "815", + "817" + ], + "location": { + "end": { + "column": 100, + "line": 30 + }, + "start": { + "column": 74, + "line": 30 + } + } + }, + { + "id": "1105", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-attribute/player-attribute.helper.ts(33,136): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 2, + "line": 35 + }, + "start": { + "column": 144, + "line": 33 + } + } + }, + { + "id": "1106", + "mutatorName": "BooleanLiteral", + "replacement": "!getPlayerAttributeWithNameAndSource(player, attributeName, attributeSource)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 87, + "line": 34 + }, + "start": { + "column": 10, + "line": 34 + } + } + }, + { + "id": "1107", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerAttributeWithNameAndSource(player, attributeName, attributeSource)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "815", + "816", + "817" + ], + "location": { + "end": { + "column": 87, + "line": 34 + }, + "start": { + "column": 11, + "line": 34 + } + } + } + ], + "source": "import { GAME_PHASES } from \"../../../enums/game.enum\";\nimport type { PLAYER_ATTRIBUTE_NAMES } from \"../../../enums/player.enum\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerAttribute } from \"../../../schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport type { GameSource } from \"../../../types/game.type\";\n\nfunction isPlayerAttributeActive({ activeAt }: PlayerAttribute, game: Game): boolean {\n return activeAt === undefined || activeAt.turn < game.turn ||\n activeAt.turn === game.turn && (activeAt.phase === game.phase || game.phase === GAME_PHASES.DAY);\n}\n\nfunction getPlayerAttributeWithName({ attributes }: Player, attributeName: PLAYER_ATTRIBUTE_NAMES): PlayerAttribute | undefined {\n return attributes.find(({ name }) => name === attributeName);\n}\n\nfunction doesPlayerHaveAttributeWithName(player: Player, attributeName: PLAYER_ATTRIBUTE_NAMES): boolean {\n return !!getPlayerAttributeWithName(player, attributeName);\n}\n\nfunction getActivePlayerAttributeWithName({ attributes }: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, game: Game): PlayerAttribute | undefined {\n return attributes.find(attribute => attribute.name === attributeName && isPlayerAttributeActive(attribute, game));\n}\n\nfunction doesPlayerHaveActiveAttributeWithName(player: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, game: Game): boolean {\n return !!getActivePlayerAttributeWithName(player, attributeName, game);\n}\n\nfunction getPlayerAttributeWithNameAndSource({ attributes }: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, attributeSource: GameSource): PlayerAttribute | undefined {\n return attributes.find(({ name, source }) => name === attributeName && source === attributeSource);\n}\n\nfunction doesPlayerHaveAttributeWithNameAndSource(player: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, attributeSource: GameSource): boolean {\n return !!getPlayerAttributeWithNameAndSource(player, attributeName, attributeSource);\n}\n\nexport {\n isPlayerAttributeActive,\n getPlayerAttributeWithName,\n doesPlayerHaveAttributeWithName,\n getActivePlayerAttributeWithName,\n doesPlayerHaveActiveAttributeWithName,\n getPlayerAttributeWithNameAndSource,\n doesPlayerHaveAttributeWithNameAndSource,\n};" + }, + "src/modules/game/helpers/player/player-death/player-death.factory.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1108", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(7,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "866", + "886" + ], + "location": { + "end": { + "column": 2, + "line": 13 + }, + "start": { + "column": 106, + "line": 7 + } + } + }, + { + "id": "1109", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(8,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "866", + "886" + ], + "location": { + "end": { + "column": 4, + "line": 12 + }, + "start": { + "column": 28, + "line": 8 + } + } + }, + { + "id": "1110", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(15,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "400", + "887" + ], + "location": { + "end": { + "column": 2, + "line": 21 + }, + "start": { + "column": 99, + "line": 15 + } + } + }, + { + "id": "1111", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(16,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "400", + "887" + ], + "location": { + "end": { + "column": 4, + "line": 20 + }, + "start": { + "column": 28, + "line": 16 + } + } + }, + { + "id": "1112", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(23,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "422", + "888" + ], + "location": { + "end": { + "column": 2, + "line": 29 + }, + "start": { + "column": 102, + "line": 23 + } + } + }, + { + "id": "1113", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(24,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "422", + "888" + ], + "location": { + "end": { + "column": 4, + "line": 28 + }, + "start": { + "column": 28, + "line": 24 + } + } + }, + { + "id": "1114", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(31,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "293", + "889" + ], + "location": { + "end": { + "column": 2, + "line": 37 + }, + "start": { + "column": 101, + "line": 31 + } + } + }, + { + "id": "1115", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(32,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "293", + "889" + ], + "location": { + "end": { + "column": 4, + "line": 36 + }, + "start": { + "column": 28, + "line": 32 + } + } + }, + { + "id": "1116", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(39,82): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "284", + "890" + ], + "location": { + "end": { + "column": 2, + "line": 45 + }, + "start": { + "column": 94, + "line": 39 + } + } + }, + { + "id": "1117", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(40,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "284", + "890" + ], + "location": { + "end": { + "column": 4, + "line": 44 + }, + "start": { + "column": 28, + "line": 40 + } + } + }, + { + "id": "1118", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(47,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "304", + "891" + ], + "location": { + "end": { + "column": 2, + "line": 53 + }, + "start": { + "column": 90, + "line": 47 + } + } + }, + { + "id": "1119", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(48,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "304", + "891" + ], + "location": { + "end": { + "column": 4, + "line": 52 + }, + "start": { + "column": 28, + "line": 48 + } + } + }, + { + "id": "1120", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(55,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "336", + "892" + ], + "location": { + "end": { + "column": 2, + "line": 61 + }, + "start": { + "column": 93, + "line": 55 + } + } + }, + { + "id": "1121", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(56,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "336", + "892" + ], + "location": { + "end": { + "column": 4, + "line": 60 + }, + "start": { + "column": 28, + "line": 56 + } + } + }, + { + "id": "1122", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(63,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "893" + ], + "location": { + "end": { + "column": 2, + "line": 69 + }, + "start": { + "column": 101, + "line": 63 + } + } + }, + { + "id": "1123", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(64,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "893" + ], + "location": { + "end": { + "column": 4, + "line": 68 + }, + "start": { + "column": 28, + "line": 64 + } + } + }, + { + "id": "1124", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(71,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "894" + ], + "location": { + "end": { + "column": 2, + "line": 77 + }, + "start": { + "column": 98, + "line": 71 + } + } + }, + { + "id": "1125", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(72,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "894" + ], + "location": { + "end": { + "column": 4, + "line": 76 + }, + "start": { + "column": 28, + "line": 72 + } + } + }, + { + "id": "1126", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(79,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "864", + "895" + ], + "location": { + "end": { + "column": 2, + "line": 85 + }, + "start": { + "column": 98, + "line": 79 + } + } + }, + { + "id": "1127", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(80,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "864", + "895" + ], + "location": { + "end": { + "column": 4, + "line": 84 + }, + "start": { + "column": 28, + "line": 80 + } + } + }, + { + "id": "1128", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(87,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "865", + "896" + ], + "location": { + "end": { + "column": 2, + "line": 93 + }, + "start": { + "column": 99, + "line": 87 + } + } + }, + { + "id": "1129", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(88,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "865", + "896" + ], + "location": { + "end": { + "column": 4, + "line": 92 + }, + "start": { + "column": 28, + "line": 88 + } + } + }, + { + "id": "1130", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(95,55): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "284", + "293", + "304", + "336", + "357", + "400", + "422", + "432", + "864", + "865", + "866", + "886", + "887", + "888", + "889", + "890", + "891", + "892", + "893", + "894", + "895", + "896", + "897" + ], + "location": { + "end": { + "column": 2, + "line": 97 + }, + "start": { + "column": 67, + "line": 95 + } + } + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { plainToInstanceDefaultOptions } from \"../../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { PlayerDeath } from \"../../../schemas/player/player-death.schema\";\n\nfunction createPlayerDiseaseByRustySwordKnightDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.DISEASE,\n source: ROLE_NAMES.RUSTY_SWORD_KNIGHT,\n ...playerDeath,\n });\n}\n\nfunction createPlayerBrokenHeartByCupidDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.BROKEN_HEART,\n source: ROLE_NAMES.CUPID,\n ...playerDeath,\n });\n}\n\nfunction createPlayerReconsiderPardonByAllDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.RECONSIDER_PARDON,\n source: PLAYER_GROUPS.ALL,\n ...playerDeath,\n });\n}\n\nfunction createPlayerVoteScapegoatedByAllDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED,\n source: PLAYER_GROUPS.ALL,\n ...playerDeath,\n });\n}\n\nfunction createPlayerVoteBySheriffDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.VOTE,\n source: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n ...playerDeath,\n });\n}\n\nfunction createPlayerVoteByAllDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.VOTE,\n source: PLAYER_GROUPS.ALL,\n ...playerDeath,\n });\n}\n\nfunction createPlayerShotByHunterDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.SHOT,\n source: ROLE_NAMES.HUNTER,\n ...playerDeath,\n });\n}\n\nfunction createPlayerEatenByWhiteWerewolfDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.EATEN,\n source: ROLE_NAMES.WHITE_WEREWOLF,\n ...playerDeath,\n });\n}\n\nfunction createPlayerEatenByBigBadWolfDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.EATEN,\n source: ROLE_NAMES.BIG_BAD_WOLF,\n ...playerDeath,\n });\n}\n\nfunction createPlayerEatenByWerewolvesDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.EATEN,\n source: PLAYER_GROUPS.WEREWOLVES,\n ...playerDeath,\n });\n}\n\nfunction createPlayerDeathPotionByWitchDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.DEATH_POTION,\n source: ROLE_NAMES.WITCH,\n ...playerDeath,\n });\n}\n\nfunction createPlayerDeath(playerDeath: PlayerDeath): PlayerDeath {\n return plainToInstance(PlayerDeath, playerDeath, plainToInstanceDefaultOptions);\n}\n\nexport {\n createPlayerDiseaseByRustySwordKnightDeath,\n createPlayerBrokenHeartByCupidDeath,\n createPlayerReconsiderPardonByAllDeath,\n createPlayerVoteScapegoatedByAllDeath,\n createPlayerVoteBySheriffDeath,\n createPlayerVoteByAllDeath,\n createPlayerShotByHunterDeath,\n createPlayerEatenByWhiteWerewolfDeath,\n createPlayerEatenByBigBadWolfDeath,\n createPlayerEatenByWerewolvesDeath,\n createPlayerDeathPotionByWitchDeath,\n createPlayerDeath,\n};" + }, + "src/modules/game/helpers/player/player.factory.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1131", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player.factory.ts(6,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "372", + "396", + "405", + "406", + "411", + "431", + "432", + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "603", + "604", + "605", + "714", + "842", + "843", + "844", + "845", + "846", + "847", + "849", + "850", + "852", + "853", + "858", + "859", + "870", + "871", + "872", + "1023" + ], + "location": { + "end": { + "column": 2, + "line": 8 + }, + "start": { + "column": 47, + "line": 6 + } + } + }, + { + "id": "1132", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "372", + "396", + "405", + "406", + "411", + "431", + "432", + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "603", + "604", + "605", + "714", + "842", + "843", + "844", + "845", + "846", + "847", + "849", + "850", + "852", + "853", + "858", + "859", + "870", + "871", + "872", + "1023" + ], + "location": { + "end": { + "column": 117, + "line": 7 + }, + "start": { + "column": 50, + "line": 7 + } + } + }, + { + "id": "1133", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "286", + "306", + "311", + "318", + "323", + "325", + "330", + "332", + "334", + "338", + "339", + "346", + "348", + "350", + "352", + "353", + "354", + "355", + "357", + "358", + "359", + "365", + "366", + "372", + "396", + "405", + "406", + "411", + "431", + "432", + "517", + "518", + "519", + "530", + "531", + "600", + "601", + "603", + "604", + "605", + "714", + "842", + "843", + "844", + "845", + "846", + "847", + "849", + "850", + "852", + "853", + "858", + "859", + "870", + "871", + "872", + "1023" + ], + "location": { + "end": { + "column": 115, + "line": 7 + }, + "start": { + "column": 111, + "line": 7 + } + } + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { Player } from \"../../schemas/player/player.schema\";\n\nfunction createPlayer(player: Player): Player {\n return plainToInstance(Player, toJSON(player), { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n}\n\nexport { createPlayer };" + }, + "src/modules/game/helpers/player/player.helper.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1134", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player.helper.ts(7,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "145", + "898", + "899", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 2, + "line": 10 + }, + "start": { + "column": 74, + "line": 7 + } + } + }, + { + "id": "1135", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:18:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "898" + ], + "coveredBy": [ + "145", + "898", + "899", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 142, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1136", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:42:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "901" + ], + "coveredBy": [ + "145", + "898", + "899", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 142, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1137", + "mutatorName": "LogicalOperator", + "replacement": "isPlayerAliveAndPowerful(piedPiperPlayer, game) || !isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:18:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "898" + ], + "coveredBy": [ + "145", + "898", + "899", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 142, + "line": 9 + }, + "start": { + "column": 10, + "line": 9 + } + } + }, + { + "id": "1138", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "145", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 141, + "line": 9 + }, + "start": { + "column": 62, + "line": 9 + } + } + }, + { + "id": "1139", + "mutatorName": "LogicalOperator", + "replacement": "!isPowerlessIfInfected && piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "145", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 141, + "line": 9 + }, + "start": { + "column": 62, + "line": 9 + } + } + }, + { + "id": "1140", + "mutatorName": "BooleanLiteral", + "replacement": "isPowerlessIfInfected", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:34:56)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "900" + ], + "coveredBy": [ + "145", + "900", + "901", + "902" + ], + "location": { + "end": { + "column": 84, + "line": 9 + }, + "start": { + "column": 62, + "line": 9 + } + } + }, + { + "id": "1141", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "145", + "900", + "902" + ], + "location": { + "end": { + "column": 141, + "line": 9 + }, + "start": { + "column": 88, + "line": 9 + } + } + }, + { + "id": "1142", + "mutatorName": "EqualityOperator", + "replacement": "piedPiperPlayer.side.current !== ROLE_SIDES.VILLAGERS", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "145", + "900", + "902" + ], + "location": { + "end": { + "column": 141, + "line": 9 + }, + "start": { + "column": 88, + "line": 9 + } + } + }, + { + "id": "1143", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player.helper.ts(12,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "29", + "31", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "168", + "169", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", "246", "247", + "249", + "250", + "253", "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", "292", "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", - "329", - "330", - "333", - "334", - "339", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "362", - "363", - "364", - "365", - "366", - "374", - "375", + "369", + "370", + "371", "376", "377", "378", "379", - "380", - "381", - "382", - "383", - "384", - "385", - "386", - "387", - "388", - "390", - "391", - "392", - "393", "395", "396", - "397", - "399", - "400", - "401", "402", "403", - "404", - "406", - "407", - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "491", - "492", - "493", - "494", - "498", - "499", - "502", - "503", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "530", + "531", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "686", + "714", + "722", + "723", + "724", + "725", + "726", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 2, + "line": 14 + }, + "start": { + "column": 64, + "line": 12 + } + } + }, + { + "id": "1144", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.POWERLESS, game)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "29", + "31", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "168", + "169", + "178", + "179", + "185", + "186", + "190", + "191", + "192", + "193", + "194", + "201", + "202", + "204", + "205", + "215", + "216", + "217", + "218", + "219", + "220", + "246", + "247", + "249", + "250", + "253", + "254", + "292", + "293", + "369", + "370", + "371", + "376", + "377", + "378", + "379", + "395", + "396", + "402", + "403", + "408", + "409", + "410", + "411", + "413", + "414", + "415", + "417", + "418", + "419", + "420", + "421", + "422", + "424", + "425", + "530", + "531", + "659", + "660", + "661", + "662", + "663", + "668", + "669", + "670", + "671", + "672", + "681", + "682", + "684", + "686", + "714", + "722", + "723", + "724", + "725", + "726", + "898", + "900", + "901", + "902", + "904", + "905" + ], + "location": { + "end": { + "column": 96, + "line": 13 + }, + "start": { + "column": 10, + "line": 13 + } + } + }, + { + "id": "1145", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player.helper.ts(16,64): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "28", + "29", + "31", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "177", + "178", + "179", + "185", + "186", + "189", + "190", + "191", + "192", + "193", + "194", + "200", + "201", + "202", + "204", + "205", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "252", + "253", + "254", + "291", + "292", + "293", + "530", + "531", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "686", + "898", + "899", + "900", + "901", + "902", + "903", + "904", + "905" + ], + "location": { + "end": { + "column": 2, + "line": 18 + }, + "start": { + "column": 72, + "line": 16 + } + } + }, + { + "id": "1146", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "28", + "29", + "31", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "177", + "178", + "179", + "185", + "186", + "189", + "190", + "191", + "192", + "193", + "194", + "200", + "201", + "202", + "204", + "205", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "252", + "253", + "254", + "291", + "292", + "293", + "530", + "531", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "686", + "898", + "899", + "900", + "901", + "902", + "903", + "904", + "905" + ], + "location": { + "end": { + "column": 58, + "line": 17 + }, + "start": { + "column": 10, + "line": 17 + } + } + }, + { + "id": "1147", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "28", + "29", + "31", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "177", + "178", + "179", + "185", + "186", + "189", + "190", + "191", + "192", + "193", + "194", + "200", + "201", + "202", + "204", + "205", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "252", + "253", + "254", + "291", + "292", + "293", + "530", + "531", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "686", + "898", + "899", + "900", + "901", + "902", + "903", + "904", + "905" + ], + "location": { + "end": { + "column": 58, + "line": 17 + }, + "start": { + "column": 10, + "line": 17 + } + } + }, + { + "id": "1148", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || isPlayerPowerful(player, game)", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n Array [\n GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 61, + "static": false, + "killedBy": [ + "146" + ], + "coveredBy": [ + "28", + "29", + "31", + "135", + "136", + "137", + "144", + "145", + "146", + "147", + "148", + "167", + "168", + "169", + "177", + "178", + "179", + "185", + "186", + "189", + "190", + "191", + "192", + "193", + "194", + "200", + "201", + "202", + "204", + "205", + "214", + "215", + "216", + "217", + "218", + "219", + "220", + "252", + "253", + "254", + "291", + "292", + "293", + "530", + "531", + "658", + "659", + "660", + "661", + "662", + "663", + "681", + "686", + "898", + "899", + "900", + "901", + "902", + "903", + "904", + "905" + ], + "location": { + "end": { + "column": 58, + "line": 17 + }, + "start": { + "column": 10, + "line": 17 + } + } + }, + { + "id": "1149", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player.helper.ts(18,52): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "906", + "907" + ], + "location": { + "end": { + "column": 2, + "line": 22 + }, + "start": { + "column": 60, + "line": 20 + } + } + }, + { + "id": "1150", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:63:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "906" + ], + "coveredBy": [ + "906", + "907" + ], + "location": { + "end": { + "column": 55, + "line": 21 + }, + "start": { + "column": 10, + "line": 21 + } + } + }, + { + "id": "1151", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:67:78)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "907" + ], + "coveredBy": [ + "906", + "907" + ], + "location": { + "end": { + "column": 55, + "line": 21 + }, + "start": { + "column": 10, + "line": 21 + } + } + }, + { + "id": "1152", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.WEREWOLVES", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:63:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "906" + ], + "coveredBy": [ + "906", + "907" + ], + "location": { + "end": { + "column": 55, + "line": 21 + }, + "start": { + "column": 10, + "line": 21 + } + } + }, + { + "id": "1153", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/helpers/player/player.helper.ts(22,51): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "908", + "909" + ], + "location": { + "end": { + "column": 2, + "line": 26 + }, + "start": { + "column": 59, + "line": 24 + } + } + }, + { + "id": "1154", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:77:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "909" + ], + "coveredBy": [ + "908", + "909" + ], + "location": { + "end": { + "column": 54, + "line": 25 + }, + "start": { + "column": 10, + "line": 25 + } + } + }, + { + "id": "1155", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:73:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "908" + ], + "coveredBy": [ + "908", + "909" + ], + "location": { + "end": { + "column": 54, + "line": 25 + }, + "start": { + "column": 10, + "line": 25 + } + } + }, + { + "id": "1156", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:73:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "908" + ], + "coveredBy": [ + "908", + "909" + ], + "location": { + "end": { + "column": 54, + "line": 25 + }, + "start": { + "column": 10, + "line": 25 + } + } + } + ], + "source": "import { ROLE_SIDES } from \"../../../role/enums/role.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES } from \"../../enums/player.enum\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport type { Player } from \"../../schemas/player/player.schema\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"./player-attribute/player-attribute.helper\";\n\nfunction canPiedPiperCharm(piedPiperPlayer: Player, game: Game): boolean {\n const { isPowerlessIfInfected } = game.options.roles.piedPiper;\n return isPlayerAliveAndPowerful(piedPiperPlayer, game) && (!isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS);\n}\n\nfunction isPlayerPowerful(player: Player, game: Game): boolean {\n return !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.POWERLESS, game);\n}\n\nfunction isPlayerAliveAndPowerful(player: Player, game: Game): boolean {\n return player.isAlive && isPlayerPowerful(player, game);\n}\n\nfunction isPlayerOnWerewolvesSide(player: Player): boolean {\n return player.side.current === ROLE_SIDES.WEREWOLVES;\n}\n\nfunction isPlayerOnVillagersSide(player: Player): boolean {\n return player.side.current === ROLE_SIDES.VILLAGERS;\n}\n\nexport {\n canPiedPiperCharm,\n isPlayerPowerful,\n isPlayerAliveAndPowerful,\n isPlayerOnWerewolvesSide,\n isPlayerOnVillagersSide,\n};" + }, + "src/modules/game/providers/repositories/game-history-record.repository.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1157", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(16,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "534", + "535", + "606", + "607" + ], + "location": { + "end": { + "column": 4, + "line": 19 + }, + "start": { + "column": 85, + "line": 17 + } + } + }, + { + "id": "1158", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 98\n\n- Array []\n+ Array [\n+ Object {\n+ \"_id\": \"b73fcc8d8dfb9c45e93bfeed\",\n+ \"createdAt\": \"2023-08-11T23:56:27.564Z\",\n+ \"gameId\": \"e7cd62fdfba5a91eaacec7de\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"rusty-sword-knight\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"dfef3aabcf50c8beadd9113c\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Jasper\",\n+ \"position\": 2895904702988288,\n+ \"role\": Object {\n+ \"current\": \"stuttering-judge\",\n+ \"isRevealed\": false,\n+ \"original\": \"three-brothers\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 7740421763497984,\n+ \"turn\": 5194326487334912,\n+ },\n+ Object {\n+ \"_id\": \"adc8ff7db98bd6e2526fed7b\",\n+ \"createdAt\": \"2023-08-12T01:54:30.715Z\",\n+ \"gameId\": \"e7cd62fdfba5a91eaacec7de\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"sheriff\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"d63ee5556f6ec68ddeefd88d\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Jessika\",\n+ \"position\": 3377059556491264,\n+ \"role\": Object {\n+ \"current\": \"hunter\",\n+ \"isRevealed\": true,\n+ \"original\": \"dog-wolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 606219452547072,\n+ \"turn\": 5463473567825920,\n+ },\n+ Object {\n+ \"_id\": \"f738131b94d4db3ff17f0fb4\",\n+ \"createdAt\": \"2023-08-11T18:43:06.058Z\",\n+ \"gameId\": \"e7cd62fdfba5a91eaacec7de\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"stuttering-judge\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"c5beaeb1f35bba284b1558cc\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Jasen\",\n+ \"position\": 969752885329920,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": true,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 2399313521016832,\n+ \"turn\": 512329670197248,\n+ },\n+ ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:805:52)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "534" + ], + "coveredBy": [ + "534", + "535", + "606", + "607" + ], + "location": { + "end": { + "column": 55, + "line": 18 + }, + "start": { + "column": 45, + "line": 18 + } + } + }, + { + "id": "1159", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(21,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "530", + "531", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616" + ], + "location": { + "end": { + "column": 4, + "line": 23 + }, + "start": { + "column": 97, + "line": 21 + } + } + }, + { + "id": "1160", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(24,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "617", + "618", + "619" + ], + "location": { + "end": { + "column": 4, + "line": 32 + }, + "start": { + "column": 113, + "line": 25 + } + } + }, + { + "id": "1161", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "617", + "618", + "619" + ], + "location": { + "end": { + "column": 6, + "line": 30 + }, + "start": { + "column": 52, + "line": 26 + } + } + }, + { + "id": "1162", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 8\n\n@@ -1,21 +1,21 @@\n Object {\n- \"_id\": \"b671cb4019a7dc750de0f7cc\",\n- \"createdAt\": \"2022-01-01T00:00:00.000Z\",\n+ \"_id\": \"3b0af8f23c489ab2dc25e58d\",\n+ \"createdAt\": \"2020-01-01T00:00:00.000Z\",\n \"gameId\": \"ece7bdcb8cafe6e1e88f525c\",\n- \"phase\": \"night\",\n+ \"phase\": \"day\",\n \"play\": Object {\n \"action\": \"protect\",\n \"source\": Object {\n \"name\": \"guard\",\n \"players\": Array [\n Object {\n- \"_id\": \"2cbc78bddeb2316eec318854\",\n+ \"_id\": \"af3eda43eaaa38d4b89aac52\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Orville\",\n- \"position\": 8333859252862976,\n+ \"name\": \"Albina\",\n+ \"position\": 7670516286488576,\n \"role\": Object {\n \"current\": \"guard\",\n \"isRevealed\": false,\n \"original\": \"guard\",\n },\n@@ -25,8 +25,8 @@\n },\n },\n ],\n },\n },\n- \"tick\": 194091237244928,\n- \"turn\": 1129335429791744,\n+ \"tick\": 1840083615350784,\n+ \"turn\": 378585428787200,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:161:30)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "619" + ], + "coveredBy": [ + "617", + "618", + "619" + ], + "location": { + "end": { + "column": 94, + "line": 31 + }, + "start": { + "column": 67, + "line": 31 + } + } + }, + { + "id": "1163", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 8\n\n@@ -1,21 +1,21 @@\n Object {\n- \"_id\": \"84f2b9aaa1442b22ca6e8a4a\",\n- \"createdAt\": \"2022-01-01T00:00:00.000Z\",\n+ \"_id\": \"ba94fdcffb0be9d8d74f4a0f\",\n+ \"createdAt\": \"2020-01-01T00:00:00.000Z\",\n \"gameId\": \"9eb36df5da57fd67762dc758\",\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"play\": Object {\n \"action\": \"protect\",\n \"source\": Object {\n \"name\": \"guard\",\n \"players\": Array [\n Object {\n- \"_id\": \"e93e01aa56ebadd77bfbcbfa\",\n+ \"_id\": \"c4f4c7bdbae7c3b3bfb42beb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Ivory\",\n- \"position\": 6723476987576320,\n+ \"name\": \"Bernardo\",\n+ \"position\": 4613208344100864,\n \"role\": Object {\n \"current\": \"guard\",\n \"isRevealed\": false,\n \"original\": \"guard\",\n },\n@@ -25,8 +25,8 @@\n },\n },\n ],\n },\n },\n- \"tick\": 2613228039307264,\n- \"turn\": 6736192244547584,\n+ \"tick\": 5185929767550976,\n+ \"turn\": 2907786218307584,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:161:30)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "619" + ], + "coveredBy": [ + "617", + "618", + "619" + ], + "location": { + "end": { + "column": 92, + "line": 31 + }, + "start": { + "column": 75, + "line": 31 + } + } + }, + { + "id": "1164", + "mutatorName": "UnaryOperator", + "replacement": "+1", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "617", + "618", + "619" + ], + "location": { + "end": { + "column": 90, + "line": 31 + }, + "start": { + "column": 88, + "line": 31 + } + } + }, + { + "id": "1165", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(33,103): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "620", + "621", + "622", + "623" + ], + "location": { + "end": { + "column": 4, + "line": 41 + }, + "start": { + "column": 137, + "line": 34 + } + } + }, + { + "id": "1166", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toBeNull()\n\nReceived: {\"_id\": \"08b5d5454cd9ac9a18e72ea9\", \"createdAt\": 2023-08-12T09:08:54.807Z, \"gameId\": \"3fe05bf4bbd8fcf9bfa81ae7\", \"phase\": \"night\", \"play\": {\"action\": \"eat\", \"source\": {\"name\": \"werewolves\", \"players\": [{\"_id\": \"867cf7b2fa32cbaa7e10e0fc\", \"attributes\": [], \"isAlive\": true, \"name\": \"Melissa\", \"position\": 4871738110246912, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]}}, \"tick\": 986421020065792, \"turn\": 2599853538410496}\n at Object.toBeNull (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:173:128)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "620" + ], + "coveredBy": [ + "620", + "621", + "622", + "623" + ], + "location": { + "end": { + "column": 6, + "line": 39 + }, + "start": { + "column": 52, + "line": 35 + } + } + }, + { + "id": "1167", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "620", + "621", + "622", + "623" + ], + "location": { + "end": { + "column": 94, + "line": 40 + }, + "start": { + "column": 67, + "line": 40 + } + } + }, + { + "id": "1168", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "620", + "621", + "622", + "623" + ], + "location": { + "end": { + "column": 92, + "line": 40 + }, + "start": { + "column": 75, + "line": 40 + } + } + }, + { + "id": "1169", + "mutatorName": "UnaryOperator", + "replacement": "+1", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "620", + "621", + "622", + "623" + ], + "location": { + "end": { + "column": 90, + "line": 40 + }, + "start": { + "column": 88, + "line": 40 + } + } + }, + { + "id": "1170", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(42,109): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "624", + "625", + "626", + "627", + "628" + ], + "location": { + "end": { + "column": 4, + "line": 51 + }, + "start": { + "column": 138, + "line": 43 + } + } + }, + { + "id": "1171", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 136\n\n- Array []\n+ Array [\n+ Object {\n+ \"_id\": \"5a28ac246aabfa3ded979dbf\",\n+ \"createdAt\": \"2023-08-11T18:58:38.669Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"f0aff79fb9cf3f85017233b6\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Rogelio\",\n+ \"position\": 1822197966438400,\n+ \"role\": Object {\n+ \"current\": \"vile-father-of-wolves\",\n+ \"isRevealed\": false,\n+ \"original\": \"pied-piper\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ \"voting\": Object {\n+ \"result\": \"tie\",\n+ },\n+ },\n+ \"tick\": 5986320870539264,\n+ \"turn\": 987724775424000,\n+ },\n+ Object {\n+ \"_id\": \"5fed35cdc3153eafc32ea39f\",\n+ \"createdAt\": \"2023-08-11T23:22:37.964Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"4b73aaebebe98bbfc054206f\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Edwin\",\n+ \"position\": 4789997720829952,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 5262055879737344,\n+ \"turn\": 2392956449325056,\n+ },\n+ Object {\n+ \"_id\": \"6cb4a25a0f4ebbbeb1fe2ccb\",\n+ \"createdAt\": \"2023-08-12T06:16:56.857Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"2e45f8ced0f9fcfd6e71ebee\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Jacquelyn\",\n+ \"position\": 472538408812544,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 1939279469084672,\n+ \"turn\": 1360237227409408,\n+ },\n+ Object {\n+ \"_id\": \"2b84cc76c8ed03ea125d4eae\",\n+ \"createdAt\": \"2023-08-11T17:30:01.378Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"ce2e556d3bcd5ee5fa5ff1e7\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Reggie\",\n+ \"position\": 6078409260138496,\n+ \"role\": Object {\n+ \"current\": \"raven\",\n+ \"isRevealed\": true,\n+ \"original\": \"pied-piper\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"voting\": Object {\n+ \"result\": \"tie\",\n+ },\n+ },\n+ \"tick\": 4210231938646016,\n+ \"turn\": 4343912227405824,\n+ },\n+ ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:229:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, + "static": false, + "killedBy": [ + "624" + ], + "coveredBy": [ + "624", + "625", + "626", + "627", + "628" + ], + "location": { + "end": { + "column": 6, + "line": 49 + }, + "start": { + "column": 52, + "line": 44 + } + } + }, + { + "id": "1172", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(52,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "629", + "630" + ], + "location": { + "end": { + "column": 4, + "line": 60 + }, + "start": { + "column": 118, + "line": 53 + } + } + }, + { + "id": "1173", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "629", + "630" + ], + "location": { + "end": { + "column": 6, + "line": 58 + }, + "start": { + "column": 52, + "line": 54 + } + } + }, + { + "id": "1174", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "629", + "630" + ], + "location": { + "end": { + "column": 38, + "line": 57 + }, + "start": { + "column": 34, + "line": 57 + } + } + }, + { + "id": "1175", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(61,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "631", + "632" + ], + "location": { + "end": { + "column": 4, + "line": 68 + }, + "start": { + "column": 104, + "line": 62 + } + } + }, + { + "id": "1176", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 131\n\n- Array []\n+ Array [\n+ Object {\n+ \"_id\": \"e34512cd64dd073ddadcf1cb\",\n+ \"createdAt\": \"2023-08-12T06:25:02.745Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"didJudgeRequestAnotherVote\": false,\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"35fad05b5cb8d934f5a4ca91\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Matteo\",\n+ \"position\": 318035455901696,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager-villager\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 6597115706867712,\n+ \"turn\": 3853785891864576,\n+ },\n+ Object {\n+ \"_id\": \"e9dc6dffc9b31b56bd5abbf9\",\n+ \"createdAt\": \"2023-08-12T05:14:33.716Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"667b39c04dae3feaf5c14bbb\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Nellie\",\n+ \"position\": 7542245884428288,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": false,\n+ \"original\": \"witch\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 4821387740971008,\n+ \"turn\": 508472988794880,\n+ },\n+ Object {\n+ \"_id\": \"e72bebb63b2ecdcd1565c83a\",\n+ \"createdAt\": \"2023-08-12T12:21:22.438Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"0cf60c4a34d193059cdbaebd\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Devyn\",\n+ \"position\": 437658218135552,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 4207066528874496,\n+ \"turn\": 3126620745367552,\n+ },\n+ Object {\n+ \"_id\": \"dccf354bab0f16ebdadbac63\",\n+ \"createdAt\": \"2023-08-12T03:22:22.300Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"06841fd2efcfbfaa7c0c2de2\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Dale\",\n+ \"position\": 3085576643280896,\n+ \"role\": Object {\n+ \"current\": \"little-girl\",\n+ \"isRevealed\": false,\n+ \"original\": \"idiot\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 8571763602489344,\n+ \"turn\": 6836618216341504,\n+ },\n+ ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:357:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "631" + ], + "coveredBy": [ + "631", + "632" + ], + "location": { + "end": { + "column": 6, + "line": 66 + }, + "start": { + "column": 52, + "line": 63 + } + } + }, + { + "id": "1177", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "631", + "632" + ], + "location": { + "end": { + "column": 46, + "line": 65 + }, + "start": { + "column": 42, + "line": 65 + } + } + }, + { + "id": "1178", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(69,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "633", + "634" + ], + "location": { + "end": { + "column": 4, + "line": 77 + }, + "start": { + "column": 112, + "line": 70 + } + } + }, + { + "id": "1179", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "633", + "634" + ], + "location": { + "end": { + "column": 6, + "line": 75 + }, + "start": { + "column": 52, + "line": 71 + } + } + }, + { + "id": "1180", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(78,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 4, + "line": 101 + }, + "start": { + "column": 122, + "line": 79 + } + } + }, + { + "id": "1181", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 209\n\n@@ -1,7 +1,40 @@\n Array [\n Object {\n+ \"_id\": \"06a99f8d30ad1f6a30bd0013\",\n+ \"createdAt\": \"2023-01-01T00:00:00.000Z\",\n+ \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"didJudgeRequestAnotherVote\": false,\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"dbee2fcfabf0bfd9edafc2ff\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Brenda\",\n+ \"position\": 2503313650089984,\n+ \"role\": Object {\n+ \"current\": \"bear-tamer\",\n+ \"isRevealed\": true,\n+ \"original\": \"dog-wolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 5861576496119808,\n+ \"turn\": 934948357799936,\n+ },\n+ Object {\n \"_id\": \"f489c2835bfbc76658a7c49d\",\n \"createdAt\": \"2023-08-12T04:16:18.095Z\",\n \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n \"phase\": \"night\",\n \"play\": Object {\n@@ -66,10 +99,186 @@\n },\n ],\n },\n \"tick\": 8774777317621760,\n \"turn\": 6693388222988288,\n+ },\n+ Object {\n+ \"_id\": \"16edd4e2ac2b0f1c7f6df465\",\n+ \"createdAt\": \"2023-08-12T07:55:53.421Z\",\n+ \"gameId\": \"2a22d2699b1eca8ac7ad3cdd\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"70bb3954b1d188c0b8cc3fcd\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Keshawn\",\n+ \"position\": 270918274252800,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"player\": Object {\n+ \"_id\": \"c767cedabfdc6bca1efeff9c\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Eldred\",\n+ \"position\": 591979654152192,\n+ \"role\": Object {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"ancient\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 1466671061532672,\n+ \"turn\": 2403003134902272,\n+ },\n+ Object {\n+ \"_id\": \"15517de4dffdab69fb74accb\",\n+ \"createdAt\": \"2023-08-12T01:38:35.846Z\",\n+ \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"9b3d4fb2caf30fb11b1cacf3\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Stone\",\n+ \"position\": 7108858820427776,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"player\": Object {\n+ \"_id\": \"5feadc0b9a1513ceda19dee2\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Josiah\",\n+ \"position\": 5284265849782272,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 377658435174400,\n+ \"turn\": 3626584246321152,\n+ },\n+ Object {\n+ \"_id\": \"c8ecc5927f9360bea09edcfd\",\n+ \"createdAt\": \"2023-08-12T13:37:42.007Z\",\n+ \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"c433d8d331a716b943a6f622\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Gerald\",\n+ \"position\": 2777980837298176,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": false,\n+ \"original\": \"witch\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"drankPotion\": \"life\",\n+ \"player\": Object {\n+ \"_id\": \"eb80aa72a6db01f75a9aa1ab\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Ulises\",\n+ \"position\": 7773438947098624,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ Object {\n+ \"drankPotion\": \"death\",\n+ \"player\": Object {\n+ \"_id\": \"75efe9f4e27fdea73d6ef26b\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Brennan\",\n+ \"position\": 5735314951766016,\n+ \"role\": Object {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"ancient\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 2418841667764224,\n+ \"turn\": 5758230349217792,\n },\n Object {\n \"_id\": \"a0303331893dda47a5bef368\",\n \"createdAt\": \"2023-08-11T23:11:45.169Z\",\n \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:475:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "635" + ], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 6, + "line": 99 + }, + "start": { + "column": 52, + "line": 80 + } + } + }, + { + "id": "1182", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 8, + "line": 98 + }, + "start": { + "column": 12, + "line": 82 + } + } + }, + { + "id": "1183", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 157\n\n@@ -1,7 +1,40 @@\n Array [\n Object {\n+ \"_id\": \"f8f3fd2f681f1fea67a4be8e\",\n+ \"createdAt\": \"2023-01-01T00:00:00.000Z\",\n+ \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"didJudgeRequestAnotherVote\": false,\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"a317c35f0de5bfbdfcb93ebd\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Howard\",\n+ \"position\": 8776876430458880,\n+ \"role\": Object {\n+ \"current\": \"cupid\",\n+ \"isRevealed\": true,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 3754771802488832,\n+ \"turn\": 2701415269007360,\n+ },\n+ Object {\n \"_id\": \"dbdd225ed6c9edc301f1ef23\",\n \"createdAt\": \"2023-08-12T10:59:01.000Z\",\n \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n \"phase\": \"day\",\n \"play\": Object {\n@@ -66,10 +99,134 @@\n },\n ],\n },\n \"tick\": 4748375968710656,\n \"turn\": 6179435967414272,\n+ },\n+ Object {\n+ \"_id\": \"dc23c5de5a7e7af864dae6f8\",\n+ \"createdAt\": \"2023-08-12T06:07:42.960Z\",\n+ \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"1ad358c58729f222fc8e9e57\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Quinten\",\n+ \"position\": 8796719166783488,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"player\": Object {\n+ \"_id\": \"da6cfefdff4d6c9a1d9ebee5\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Chet\",\n+ \"position\": 2001190818676736,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 1890480763699200,\n+ \"turn\": 2934770782699520,\n+ },\n+ Object {\n+ \"_id\": \"35cda651eaff7a607dcabbfd\",\n+ \"createdAt\": \"2023-08-11T22:28:38.640Z\",\n+ \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"ba4fb552d9de0a5aff92cab5\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Andreane\",\n+ \"position\": 6085300270923776,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": false,\n+ \"original\": \"witch\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"drankPotion\": \"life\",\n+ \"player\": Object {\n+ \"_id\": \"45fa1d6ef6b4b2d2cf4bb7ca\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Therese\",\n+ \"position\": 4225165600751616,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ Object {\n+ \"drankPotion\": \"death\",\n+ \"player\": Object {\n+ \"_id\": \"acaddd0ae87cc79cdba6d0d1\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Harley\",\n+ \"position\": 8944172467748864,\n+ \"role\": Object {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"ancient\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 8058272120569856,\n+ \"turn\": 2467656435236864,\n },\n Object {\n \"_id\": \"7db1adee87c307157cdb5ca2\",\n \"createdAt\": \"2023-08-12T12:50:25.707Z\",\n \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:475:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "635" + ], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 10, + "line": 87 + }, + "start": { + "column": 9, + "line": 83 + } + } + }, + { + "id": "1184", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 10, + "line": 97 + }, + "start": { + "column": 9, + "line": 88 + } + } + }, + { + "id": "1185", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 72\n+ Received + 0\n\n@@ -67,78 +67,6 @@\n ],\n },\n \"tick\": 7990646971301888,\n \"turn\": 4089322657546240,\n },\n- Object {\n- \"_id\": \"e9a274e455bf3ded4c92a2ab\",\n- \"createdAt\": \"2023-08-12T14:35:49.534Z\",\n- \"gameId\": \"cdccdee38c2f3deaabfe1b0d\",\n- \"phase\": \"night\",\n- \"play\": Object {\n- \"action\": \"use-potions\",\n- \"source\": Object {\n- \"name\": \"witch\",\n- \"players\": Array [\n- Object {\n- \"_id\": \"acd0bf912a54a0bd34b19bd7\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Liliane\",\n- \"position\": 8678311968374784,\n- \"role\": Object {\n- \"current\": \"witch\",\n- \"isRevealed\": false,\n- \"original\": \"witch\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n- },\n- \"targets\": Array [\n- Object {\n- \"drankPotion\": \"death\",\n- \"player\": Object {\n- \"_id\": \"3931d0c6f83d4f6ce0a2ea1c\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Shirley\",\n- \"position\": 6278419134283776,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- },\n- Object {\n- \"drankPotion\": \"life\",\n- \"player\": Object {\n- \"_id\": \"cd44d999dc9caefb6ca59c56\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Yazmin\",\n- \"position\": 5492183316561920,\n- \"role\": Object {\n- \"current\": \"ancient\",\n- \"isRevealed\": false,\n- \"original\": \"ancient\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- },\n- ],\n- },\n- \"tick\": 696742389481472,\n- \"turn\": 5405906925780992,\n- },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:475:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "635" + ], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 12, + "line": 96 + }, + "start": { + "column": 27, + "line": 91 + } + } + }, + { + "id": "1186", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "635" + ], + "location": { + "end": { + "column": 14, + "line": 95 + }, + "start": { + "column": 25, + "line": 92 + } + } + }, + { + "id": "1187", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(103,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "636", + "637" + ], + "location": { + "end": { + "column": 4, + "line": 106 + }, + "start": { + "column": 104, + "line": 103 + } + } + }, + { + "id": "1188", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toBeNull()\n\nReceived: {\"_id\": \"b01facdfc6dceb7a0f65db5a\", \"createdAt\": \"2023-08-12T16:06:54.933Z\", \"gameId\": \"be8cc0921aeeba2b6db45fd7\", \"phase\": \"night\", \"play\": {\"action\": \"use-potions\", \"source\": {\"name\": \"witch\", \"players\": [{\"_id\": \"dbeda4b72d95e2a210633a14\", \"attributes\": [], \"isAlive\": true, \"name\": \"Sabina\", \"position\": 7217922940338176, \"role\": {\"current\": \"witch\", \"isRevealed\": false, \"original\": \"witch\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}}, \"tick\": 2022948762288128, \"turn\": 6425193419374592}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:492:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "636" + ], + "coveredBy": [ + "636", + "637" + ], + "location": { + "end": { + "column": 62, + "line": 104 + }, + "start": { + "column": 52, + "line": 104 + } + } + }, + { + "id": "1189", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "636", + "637" + ], + "location": { + "end": { + "column": 94, + "line": 105 + }, + "start": { + "column": 67, + "line": 105 + } + } + }, + { + "id": "1190", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "636", + "637" + ], + "location": { + "end": { + "column": 92, + "line": 105 + }, + "start": { + "column": 75, + "line": 105 + } + } + }, + { + "id": "1191", + "mutatorName": "UnaryOperator", + "replacement": "+1", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "636", + "637" + ], + "location": { + "end": { + "column": 90, + "line": 105 + }, + "start": { + "column": 88, + "line": 105 + } + } + }, + { + "id": "1192", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(108,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "530", + "531" + ], + "location": { + "end": { + "column": 4, + "line": 110 + }, + "start": { + "column": 131, + "line": 108 + } + } + }, + { + "id": "1193", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "530", + "531" + ], + "location": { + "end": { + "column": 68, + "line": 109 + }, + "start": { + "column": 45, + "line": 109 + } + } + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { InjectModel } from \"@nestjs/mongoose\";\nimport type { FilterQuery, Types } from \"mongoose\";\nimport { Model } from \"mongoose\";\nimport { ROLE_NAMES } from \"../../../role/enums/role.enum\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../enums/game-history-record.enum\";\nimport { GAME_PLAY_ACTIONS, WITCH_POTIONS } from \"../../enums/game-play.enum\";\nimport type { GAME_PHASES } from \"../../enums/game.enum\";\nimport type { GameHistoryRecordDocument } from \"../../schemas/game-history-record/game-history-record.schema\";\nimport { GameHistoryRecord } from \"../../schemas/game-history-record/game-history-record.schema\";\nimport type { GameHistoryRecordToInsert } from \"../../types/game-history-record.type\";\n\n@Injectable()\nexport class GameHistoryRecordRepository {\n public constructor(@InjectModel(GameHistoryRecord.name) private readonly gameHistoryRecordModel: Model) {}\n\n public async getGameHistory(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordModel.find({ gameId });\n }\n\n public async create(gameHistoryRecord: GameHistoryRecordToInsert): Promise {\n return this.gameHistoryRecordModel.create(gameHistoryRecord);\n }\n\n public async getLastGameHistoryGuardProtectsRecord(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": GAME_PLAY_ACTIONS.PROTECT,\n \"play.source.name\": ROLE_NAMES.GUARD,\n };\n return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } });\n }\n \n public async getLastGameHistoryTieInVotesRecord(gameId: Types.ObjectId, action: GAME_PLAY_ACTIONS): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": action,\n \"play.voting.result\": GAME_HISTORY_RECORD_VOTING_RESULTS.TIE,\n };\n return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } });\n }\n\n public async getGameHistoryWitchUsesSpecificPotionRecords(gameId: Types.ObjectId, potion: WITCH_POTIONS): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.source.name\": ROLE_NAMES.WITCH,\n \"play.action\": GAME_PLAY_ACTIONS.USE_POTIONS,\n \"play.targets.drankPotion\": potion,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n\n public async getGameHistoryVileFatherOfWolvesInfectedRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": GAME_PLAY_ACTIONS.EAT,\n \"play.targets.isInfected\": true,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n\n public async getGameHistoryJudgeRequestRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.didJudgeRequestAnotherVote\": true,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n \n public async getGameHistoryWerewolvesEatAncientRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": GAME_PLAY_ACTIONS.EAT,\n \"play.targets.player.role.current\": ROLE_NAMES.ANCIENT,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n\n public async getGameHistoryAncientProtectedFromWerewolvesRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n $or: [\n {\n \"play.source.name\": ROLE_NAMES.GUARD,\n \"play.action\": GAME_PLAY_ACTIONS.PROTECT,\n \"play.targets.player.role.current\": ROLE_NAMES.ANCIENT,\n },\n {\n \"play.source.name\": ROLE_NAMES.WITCH,\n \"play.action\": GAME_PLAY_ACTIONS.USE_POTIONS,\n \"play.targets\": {\n $elemMatch: {\n \"player.role.current\": ROLE_NAMES.ANCIENT,\n \"drankPotion\": WITCH_POTIONS.LIFE,\n },\n },\n },\n ],\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n \n public async getPreviousGameHistoryRecord(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = { gameId };\n return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } });\n }\n\n public async getGameHistoryPhaseRecords(gameId: Types.ObjectId, turn: number, phase: GAME_PHASES): Promise {\n return this.gameHistoryRecordModel.find({ gameId, turn, phase });\n }\n}" + }, + "src/modules/game/providers/repositories/game.repository.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1194", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game.repository.ts(12,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "482", + "483" + ], + "location": { + "end": { + "column": 4, + "line": 14 + }, + "start": { + "column": 78, + "line": 12 + } + } + }, + { + "id": "1195", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game.repository.ts(16,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "495", + "496", + "521", + "522", + "523", + "525", + "526", + "527", + "528", "529", "530", - "571", - "572", - "573", - "619", - "620", - "621", - "622", - "629", - "630", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "657", - "658", - "659", - "660", - "661", - "662", - "686", - "687", - "688", - "689", - "690", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698", - "764", - "765", - "766", - "797", - "798", - "799", - "800", - "851", - "853", - "854", - "855", - "857", - "858" + "531", + "533", + "534", + "535" + ], + "location": { + "end": { + "column": 4, + "line": 18 + }, + "start": { + "column": 81, + "line": 16 + } + } + }, + { + "id": "1196", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game.repository.ts(20,45): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519" + ], + "location": { + "end": { + "column": 4, + "line": 22 + }, + "start": { + "column": 59, + "line": 20 + } + } + }, + { + "id": "1197", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/repositories/game.repository.ts(24,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "523", + "530", + "531" + ], + "location": { + "end": { + "column": 4, + "line": 26 + }, + "start": { + "column": 132, + "line": 24 + } + } + }, + { + "id": "1198", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 98\n+ Received + 0\n\n@@ -3,108 +3,10 @@\n \"createdAt\": Any,\n \"currentPlay\": Object {\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n- \"players\": Array [\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Doudou\",\n- \"position\": 4,\n- \"role\": Object {\n- \"current\": \"cupid\",\n- \"isRevealed\": false,\n- \"original\": \"cupid\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n \"isHidden\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "517" + ], + "coveredBy": [ + "517", + "518", + "519", + "523", + "530", + "531" + ], + "location": { + "end": { + "column": 83, + "line": 25 + }, + "start": { + "column": 58, + "line": 25 + } + } + }, + { + "id": "1199", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "517", + "518", + "519", + "523", + "530", + "531" + ], + "location": { + "end": { + "column": 69, + "line": 25 + }, + "start": { + "column": 65, + "line": 25 + } + } + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { InjectModel } from \"@nestjs/mongoose\";\nimport type { FilterQuery, QueryOptions } from \"mongoose\";\nimport { Model } from \"mongoose\";\nimport type { CreateGameDto } from \"../../dto/create-game/create-game.dto\";\nimport type { GameDocument } from \"../../schemas/game.schema\";\nimport { Game } from \"../../schemas/game.schema\";\n\n@Injectable()\nexport class GameRepository {\n public constructor(@InjectModel(Game.name) private readonly gameModel: Model) {}\n public async find(filter: FilterQuery = {}): Promise {\n return this.gameModel.find(filter);\n }\n\n public async findOne(filter: FilterQuery): Promise {\n return this.gameModel.findOne(filter);\n }\n\n public async create(game: CreateGameDto): Promise {\n return this.gameModel.create(game);\n }\n\n public async updateOne(filter: FilterQuery, game: Partial, options: QueryOptions = {}): Promise {\n return this.gameModel.findOneAndUpdate(filter, game, { new: true, ...options });\n }\n}" + }, + "src/modules/game/providers/services/game-history/game-history-record.service.ts": { + "language": "typescript", + "mutants": [ + { + "id": "1200", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(37,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "435", + "530", + "531" + ], + "location": { + "end": { + "column": 4, + "line": 40 + }, + "start": { + "column": 122, + "line": 37 + } + } + }, + { + "id": "1201", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(41,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "436" + ], + "location": { + "end": { + "column": 4, + "line": 44 + }, + "start": { + "column": 113, + "line": 42 + } + } + }, + { + "id": "1202", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(45,103): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "437" + ], + "location": { + "end": { + "column": 4, + "line": 48 + }, + "start": { + "column": 137, + "line": 46 + } + } + }, + { + "id": "1203", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(49,109): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "438", + "439" + ], + "location": { + "end": { + "column": 4, + "line": 52 + }, + "start": { + "column": 138, + "line": 50 + } + } + }, + { + "id": "1204", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(53,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "440" + ], + "location": { + "end": { + "column": 4, + "line": 56 + }, + "start": { + "column": 118, + "line": 54 + } + } + }, + { + "id": "1205", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(57,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "441" + ], + "location": { + "end": { + "column": 4, + "line": 60 + }, + "start": { + "column": 104, + "line": 58 + } + } + }, + { + "id": "1206", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(61,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "442" + ], + "location": { + "end": { + "column": 4, + "line": 64 + }, + "start": { + "column": 112, + "line": 62 + } + } + }, + { + "id": "1207", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(66,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "443" ], "location": { "end": { - "column": 73, - "line": 26 + "column": 4, + "line": 68 }, "start": { - "column": 11, - "line": 26 + "column": 122, + "line": 66 } } - } - ], - "source": "import { GAME_PHASES } from \"../../../enums/game.enum\";\nimport type { PLAYER_ATTRIBUTE_NAMES } from \"../../../enums/player.enum\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerAttribute } from \"../../../schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport type { GameSource } from \"../../../types/game.type\";\n\nfunction isPlayerAttributeActive({ activeAt }: PlayerAttribute, game: Game): boolean {\n return activeAt === undefined || activeAt.turn < game.turn ||\n activeAt.turn === game.turn && (activeAt.phase === game.phase || game.phase === GAME_PHASES.DAY);\n}\n\nfunction getPlayerAttributeWithName({ attributes }: Player, attributeName: PLAYER_ATTRIBUTE_NAMES): PlayerAttribute | undefined {\n return attributes.find(({ name }) => name === attributeName);\n}\n\nfunction doesPlayerHaveAttributeWithName(player: Player, attributeName: PLAYER_ATTRIBUTE_NAMES): boolean {\n return !!getPlayerAttributeWithName(player, attributeName);\n}\n\nfunction getActivePlayerAttributeWithName({ attributes }: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, game: Game): PlayerAttribute | undefined {\n return attributes.find(attribute => attribute.name === attributeName && isPlayerAttributeActive(attribute, game));\n}\n\nfunction doesPlayerHaveActiveAttributeWithName(player: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, game: Game): boolean {\n return !!getActivePlayerAttributeWithName(player, attributeName, game);\n}\n\nfunction getPlayerAttributeWithNameAndSource({ attributes }: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, attributeSource: GameSource): PlayerAttribute | undefined {\n return attributes.find(({ name, source }) => name === attributeName && source === attributeSource);\n}\n\nfunction doesPlayerHaveAttributeWithNameAndSource(player: Player, attributeName: PLAYER_ATTRIBUTE_NAMES, attributeSource: GameSource): boolean {\n return !!getPlayerAttributeWithNameAndSource(player, attributeName, attributeSource);\n}\n\nexport {\n isPlayerAttributeActive,\n getPlayerAttributeWithName,\n doesPlayerHaveAttributeWithName,\n getActivePlayerAttributeWithName,\n doesPlayerHaveActiveAttributeWithName,\n getPlayerAttributeWithNameAndSource,\n doesPlayerHaveAttributeWithNameAndSource,\n};" - }, - "src/modules/game/helpers/player/player-death/player-death.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "986", + "id": "1208", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(7,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(70,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "832", - "839" + "444", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 13 + "column": 4, + "line": 72 }, "start": { - "column": 106, - "line": 7 + "column": 131, + "line": 70 } } }, { - "id": "987", - "mutatorName": "ObjectLiteral", + "id": "1209", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(8,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(74,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "832", - "839" + "445" ], "location": { "end": { "column": 4, - "line": 12 + "line": 76 }, "start": { - "column": 28, - "line": 8 + "column": 104, + "line": 74 } } }, { - "id": "988", + "id": "1210", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(15,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(78,119): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "382", - "840" + "446", + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 21 + "column": 4, + "line": 95 }, "start": { - "column": 99, - "line": 15 + "column": 145, + "line": 78 } } }, { - "id": "989", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(16,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1211", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "382", - "840" + "446", + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 20 + "column": 38, + "line": 79 }, "start": { - "column": 28, - "line": 16 + "column": 9, + "line": 79 } } }, { - "id": "990", + "id": "1212", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "446", + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" + ], + "location": { + "end": { + "column": 38, + "line": 79 + }, + "start": { + "column": 9, + "line": 79 + } + } + }, + { + "id": "1213", + "mutatorName": "EqualityOperator", + "replacement": "baseGame.currentPlay !== null", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 9, + "static": false, + "killedBy": [ + "530" + ], + "coveredBy": [ + "446", + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" + ], + "location": { + "end": { + "column": 38, + "line": 79 + }, + "start": { + "column": 9, + "line": 79 + } + } + }, + { + "id": "1214", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(23,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "404", - "841" + "446" ], "location": { "end": { - "column": 2, - "line": 29 + "column": 6, + "line": 81 }, "start": { - "column": 102, - "line": 23 + "column": 40, + "line": 79 } } }, { - "id": "991", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(24,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1215", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "404", - "841" + "446" ], "location": { "end": { - "column": 4, - "line": 28 + "column": 98, + "line": 80 }, "start": { - "column": 28, - "line": 24 + "column": 56, + "line": 80 } } }, { - "id": "992", - "mutatorName": "BlockStatement", + "id": "1216", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(31,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(75,100): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "165", - "842" + "446" ], "location": { "end": { - "column": 2, - "line": 37 + "column": 124, + "line": 80 }, "start": { - "column": 101, - "line": 31 + "column": 100, + "line": 80 } } }, { - "id": "993", + "id": "1217", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(32,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(82,11): error TS2739: Type '{}' is missing the following properties from type 'GameHistoryRecordToInsert': gameId, turn, phase, tick, play\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "165", - "842" + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 36 + "column": 6, + "line": 90 }, "start": { - "column": 28, - "line": 32 + "column": 66, + "line": 82 } } }, { - "id": "994", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(39,82): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1218", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "156", - "843" + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 45 + "column": 45, + "line": 91 }, "start": { - "column": 94, - "line": 39 + "column": 9, + "line": 91 } } }, { - "id": "995", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(40,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1219", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "156", - "843" + "447", + "448", + "449", + "450", + "451", + "452", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 44 + "column": 45, + "line": 91 }, "start": { - "column": 28, - "line": 40 + "column": 9, + "line": 91 } } }, { - "id": "996", + "id": "1220", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(47,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:298:102)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "451" + ], "coveredBy": [ - "176", - "844" + "451", + "530" ], "location": { "end": { - "column": 2, - "line": 53 + "column": 6, + "line": 93 }, "start": { - "column": 90, - "line": 47 + "column": 47, + "line": 91 } } }, { - "id": "997", - "mutatorName": "ObjectLiteral", + "id": "1221", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(48,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(92,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "176", - "844" + "453", + "534", + "535" ], "location": { "end": { "column": 4, - "line": 52 + "line": 99 }, "start": { - "column": 28, - "line": 48 + "column": 85, + "line": 97 } } }, { - "id": "998", + "id": "1222", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(55,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(101,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "208", - "845" + "454", + "455", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 61 + "column": 4, + "line": 108 }, "start": { - "column": 93, - "line": 55 + "column": 116, + "line": 101 } } }, { - "id": "999", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(56,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1223", + "mutatorName": "MethodExpression", + "replacement": "newPlayers", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "208", - "845" + "454", + "455", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 60 + "column": 7, + "line": 106 }, "start": { - "column": 28, - "line": 56 + "column": 32, + "line": 103 } } }, { - "id": "1000", + "id": "1224", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(63,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: [{\"_id\": \"5c5a1741a41eac34625fd219\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Hanna\", \"position\": 8726685692198912, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"331e45e3fc836a5633b5f9d1\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Seamus\", \"position\": 8889464271142912, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:334:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "454" + ], + "coveredBy": [ + "454", + "455", + "530", + "531" + ], + "location": { + "end": { + "column": 6, + "line": 106 + }, + "start": { + "column": 60, + "line": 103 + } + } + }, + { + "id": "1225", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "846" + "454", + "455", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 69 + "column": 69, + "line": 105 }, "start": { - "column": 101, - "line": 63 + "column": 14, + "line": 105 } } }, { - "id": "1001", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(64,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1226", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: [{\"_id\": \"0cffe5bf4fdcf8e463d2d4da\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Rey\", \"position\": 8774817371127808, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"9ff517f3f3a7635aeaf5a8c4\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Vincenzo\", \"position\": 8045956939382784, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:334:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "454" + ], + "coveredBy": [ + "454", + "455", + "530", + "531" + ], + "location": { + "end": { + "column": 69, + "line": 105 + }, + "start": { + "column": 14, + "line": 105 + } + } + }, + { + "id": "1227", + "mutatorName": "LogicalOperator", + "replacement": "matchingBasePlayer?.isAlive === true || !player.isAlive", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "846" + "454", + "455", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 68 + "column": 69, + "line": 105 }, "start": { - "column": 28, - "line": 64 + "column": 14, + "line": 105 } } }, { - "id": "1002", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(71,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1228", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 34\n\n@@ -31,6 +31,40 @@\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n+ Player {\n+ \"_id\": \"7bf43930ee5a731cc1fec94a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Maude\",\n+ \"position\": 2671542978740224,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"eb6f601dc3bcfb0a8ef08aae\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Clyde\",\n+ \"position\": 868944583852032,\n+ \"role\": PlayerRole {\n+ \"current\": \"angel\",\n+ \"isRevealed\": false,\n+ \"original\": \"angel\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:345:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "454" + ], + "coveredBy": [ + "454", + "455", + "530", + "531" + ], + "location": { + "end": { + "column": 50, + "line": 105 + }, + "start": { + "column": 14, + "line": 105 + } + } + }, + { + "id": "1229", + "mutatorName": "EqualityOperator", + "replacement": "matchingBasePlayer?.isAlive !== true", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "454", + "455", + "530", + "531" + ], + "location": { + "end": { + "column": 50, + "line": 105 + }, + "start": { + "column": 14, + "line": 105 + } + } + }, + { + "id": "1230", + "mutatorName": "OptionalChaining", + "replacement": "matchingBasePlayer.isAlive", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(105,14): error TS18048: 'matchingBasePlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "847" + "454", + "455", + "530", + "531" + ], + "location": { + "end": { + "column": 41, + "line": 105 + }, + "start": { + "column": 14, + "line": 105 + } + } + }, + { + "id": "1231", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "454", + "455", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 77 + "column": 50, + "line": 105 }, "start": { - "column": 98, - "line": 71 + "column": 46, + "line": 105 } } }, { - "id": "1003", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(72,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1232", + "mutatorName": "BooleanLiteral", + "replacement": "player.isAlive", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "847" + "454", + "455", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 76 + "column": 69, + "line": 105 }, "start": { - "column": 28, - "line": 72 + "column": 54, + "line": 105 } } }, { - "id": "1004", + "id": "1233", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(79,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(110,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "830", - "848" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 85 + "column": 4, + "line": 117 }, "start": { - "column": 98, - "line": 79 + "column": 120, + "line": 110 } } }, { - "id": "1005", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(80,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1234", + "mutatorName": "MethodExpression", + "replacement": "newPlayers", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 68\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"115095dc8dab8bb7b36afddb\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Wade\",\n+ \"position\": 2155764686782464,\n+ \"role\": PlayerRole {\n+ \"current\": \"bear-tamer\",\n+ \"isRevealed\": true,\n+ \"original\": \"fox\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"b675cfe470d2a331b9be3d3c\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tatum\",\n@@ -29,8 +46,59 @@\n \"original\": \"little-girl\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"faffe99b881b3c5fe65e0dfb\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Hassie\",\n+ \"position\": 5491735713021952,\n+ \"role\": PlayerRole {\n+ \"current\": \"two-sisters\",\n+ \"isRevealed\": true,\n+ \"original\": \"cupid\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"be036dd53a6614a37e6fed8a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Jazmin\",\n+ \"position\": 7339544223416320,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"big-bad-wolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"af19f17b4e93ca36c6f16aef\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Krystal\",\n+ \"position\": 7415378418335744,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "456" + ], "coveredBy": [ - "830", - "848" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 84 + "column": 7, + "line": 115 }, "start": { - "column": 28, - "line": 80 + "column": 36, + "line": 112 } } }, { - "id": "1006", + "id": "1235", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(87,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "831", - "849" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 93 + "column": 6, + "line": 115 }, "start": { - "column": 99, - "line": 87 + "column": 64, + "line": 112 } } }, { - "id": "1007", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(88,28): error TS2345: Argument of type '{}' is not assignable to parameter of type 'PlayerDeath'.\n Type '{}' is missing the following properties from type 'PlayerDeath': source, cause\n", - "status": "CompileError", + "id": "1236", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 68\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"a25950dbcdbbedeb3d12cf5e\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Antonietta\",\n+ \"position\": 8205892627464192,\n+ \"role\": PlayerRole {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": true,\n+ \"original\": \"big-bad-wolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"e38becae9ac6c20b4ff5efe2\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Malinda\",\n@@ -29,8 +46,59 @@\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"d6605e1ba9fcd18af0d7ae9b\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Raven\",\n+ \"position\": 1832361706651648,\n+ \"role\": PlayerRole {\n+ \"current\": \"wild-child\",\n+ \"isRevealed\": true,\n+ \"original\": \"two-sisters\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"79ace829faa275dacef6cc7d\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Brayan\",\n+ \"position\": 5816351132221440,\n+ \"role\": PlayerRole {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"fox\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"5a2e078b12ae4edeae0e9ece\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"London\",\n+ \"position\": 7629815165222912,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"idiot\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "456" + ], "coveredBy": [ - "831", - "849" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 92 + "column": 103, + "line": 114 }, "start": { - "column": 28, - "line": 88 + "column": 14, + "line": 114 } } }, { - "id": "1008", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player-death/player-death.factory.ts(95,55): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1237", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "156", - "165", - "176", - "208", - "339", - "382", - "404", - "414", - "830", - "831", - "832", - "839", - "840", - "841", - "842", - "843", - "844", - "845", - "846", - "847", - "848", - "849", - "850" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 97 + "column": 103, + "line": 114 }, "start": { - "column": 67, - "line": 95 + "column": 14, + "line": 114 } } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { plainToInstanceDefaultOptions } from \"../../../../../shared/validation/constants/validation.constant\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { PlayerDeath } from \"../../../schemas/player/player-death.schema\";\n\nfunction createPlayerDiseaseByRustySwordKnightDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.DISEASE,\n source: ROLE_NAMES.RUSTY_SWORD_KNIGHT,\n ...playerDeath,\n });\n}\n\nfunction createPlayerBrokenHeartByCupidDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.BROKEN_HEART,\n source: ROLE_NAMES.CUPID,\n ...playerDeath,\n });\n}\n\nfunction createPlayerReconsiderPardonByAllDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.RECONSIDER_PARDON,\n source: PLAYER_GROUPS.ALL,\n ...playerDeath,\n });\n}\n\nfunction createPlayerVoteScapegoatedByAllDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED,\n source: PLAYER_GROUPS.ALL,\n ...playerDeath,\n });\n}\n\nfunction createPlayerVoteBySheriffDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.VOTE,\n source: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n ...playerDeath,\n });\n}\n\nfunction createPlayerVoteByAllDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.VOTE,\n source: PLAYER_GROUPS.ALL,\n ...playerDeath,\n });\n}\n\nfunction createPlayerShotByHunterDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.SHOT,\n source: ROLE_NAMES.HUNTER,\n ...playerDeath,\n });\n}\n\nfunction createPlayerEatenByWhiteWerewolfDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.EATEN,\n source: ROLE_NAMES.WHITE_WEREWOLF,\n ...playerDeath,\n });\n}\n\nfunction createPlayerEatenByBigBadWolfDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.EATEN,\n source: ROLE_NAMES.BIG_BAD_WOLF,\n ...playerDeath,\n });\n}\n\nfunction createPlayerEatenByWerewolvesDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.EATEN,\n source: PLAYER_GROUPS.WEREWOLVES,\n ...playerDeath,\n });\n}\n\nfunction createPlayerDeathPotionByWitchDeath(playerDeath: Partial = {}): PlayerDeath {\n return createPlayerDeath({\n cause: PLAYER_DEATH_CAUSES.DEATH_POTION,\n source: ROLE_NAMES.WITCH,\n ...playerDeath,\n });\n}\n\nfunction createPlayerDeath(playerDeath: PlayerDeath): PlayerDeath {\n return plainToInstance(PlayerDeath, playerDeath, plainToInstanceDefaultOptions);\n}\n\nexport {\n createPlayerDiseaseByRustySwordKnightDeath,\n createPlayerBrokenHeartByCupidDeath,\n createPlayerReconsiderPardonByAllDeath,\n createPlayerVoteScapegoatedByAllDeath,\n createPlayerVoteBySheriffDeath,\n createPlayerVoteByAllDeath,\n createPlayerShotByHunterDeath,\n createPlayerEatenByWhiteWerewolfDeath,\n createPlayerEatenByBigBadWolfDeath,\n createPlayerEatenByWerewolvesDeath,\n createPlayerDeathPotionByWitchDeath,\n createPlayerDeath,\n};" - }, - "src/modules/game/helpers/player/player.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1009", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player.factory.ts(6,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1238", + "mutatorName": "LogicalOperator", + "replacement": "matchingBasePlayer?.role.isRevealed === false && player.role.isRevealed || player.isAlive", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "354", - "378", - "387", - "388", - "393", - "413", - "414", - "527", - "528", + "456", + "457", "530", - "531", - "532", - "560", - "561", - "572", - "573", - "686", - "797", - "798", - "799", - "800", - "801", - "802", - "815", - "816", - "818", - "819", - "824", - "825", - "836", - "837", - "838", - "966" + "531" ], "location": { "end": { - "column": 2, - "line": 8 + "column": 103, + "line": 114 }, "start": { - "column": 47, - "line": 6 + "column": 14, + "line": 114 } } }, { - "id": "1010", - "mutatorName": "ObjectLiteral", - "replacement": "{}", + "id": "1239", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "354", - "378", - "387", - "388", - "393", - "413", - "414", - "527", - "528", + "456", + "457", "530", - "531", - "532", - "560", - "561", - "572", - "573", - "686", - "797", - "798", - "799", - "800", - "801", - "802", - "815", - "816", - "818", - "819", - "824", - "825", - "836", - "837", - "838", - "966" + "531" ], "location": { "end": { - "column": 117, - "line": 7 + "column": 85, + "line": 114 }, "start": { - "column": 50, - "line": 7 + "column": 14, + "line": 114 } } }, { - "id": "1011", - "mutatorName": "BooleanLiteral", - "replacement": "false", + "id": "1240", + "mutatorName": "LogicalOperator", + "replacement": "matchingBasePlayer?.role.isRevealed === false || player.role.isRevealed", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "158", - "178", - "183", - "190", - "195", - "197", - "202", - "204", - "206", - "210", - "211", - "218", - "220", - "222", - "224", - "225", - "226", - "227", - "339", - "340", - "341", - "347", - "348", - "354", - "378", - "387", - "388", - "393", - "413", - "414", - "527", - "528", + "456", + "457", "530", - "531", - "532", - "560", - "561", - "572", - "573", - "686", - "797", - "798", - "799", - "800", - "801", - "802", - "815", - "816", - "818", - "819", - "824", - "825", - "836", - "837", - "838", - "966" + "531" ], "location": { "end": { - "column": 115, - "line": 7 + "column": 85, + "line": 114 }, "start": { - "column": 111, - "line": 7 + "column": 14, + "line": 114 } } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../../shared/validation/constants/validation.constant\";\nimport { Player } from \"../../schemas/player/player.schema\";\n\nfunction createPlayer(player: Player): Player {\n return plainToInstance(Player, toJSON(player), { ...plainToInstanceDefaultOptions, excludeExtraneousValues: true });\n}\n\nexport { createPlayer };" - }, - "src/modules/game/helpers/player/player.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1012", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player.helper.ts(7,66): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1241", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"134be2b2b6e84f334fc3ea62\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Lewis\",\n+ \"position\": 4146035400114176,\n+ \"role\": PlayerRole {\n+ \"current\": \"two-sisters\",\n+ \"isRevealed\": true,\n+ \"original\": \"wild-child\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"cccbb6a3caaa881ffcaadfdb\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Rubye\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "456" + ], "coveredBy": [ - "234", - "851", - "852", - "853", - "854", - "855" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 2, - "line": 10 + "column": 59, + "line": 114 }, "start": { - "column": 74, - "line": 7 + "column": 14, + "line": 114 } } }, { - "id": "1013", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "1242", + "mutatorName": "EqualityOperator", + "replacement": "matchingBasePlayer?.role.isRevealed !== false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 7\n\n Array [\n Player {\n- \"_id\": \"73eeea2eedea763aeb45be3d\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Samantha\",\n- \"position\": 2466567910588416,\n- \"role\": PlayerRole {\n- \"current\": \"two-sisters\",\n- \"isRevealed\": true,\n- \"original\": \"cupid\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"3d566648efbbc73acb26c40f\",\n+ \"_id\": \"7c5a3da9fede6d3f8fbe7aa8\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Dawson\",\n- \"position\": 5619354227965952,\n+ \"name\": \"Lenna\",\n+ \"position\": 4073938539773952,\n \"role\": PlayerRole {\n- \"current\": \"guard\",\n+ \"current\": \"vile-father-of-wolves\",\n \"isRevealed\": true,\n- \"original\": \"guard\",\n+ \"original\": \"rusty-sword-knight\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "456" + ], "coveredBy": [ - "234", - "851", - "852", - "853", - "854", - "855" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 142, - "line": 9 + "column": 59, + "line": 114 }, "start": { - "column": 10, - "line": 9 + "column": 14, + "line": 114 } } }, { - "id": "1014", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1243", + "mutatorName": "OptionalChaining", + "replacement": "matchingBasePlayer.role", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(114,14): error TS18048: 'matchingBasePlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "851", - "852", - "853", - "854", - "855" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 142, - "line": 9 + "column": 38, + "line": 114 }, "start": { - "column": 10, - "line": 9 + "column": 14, + "line": 114 } } }, { - "id": "1015", - "mutatorName": "LogicalOperator", - "replacement": "isPlayerAliveAndPowerful(piedPiperPlayer, game) || !isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", - "status": "Timeout", + "id": "1244", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 7\n\n Array [\n Player {\n- \"_id\": \"ba3bc8575dbed1cbf6b1e00b\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Valentin\",\n- \"position\": 5287829265448960,\n- \"role\": PlayerRole {\n- \"current\": \"rusty-sword-knight\",\n- \"isRevealed\": true,\n- \"original\": \"dog-wolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"8bbccba206c7e644174cfa7a\",\n+ \"_id\": \"e54a016e4cfe8f0d5cecc604\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Jack\",\n- \"position\": 3821479724580864,\n+ \"name\": \"Stuart\",\n+ \"position\": 603103231475712,\n \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n+ \"current\": \"witch\",\n \"isRevealed\": true,\n- \"original\": \"wild-child\",\n+ \"original\": \"big-bad-wolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "456" + ], "coveredBy": [ - "234", - "851", - "852", - "853", - "854", - "855" + "456", + "457", + "530", + "531" ], "location": { "end": { - "column": 142, - "line": 9 + "column": 59, + "line": 114 }, "start": { - "column": 10, - "line": 9 + "column": 54, + "line": 114 } } }, { - "id": "1016", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "1245", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(119,124): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "853", - "854", - "855" + "458", + "530", + "531" ], "location": { "end": { - "column": 141, - "line": 9 + "column": 4, + "line": 131 }, "start": { - "column": 62, - "line": 9 + "column": 146, + "line": 119 } } }, { - "id": "1017", - "mutatorName": "LogicalOperator", - "replacement": "!isPowerlessIfInfected && piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS", - "status": "Timeout", + "id": "1246", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(120,11): error TS2739: Type '{}' is missing the following properties from type 'GameHistoryRecordPlay': action, source\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "853", - "854", - "855" + "458", + "530", + "531" ], "location": { "end": { - "column": 141, - "line": 9 + "column": 6, + "line": 129 }, "start": { - "column": 62, - "line": 9 + "column": 66, + "line": 120 } } }, { - "id": "1018", - "mutatorName": "BooleanLiteral", - "replacement": "isPowerlessIfInfected", - "status": "Timeout", + "id": "1247", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,6): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "853", - "854", - "855" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 84, - "line": 9 + "column": 4, + "line": 156 }, "start": { - "column": 62, - "line": 9 + "column": 41, + "line": 137 } } }, { - "id": "1019", + "id": "1248", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -141,22 +141,6 @@\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"charmed\",\n- \"players\": undefined,\n- },\n- },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:613:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 9, "static": false, "killedBy": [ - "234" + "465" ], "coveredBy": [ - "234", - "853", - "855" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 141, - "line": 9 + "column": 16, + "line": 142 }, "start": { - "column": 88, - "line": 9 + "column": 48, + "line": 139 } } }, { - "id": "1020", - "mutatorName": "EqualityOperator", - "replacement": "piedPiperPlayer.side.current !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -141,22 +141,6 @@\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"charmed\",\n- \"players\": undefined,\n- },\n- },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1249", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:567:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 9, "static": false, "killedBy": [ - "234" + "463" ], "coveredBy": [ - "234", - "853", - "855" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 141, - "line": 9 + "column": 16, + "line": 142 }, "start": { - "column": 88, - "line": 9 + "column": 48, + "line": 139 } } }, { - "id": "1021", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player.helper.ts(12,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1250", + "mutatorName": "EqualityOperator", + "replacement": "gameHistoryRecordToInsert.deadPlayers?.some(({\n death\n}) => {\n const deathFromVoteCauses = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED];\n return death?.cause !== undefined && deathFromVoteCauses.includes(death.cause);\n}) !== true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:578:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "463" + ], "coveredBy": [ - "25", - "27", - "132", - "133", - "164", - "165", - "228", - "229", - "233", - "234", - "235", - "244", - "245", - "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", - "292", - "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", - "329", - "330", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "377", - "378", - "384", - "385", - "390", - "391", - "392", - "393", - "395", - "396", - "397", - "399", - "400", - "401", - "402", - "403", - "404", - "406", - "407", - "572", - "573", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "658", - "686", - "694", - "695", - "696", - "697", - "698", - "851", - "853", - "854", - "855", - "857", - "858" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 2, - "line": 14 + "column": 16, + "line": 142 }, "start": { - "column": 64, - "line": 12 + "column": 48, + "line": 139 } } }, { - "id": "1022", - "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.POWERLESS, game)", + "id": "1251", + "mutatorName": "MethodExpression", + "replacement": "gameHistoryRecordToInsert.deadPlayers?.every(({\n death\n}) => {\n const deathFromVoteCauses = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED];\n return death?.cause !== undefined && deathFromVoteCauses.includes(death.cause);\n})", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "25", - "27", - "132", - "133", - "164", - "165", - "228", - "229", - "233", - "234", - "235", - "244", - "245", - "254", - "255", - "261", - "262", - "266", - "267", - "268", - "269", - "270", - "277", - "278", - "280", - "281", - "291", - "292", - "293", - "294", - "295", - "296", - "322", - "323", - "325", - "326", - "329", - "330", - "351", - "352", - "353", - "358", - "359", - "360", - "361", - "377", - "378", - "384", - "385", - "390", - "391", - "392", - "393", - "395", - "396", - "397", - "399", - "400", - "401", - "402", - "403", - "404", - "406", - "407", - "572", - "573", - "631", - "632", - "633", - "634", - "635", - "640", - "641", - "642", - "643", - "644", - "653", - "654", - "656", - "658", - "686", - "694", - "695", - "696", - "697", - "698", - "851", - "853", - "854", - "855", - "857", - "858" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 96, - "line": 13 + "column": 7, + "line": 142 }, "start": { - "column": 10, - "line": 13 + "column": 48, + "line": 139 } } }, { - "id": "1023", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player.helper.ts(16,64): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1252", + "mutatorName": "OptionalChaining", + "replacement": "gameHistoryRecordToInsert.deadPlayers.some", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(139,48): error TS18048: 'gameHistoryRecordToInsert.deadPlayers' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "24", - "25", - "27", - "131", - "132", - "133", - "163", - "164", - "165", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "253", - "254", - "255", - "261", - "262", - "265", - "266", - "267", - "268", - "269", - "270", - "276", - "277", - "278", - "280", - "281", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "328", - "329", - "330", - "572", - "573", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "658", - "851", - "852", - "853", - "854", - "855", - "856", - "857", - "858" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 2, - "line": 18 + "column": 91, + "line": 139 }, "start": { - "column": 72, - "line": 16 + "column": 48, + "line": 139 } } }, { - "id": "1024", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "1253", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "24", - "25", - "27", - "131", - "132", - "133", - "163", - "164", - "165", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "253", - "254", - "255", - "261", - "262", - "265", - "266", - "267", - "268", - "269", - "270", - "276", - "277", - "278", - "280", - "281", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "328", - "329", - "330", - "572", - "573", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "658", - "851", - "852", - "853", - "854", - "855", - "856", - "857", - "858" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 58, - "line": 17 + "column": 6, + "line": 142 }, "start": { - "column": 10, - "line": 17 + "column": 107, + "line": 139 } } }, { - "id": "1025", + "id": "1254", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,73): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/player.enum\").PLAYER_DEATH_CAUSES' is not assignable to parameter of type 'never'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "461", + "462", + "463", + "464", + "465", + "466" + ], + "location": { + "end": { + "column": 99, + "line": 140 + }, + "start": { + "column": 35, + "line": 140 + } + } + }, + { + "id": "1255", "mutatorName": "ConditionalExpression", - "replacement": "false", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "24", - "25", - "27", - "131", - "132", - "133", - "163", - "164", - "165", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "253", - "254", - "255", - "261", - "262", - "265", - "266", - "267", - "268", - "269", - "270", - "276", - "277", - "278", - "280", - "281", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "328", - "329", - "330", - "572", - "573", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "658", - "851", - "852", - "853", - "854", - "855", - "856", - "857", - "858" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 58, - "line": 17 + "column": 85, + "line": 141 }, "start": { - "column": 10, - "line": 17 + "column": 14, + "line": 141 } } }, { - "id": "1026", - "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || isPlayerPowerful(player, game)", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -160,14 +160,30 @@\n \"status\": \"canceled\",\n \"tick\": 550376617017344,\n \"turn\": 5960661890760704,\n \"upcomingPlays\": Array [\n GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"eat\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:106:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1256", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:567:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 61, + "testsCompleted": 6, "static": false, "killedBy": [ - "229" + "463" ], "coveredBy": [ - "24", - "25", - "27", - "131", - "132", - "133", - "163", - "164", - "165", - "228", - "229", - "233", - "234", - "235", - "243", - "244", - "245", - "253", - "254", - "255", - "261", - "262", - "265", - "266", - "267", - "268", - "269", - "270", - "276", - "277", - "278", - "280", - "281", - "290", - "291", - "292", - "293", - "294", - "295", - "296", - "328", - "329", - "330", - "572", - "573", - "630", - "631", - "632", - "633", - "634", - "635", - "653", - "658", - "851", - "852", - "853", - "854", - "855", - "856", - "857", - "858" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 58, - "line": 17 + "column": 85, + "line": 141 }, "start": { - "column": 10, - "line": 17 + "column": 14, + "line": 141 } } }, { - "id": "1027", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player.helper.ts(18,52): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1257", + "mutatorName": "LogicalOperator", + "replacement": "death?.cause !== undefined || deathFromVoteCauses.includes(death.cause)", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,73): error TS18048: 'death' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "859", - "860" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 2, - "line": 22 + "column": 85, + "line": 141 }, "start": { - "column": 60, - "line": 20 + "column": 14, + "line": 141 } } }, { - "id": "1028", + "id": "1258", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:63:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,51): error TS18048: 'death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "859" - ], + "killedBy": [], "coveredBy": [ - "859", - "860" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 55, - "line": 21 + "column": 40, + "line": 141 }, "start": { - "column": 10, - "line": 21 + "column": 14, + "line": 141 } } }, { - "id": "1029", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:67:78)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1259", + "mutatorName": "EqualityOperator", + "replacement": "death?.cause === undefined", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,73): error TS18048: 'death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "860" - ], + "killedBy": [], "coveredBy": [ - "859", - "860" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 55, - "line": 21 + "column": 40, + "line": 141 }, "start": { - "column": 10, - "line": 21 + "column": 14, + "line": 141 } } }, { - "id": "1030", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.WEREWOLVES", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:63:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1260", + "mutatorName": "OptionalChaining", + "replacement": "death.cause", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,14): error TS18048: 'death' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(137,72): error TS18048: 'death' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "859" - ], + "killedBy": [], "coveredBy": [ - "859", - "860" + "461", + "462", + "463", + "464", + "465", + "466" ], "location": { "end": { - "column": 55, - "line": 21 + "column": 26, + "line": 141 }, "start": { - "column": 10, - "line": 21 + "column": 14, + "line": 141 } } }, { - "id": "1031", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/helpers/player/player.helper.ts(22,51): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1261", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "861", - "862" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 2, - "line": 26 + "column": 16, + "line": 142 }, "start": { - "column": 59, - "line": 24 + "column": 12, + "line": 142 } } }, { - "id": "1032", + "id": "1262", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:77:77)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(146,50): error TS18048: 'gameHistoryRecordToInsert.play.votes' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "862" - ], + "killedBy": [], "coveredBy": [ - "861", - "862" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 54, - "line": 25 + "column": 72, + "line": 143 }, "start": { - "column": 10, - "line": 25 + "column": 9, + "line": 143 } } }, { - "id": "1033", + "id": "1263", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:73:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "status": "Timeout", "static": false, - "killedBy": [ - "861" - ], + "killedBy": [], "coveredBy": [ - "861", - "862" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 54, - "line": 25 + "column": 72, + "line": 143 }, "start": { - "column": 10, - "line": 25 + "column": 9, + "line": 143 } } }, { - "id": "1034", + "id": "1264", "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts:73:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "replacement": "baseGame.currentPlay.action !== GAME_PLAY_ACTIONS.ELECT_SHERIFF", + "status": "Timeout", "static": false, - "killedBy": [ - "861" - ], + "killedBy": [], "coveredBy": [ - "861", - "862" + "459", + "460", + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 54, - "line": 25 + "column": 72, + "line": 143 }, "start": { - "column": 10, - "line": 25 + "column": 9, + "line": 143 } } - } - ], - "source": "import { ROLE_SIDES } from \"../../../role/enums/role.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES } from \"../../enums/player.enum\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport type { Player } from \"../../schemas/player/player.schema\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"./player-attribute/player-attribute.helper\";\n\nfunction canPiedPiperCharm(piedPiperPlayer: Player, game: Game): boolean {\n const { isPowerlessIfInfected } = game.options.roles.piedPiper;\n return isPlayerAliveAndPowerful(piedPiperPlayer, game) && (!isPowerlessIfInfected || piedPiperPlayer.side.current === ROLE_SIDES.VILLAGERS);\n}\n\nfunction isPlayerPowerful(player: Player, game: Game): boolean {\n return !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.POWERLESS, game);\n}\n\nfunction isPlayerAliveAndPowerful(player: Player, game: Game): boolean {\n return player.isAlive && isPlayerPowerful(player, game);\n}\n\nfunction isPlayerOnWerewolvesSide(player: Player): boolean {\n return player.side.current === ROLE_SIDES.WEREWOLVES;\n}\n\nfunction isPlayerOnVillagersSide(player: Player): boolean {\n return player.side.current === ROLE_SIDES.VILLAGERS;\n}\n\nexport {\n canPiedPiperCharm,\n isPlayerPowerful,\n isPlayerAliveAndPowerful,\n isPlayerOnWerewolvesSide,\n isPlayerOnVillagersSide,\n};" - }, - "src/modules/game/providers/repositories/game-history-record.repository.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1035", + "id": "1265", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(16,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"sheriff-election\"\nReceived: \"skipped\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:472:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "459" + ], "coveredBy": [ - "576", - "577", - "578", - "579" + "459", + "460" ], "location": { "end": { - "column": 4, - "line": 18 + "column": 6, + "line": 145 }, "start": { - "column": 85, - "line": 16 + "column": 74, + "line": 143 } } }, { - "id": "1036", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 98\n\n- Array []\n+ Array [\n+ Object {\n+ \"_id\": \"b73fcc8d8dfb9c45e93bfeed\",\n+ \"createdAt\": \"2023-08-11T23:56:27.564Z\",\n+ \"gameId\": \"e7cd62fdfba5a91eaacec7de\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"rusty-sword-knight\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"dfef3aabcf50c8beadd9113c\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Jasper\",\n+ \"position\": 2895904702988288,\n+ \"role\": Object {\n+ \"current\": \"stuttering-judge\",\n+ \"isRevealed\": false,\n+ \"original\": \"three-brothers\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 7740421763497984,\n+ \"turn\": 5194326487334912,\n+ },\n+ Object {\n+ \"_id\": \"adc8ff7db98bd6e2526fed7b\",\n+ \"createdAt\": \"2023-08-12T01:54:30.715Z\",\n+ \"gameId\": \"e7cd62fdfba5a91eaacec7de\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"sheriff\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"d63ee5556f6ec68ddeefd88d\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Jessika\",\n+ \"position\": 3377059556491264,\n+ \"role\": Object {\n+ \"current\": \"hunter\",\n+ \"isRevealed\": true,\n+ \"original\": \"dog-wolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 606219452547072,\n+ \"turn\": 5463473567825920,\n+ },\n+ Object {\n+ \"_id\": \"f738131b94d4db3ff17f0fb4\",\n+ \"createdAt\": \"2023-08-11T18:43:06.058Z\",\n+ \"gameId\": \"e7cd62fdfba5a91eaacec7de\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"stuttering-judge\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"c5beaeb1f35bba284b1558cc\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Jasen\",\n+ \"position\": 969752885329920,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": true,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 2399313521016832,\n+ \"turn\": 512329670197248,\n+ },\n+ ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:805:52)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "1266", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"skipped\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:567:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 7, "static": false, "killedBy": [ - "576" + "463" ], "coveredBy": [ - "576", - "577", - "578", - "579" + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 55, - "line": 17 + "column": 99, + "line": 146 }, "start": { - "column": 45, - "line": 17 + "column": 9, + "line": 146 } } }, { - "id": "1037", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(20,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1267", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"skipped\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:528:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "461" + ], "coveredBy": [ - "572", - "573", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588" + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 4, - "line": 22 + "column": 99, + "line": 146 }, "start": { - "column": 97, - "line": 20 + "column": 9, + "line": 146 } } }, { - "id": "1038", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(24,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1268", + "mutatorName": "LogicalOperator", + "replacement": "!gameHistoryRecordToInsert.play.votes && gameHistoryRecordToInsert.play.votes.length === 0", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(146,50): error TS18048: 'gameHistoryRecordToInsert.play.votes' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "589", - "590", - "591" + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 4, - "line": 31 + "column": 99, + "line": 146 }, "start": { - "column": 113, - "line": 24 + "column": 9, + "line": 146 } } }, { - "id": "1039", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1269", + "mutatorName": "BooleanLiteral", + "replacement": "gameHistoryRecordToInsert.play.votes", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(146,49): error TS18048: 'gameHistoryRecordToInsert.play.votes' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "589", - "590", - "591" + "461", + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 6, - "line": 29 + "column": 46, + "line": 146 }, "start": { - "column": 52, - "line": 25 + "column": 9, + "line": 146 } } }, { - "id": "1040", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 8\n\n@@ -1,21 +1,21 @@\n Object {\n- \"_id\": \"b671cb4019a7dc750de0f7cc\",\n- \"createdAt\": \"2022-01-01T00:00:00.000Z\",\n+ \"_id\": \"3b0af8f23c489ab2dc25e58d\",\n+ \"createdAt\": \"2020-01-01T00:00:00.000Z\",\n \"gameId\": \"ece7bdcb8cafe6e1e88f525c\",\n- \"phase\": \"night\",\n+ \"phase\": \"day\",\n \"play\": Object {\n \"action\": \"protect\",\n \"source\": Object {\n \"name\": \"guard\",\n \"players\": Array [\n Object {\n- \"_id\": \"2cbc78bddeb2316eec318854\",\n+ \"_id\": \"af3eda43eaaa38d4b89aac52\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Orville\",\n- \"position\": 8333859252862976,\n+ \"name\": \"Albina\",\n+ \"position\": 7670516286488576,\n \"role\": Object {\n \"current\": \"guard\",\n \"isRevealed\": false,\n \"original\": \"guard\",\n },\n@@ -25,8 +25,8 @@\n },\n },\n ],\n },\n },\n- \"tick\": 194091237244928,\n- \"turn\": 1129335429791744,\n+ \"tick\": 1840083615350784,\n+ \"turn\": 378585428787200,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:161:30)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "1270", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"skipped\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:551:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "591" + "462" ], "coveredBy": [ - "589", - "590", - "591" + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 94, - "line": 30 + "column": 99, + "line": 146 }, "start": { - "column": 67, - "line": 30 + "column": 50, + "line": 146 } } }, { - "id": "1041", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 8\n\n@@ -1,21 +1,21 @@\n Object {\n- \"_id\": \"84f2b9aaa1442b22ca6e8a4a\",\n- \"createdAt\": \"2022-01-01T00:00:00.000Z\",\n+ \"_id\": \"ba94fdcffb0be9d8d74f4a0f\",\n+ \"createdAt\": \"2020-01-01T00:00:00.000Z\",\n \"gameId\": \"9eb36df5da57fd67762dc758\",\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"play\": Object {\n \"action\": \"protect\",\n \"source\": Object {\n \"name\": \"guard\",\n \"players\": Array [\n Object {\n- \"_id\": \"e93e01aa56ebadd77bfbcbfa\",\n+ \"_id\": \"c4f4c7bdbae7c3b3bfb42beb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Ivory\",\n- \"position\": 6723476987576320,\n+ \"name\": \"Bernardo\",\n+ \"position\": 4613208344100864,\n \"role\": Object {\n \"current\": \"guard\",\n \"isRevealed\": false,\n \"original\": \"guard\",\n },\n@@ -25,8 +25,8 @@\n },\n },\n ],\n },\n },\n- \"tick\": 2613228039307264,\n- \"turn\": 6736192244547584,\n+ \"tick\": 5185929767550976,\n+ \"turn\": 2907786218307584,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:161:30)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "1271", + "mutatorName": "EqualityOperator", + "replacement": "gameHistoryRecordToInsert.play.votes.length !== 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"skipped\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:551:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "591" + "462" ], "coveredBy": [ - "589", - "590", - "591" + "462", + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 92, - "line": 30 + "column": 99, + "line": 146 }, "start": { - "column": 75, - "line": 30 + "column": 50, + "line": 146 } } }, { - "id": "1042", - "mutatorName": "UnaryOperator", - "replacement": "+1", - "status": "Timeout", + "id": "1272", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"skipped\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:517:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "461" + ], "coveredBy": [ - "589", - "590", - "591" + "461", + "462" ], "location": { "end": { - "column": 90, - "line": 30 + "column": 6, + "line": 148 }, "start": { - "column": 88, - "line": 30 + "column": 101, + "line": 146 } } }, { - "id": "1043", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(33,103): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1273", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:624:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "465" + ], "coveredBy": [ - "592", - "593", - "594", - "595" + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 4, - "line": 40 + "column": 43, + "line": 149 }, "start": { - "column": 137, - "line": 33 + "column": 9, + "line": 149 } } }, { - "id": "1044", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toBeNull()\n\nReceived: {\"_id\": \"08b5d5454cd9ac9a18e72ea9\", \"createdAt\": 2023-08-12T09:08:54.807Z, \"gameId\": \"3fe05bf4bbd8fcf9bfa81ae7\", \"phase\": \"night\", \"play\": {\"action\": \"eat\", \"source\": {\"name\": \"werewolves\", \"players\": [{\"_id\": \"867cf7b2fa32cbaa7e10e0fc\", \"attributes\": [], \"isAlive\": true, \"name\": \"Melissa\", \"position\": 4871738110246912, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]}}, \"tick\": 986421020065792, \"turn\": 2599853538410496}\n at Object.toBeNull (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:173:128)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "1274", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:578:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 5, "static": false, "killedBy": [ - "592" + "463" ], "coveredBy": [ - "592", - "593", - "594", - "595" + "463", + "464", + "465", + "466", + "530" ], "location": { "end": { - "column": 6, - "line": 38 + "column": 43, + "line": 149 }, "start": { - "column": 52, - "line": 34 + "column": 9, + "line": 149 } } }, { - "id": "1045", - "mutatorName": "ObjectLiteral", + "id": "1275", + "mutatorName": "BlockStatement", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "592", - "593", - "594", - "595" + "463", + "464" ], "location": { "end": { - "column": 94, - "line": 39 + "column": 6, + "line": 151 }, "start": { - "column": 67, - "line": 39 + "column": 45, + "line": 149 } } }, { - "id": "1046", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1276", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"tie\"\nReceived: \"inconsequential\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:636:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "466" + ], "coveredBy": [ - "592", - "593", - "594", - "595" + "465", + "466", + "530" ], "location": { "end": { - "column": 92, - "line": 39 + "column": 84, + "line": 152 }, "start": { - "column": 75, - "line": 39 + "column": 9, + "line": 152 } } }, { - "id": "1047", - "mutatorName": "UnaryOperator", - "replacement": "+1", + "id": "1277", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "592", - "593", - "594", - "595" + "465", + "466", + "530" ], "location": { "end": { - "column": 90, - "line": 39 + "column": 84, + "line": 152 }, "start": { - "column": 88, - "line": 39 + "column": 9, + "line": 152 } } }, { - "id": "1048", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(42,109): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1278", + "mutatorName": "EqualityOperator", + "replacement": "baseGame.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:613:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "465" + ], "coveredBy": [ - "596", - "597", - "598", - "599", - "600" + "465", + "466", + "530" ], "location": { "end": { - "column": 4, - "line": 50 + "column": 84, + "line": 152 }, "start": { - "column": 138, - "line": 42 + "column": 9, + "line": 152 } } }, { - "id": "1049", - "mutatorName": "ObjectLiteral", + "id": "1279", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 136\n\n- Array []\n+ Array [\n+ Object {\n+ \"_id\": \"5a28ac246aabfa3ded979dbf\",\n+ \"createdAt\": \"2023-08-11T18:58:38.669Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"f0aff79fb9cf3f85017233b6\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Rogelio\",\n+ \"position\": 1822197966438400,\n+ \"role\": Object {\n+ \"current\": \"vile-father-of-wolves\",\n+ \"isRevealed\": false,\n+ \"original\": \"pied-piper\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ \"voting\": Object {\n+ \"result\": \"tie\",\n+ },\n+ },\n+ \"tick\": 5986320870539264,\n+ \"turn\": 987724775424000,\n+ },\n+ Object {\n+ \"_id\": \"5fed35cdc3153eafc32ea39f\",\n+ \"createdAt\": \"2023-08-11T23:22:37.964Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"4b73aaebebe98bbfc054206f\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Edwin\",\n+ \"position\": 4789997720829952,\n+ \"role\": Object {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 5262055879737344,\n+ \"turn\": 2392956449325056,\n+ },\n+ Object {\n+ \"_id\": \"6cb4a25a0f4ebbbeb1fe2ccb\",\n+ \"createdAt\": \"2023-08-12T06:16:56.857Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"2e45f8ced0f9fcfd6e71ebee\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Jacquelyn\",\n+ \"position\": 472538408812544,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 1939279469084672,\n+ \"turn\": 1360237227409408,\n+ },\n+ Object {\n+ \"_id\": \"2b84cc76c8ed03ea125d4eae\",\n+ \"createdAt\": \"2023-08-11T17:30:01.378Z\",\n+ \"gameId\": \"4b3e0a8b1df5ecd1dcbde98c\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"ce2e556d3bcd5ee5fa5ff1e7\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Reggie\",\n+ \"position\": 6078409260138496,\n+ \"role\": Object {\n+ \"current\": \"raven\",\n+ \"isRevealed\": true,\n+ \"original\": \"pied-piper\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"voting\": Object {\n+ \"result\": \"tie\",\n+ },\n+ },\n+ \"tick\": 4210231938646016,\n+ \"turn\": 4343912227405824,\n+ },\n+ ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:229:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:613:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 1, "static": false, "killedBy": [ - "596" + "465" ], "coveredBy": [ - "596", - "597", - "598", - "599", - "600" + "465" ], "location": { "end": { "column": 6, - "line": 48 + "line": 154 }, "start": { - "column": 52, - "line": 43 + "column": 86, + "line": 152 } } }, { - "id": "1050", + "id": "1280", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(52,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(162,6): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "601", - "602" + "467", + "468", + "469", + "470", + "530" ], "location": { "end": { "column": 4, - "line": 59 + "line": 170 }, "start": { - "column": 118, - "line": 52 + "column": 34, + "line": 162 } } }, { - "id": "1051", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1281", + "mutatorName": "LogicalOperator", + "replacement": "gameHistoryRecordToInsert.play.votes && []", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(164,75): error TS2345: Argument of type 'never[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "601", - "602" + "467", + "468", + "469", + "470", + "530" ], "location": { "end": { - "column": 6, - "line": 57 + "column": 61, + "line": 163 }, "start": { - "column": 52, - "line": 53 + "column": 19, + "line": 163 } } }, { - "id": "1052", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", + "id": "1282", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(160,75): error TS2345: Argument of type 'GameHistoryRecordPlayVote[] | string[]' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'string[]' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'string' is not assignable to type 'MakeGamePlayVoteWithRelationsDto'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "601", - "602" + "467", + "468" ], "location": { "end": { - "column": 38, - "line": 56 + "column": 61, + "line": 163 }, "start": { - "column": 34, - "line": 56 + "column": 59, + "line": 163 } } }, { - "id": "1053", + "id": "1283", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(165,11): error TS2741: Property 'result' is missing in type '{}' but required in type 'GameHistoryRecordPlayVoting'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "467", + "468", + "469", + "470", + "530" + ], + "location": { + "end": { + "column": 6, + "line": 168 + }, + "start": { + "column": 70, + "line": 165 + } + } + }, + { + "id": "1284", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(61,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(172,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "603", - "604" + "471", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 67 + "line": 174 }, "start": { - "column": 104, - "line": 61 + "column": 122, + "line": 172 } } }, { - "id": "1054", - "mutatorName": "ObjectLiteral", + "id": "1285", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 131\n\n- Array []\n+ Array [\n+ Object {\n+ \"_id\": \"e34512cd64dd073ddadcf1cb\",\n+ \"createdAt\": \"2023-08-12T06:25:02.745Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"didJudgeRequestAnotherVote\": false,\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"35fad05b5cb8d934f5a4ca91\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Matteo\",\n+ \"position\": 318035455901696,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"villager-villager\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 6597115706867712,\n+ \"turn\": 3853785891864576,\n+ },\n+ Object {\n+ \"_id\": \"e9dc6dffc9b31b56bd5abbf9\",\n+ \"createdAt\": \"2023-08-12T05:14:33.716Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"667b39c04dae3feaf5c14bbb\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Nellie\",\n+ \"position\": 7542245884428288,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": false,\n+ \"original\": \"witch\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 4821387740971008,\n+ \"turn\": 508472988794880,\n+ },\n+ Object {\n+ \"_id\": \"e72bebb63b2ecdcd1565c83a\",\n+ \"createdAt\": \"2023-08-12T12:21:22.438Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"0cf60c4a34d193059cdbaebd\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Devyn\",\n+ \"position\": 437658218135552,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 4207066528874496,\n+ \"turn\": 3126620745367552,\n+ },\n+ Object {\n+ \"_id\": \"dccf354bab0f16ebdadbac63\",\n+ \"createdAt\": \"2023-08-12T03:22:22.300Z\",\n+ \"gameId\": \"be5cd5b9217e5a3405d27282\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"06841fd2efcfbfaa7c0c2de2\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Dale\",\n+ \"position\": 3085576643280896,\n+ \"role\": Object {\n+ \"current\": \"little-girl\",\n+ \"isRevealed\": false,\n+ \"original\": \"idiot\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"werewolves\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 8571763602489344,\n+ \"turn\": 6836618216341504,\n+ },\n+ ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:357:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, + "status": "Timeout", "static": false, - "killedBy": [ - "603" - ], + "killedBy": [], "coveredBy": [ - "603", - "604" + "472", + "473", + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 6, - "line": 65 + "column": 4, + "line": 196 }, "start": { - "column": 52, - "line": 62 + "column": 100, + "line": 176 } } }, { - "id": "1055", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", + "id": "1286", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(179,66): error TS18048: 'unmatchedSource' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(191,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(193,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "603", - "604" + "472", + "473", + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 46, - "line": 64 + "column": 24, + "line": 178 }, "start": { - "column": 42, - "line": 64 + "column": 9, + "line": 178 } } }, { - "id": "1056", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(69,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1287", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(179,66): error TS18048: 'unmatchedSource' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "605", - "606" + "472", + "473", + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 76 + "column": 24, + "line": 178 }, "start": { - "column": 112, - "line": 69 + "column": 9, + "line": 178 } } }, { - "id": "1057", - "mutatorName": "ObjectLiteral", + "id": "1288", + "mutatorName": "BlockStatement", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "605", - "606" + "472" ], "location": { "end": { "column": 6, - "line": 74 + "line": 180 }, "start": { - "column": 52, - "line": 70 + "column": 26, + "line": 178 } } }, { - "id": "1058", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(78,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1289", + "mutatorName": "OptionalChaining", + "replacement": "play.targets.map", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(181,56): error TS18048: 'play.targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "607" + "473", + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 100 + "column": 73, + "line": 181 }, "start": { - "column": 122, - "line": 78 + "column": 56, + "line": 181 } } }, { - "id": "1059", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 209\n\n@@ -1,7 +1,40 @@\n Array [\n Object {\n+ \"_id\": \"06a99f8d30ad1f6a30bd0013\",\n+ \"createdAt\": \"2023-01-01T00:00:00.000Z\",\n+ \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"didJudgeRequestAnotherVote\": false,\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"dbee2fcfabf0bfd9edafc2ff\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Brenda\",\n+ \"position\": 2503313650089984,\n+ \"role\": Object {\n+ \"current\": \"bear-tamer\",\n+ \"isRevealed\": true,\n+ \"original\": \"dog-wolf\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 5861576496119808,\n+ \"turn\": 934948357799936,\n+ },\n+ Object {\n \"_id\": \"f489c2835bfbc76658a7c49d\",\n \"createdAt\": \"2023-08-12T04:16:18.095Z\",\n \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n \"phase\": \"night\",\n \"play\": Object {\n@@ -66,10 +99,186 @@\n },\n ],\n },\n \"tick\": 8774777317621760,\n \"turn\": 6693388222988288,\n+ },\n+ Object {\n+ \"_id\": \"16edd4e2ac2b0f1c7f6df465\",\n+ \"createdAt\": \"2023-08-12T07:55:53.421Z\",\n+ \"gameId\": \"2a22d2699b1eca8ac7ad3cdd\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"70bb3954b1d188c0b8cc3fcd\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Keshawn\",\n+ \"position\": 270918274252800,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"player\": Object {\n+ \"_id\": \"c767cedabfdc6bca1efeff9c\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Eldred\",\n+ \"position\": 591979654152192,\n+ \"role\": Object {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"ancient\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 1466671061532672,\n+ \"turn\": 2403003134902272,\n+ },\n+ Object {\n+ \"_id\": \"15517de4dffdab69fb74accb\",\n+ \"createdAt\": \"2023-08-12T01:38:35.846Z\",\n+ \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"9b3d4fb2caf30fb11b1cacf3\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Stone\",\n+ \"position\": 7108858820427776,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"player\": Object {\n+ \"_id\": \"5feadc0b9a1513ceda19dee2\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Josiah\",\n+ \"position\": 5284265849782272,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 377658435174400,\n+ \"turn\": 3626584246321152,\n+ },\n+ Object {\n+ \"_id\": \"c8ecc5927f9360bea09edcfd\",\n+ \"createdAt\": \"2023-08-12T13:37:42.007Z\",\n+ \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"c433d8d331a716b943a6f622\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Gerald\",\n+ \"position\": 2777980837298176,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": false,\n+ \"original\": \"witch\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"drankPotion\": \"life\",\n+ \"player\": Object {\n+ \"_id\": \"eb80aa72a6db01f75a9aa1ab\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Ulises\",\n+ \"position\": 7773438947098624,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ Object {\n+ \"drankPotion\": \"death\",\n+ \"player\": Object {\n+ \"_id\": \"75efe9f4e27fdea73d6ef26b\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Brennan\",\n+ \"position\": 5735314951766016,\n+ \"role\": Object {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"ancient\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 2418841667764224,\n+ \"turn\": 5758230349217792,\n },\n Object {\n \"_id\": \"a0303331893dda47a5bef368\",\n \"createdAt\": \"2023-08-11T23:11:45.169Z\",\n \"gameId\": \"aeae1ce12fbdd5b6eaacee51\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:475:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 1, + "id": "1290", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(181,56): error TS2345: Argument of type 'undefined[] | undefined' is not assignable to parameter of type 'Player[] | undefined'.\n Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "607" - ], + "killedBy": [], "coveredBy": [ - "607" + "473", + "477", + "531" ], "location": { "end": { - "column": 6, - "line": 98 + "column": 97, + "line": 181 }, "start": { - "column": 52, - "line": 79 + "column": 74, + "line": 181 } } }, { - "id": "1060", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", + "id": "1291", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(191,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(193,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "607" + "473", + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 8, - "line": 97 + "column": 24, + "line": 182 }, "start": { - "column": 12, - "line": 81 + "column": 9, + "line": 182 } } }, { - "id": "1061", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 157\n\n@@ -1,7 +1,40 @@\n Array [\n Object {\n+ \"_id\": \"f8f3fd2f681f1fea67a4be8e\",\n+ \"createdAt\": \"2023-01-01T00:00:00.000Z\",\n+ \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"vote\",\n+ \"didJudgeRequestAnotherVote\": false,\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"a317c35f0de5bfbdfcb93ebd\",\n+ \"attributes\": Array [],\n+ \"isAlive\": false,\n+ \"name\": \"Howard\",\n+ \"position\": 8776876430458880,\n+ \"role\": Object {\n+ \"current\": \"cupid\",\n+ \"isRevealed\": true,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ },\n+ \"tick\": 3754771802488832,\n+ \"turn\": 2701415269007360,\n+ },\n+ Object {\n \"_id\": \"dbdd225ed6c9edc301f1ef23\",\n \"createdAt\": \"2023-08-12T10:59:01.000Z\",\n \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n \"phase\": \"day\",\n \"play\": Object {\n@@ -66,10 +99,134 @@\n },\n ],\n },\n \"tick\": 4748375968710656,\n \"turn\": 6179435967414272,\n+ },\n+ Object {\n+ \"_id\": \"dc23c5de5a7e7af864dae6f8\",\n+ \"createdAt\": \"2023-08-12T06:07:42.960Z\",\n+ \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n+ \"phase\": \"day\",\n+ \"play\": Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"1ad358c58729f222fc8e9e57\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Quinten\",\n+ \"position\": 8796719166783488,\n+ \"role\": Object {\n+ \"current\": \"guard\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"player\": Object {\n+ \"_id\": \"da6cfefdff4d6c9a1d9ebee5\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Chet\",\n+ \"position\": 2001190818676736,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 1890480763699200,\n+ \"turn\": 2934770782699520,\n+ },\n+ Object {\n+ \"_id\": \"35cda651eaff7a607dcabbfd\",\n+ \"createdAt\": \"2023-08-11T22:28:38.640Z\",\n+ \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n+ \"phase\": \"night\",\n+ \"play\": Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ \"players\": Array [\n+ Object {\n+ \"_id\": \"ba4fb552d9de0a5aff92cab5\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Andreane\",\n+ \"position\": 6085300270923776,\n+ \"role\": Object {\n+ \"current\": \"witch\",\n+ \"isRevealed\": false,\n+ \"original\": \"witch\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ ],\n+ },\n+ \"targets\": Array [\n+ Object {\n+ \"drankPotion\": \"life\",\n+ \"player\": Object {\n+ \"_id\": \"45fa1d6ef6b4b2d2cf4bb7ca\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Therese\",\n+ \"position\": 4225165600751616,\n+ \"role\": Object {\n+ \"current\": \"seer\",\n+ \"isRevealed\": false,\n+ \"original\": \"seer\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ Object {\n+ \"drankPotion\": \"death\",\n+ \"player\": Object {\n+ \"_id\": \"acaddd0ae87cc79cdba6d0d1\",\n+ \"attributes\": Array [],\n+ \"isAlive\": true,\n+ \"name\": \"Harley\",\n+ \"position\": 8944172467748864,\n+ \"role\": Object {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"ancient\",\n+ },\n+ \"side\": Object {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ },\n+ ],\n+ },\n+ \"tick\": 8058272120569856,\n+ \"turn\": 2467656435236864,\n },\n Object {\n \"_id\": \"7db1adee87c307157cdb5ca2\",\n \"createdAt\": \"2023-08-12T12:50:25.707Z\",\n \"gameId\": \"fab18cb53bd9cb2d410bffce\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:475:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 1, + "id": "1292", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedTarget' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "607" - ], + "killedBy": [], "coveredBy": [ - "607" + "473", + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 10, - "line": 86 + "column": 24, + "line": 182 }, "start": { "column": 9, - "line": 82 + "line": 182 } } }, { - "id": "1062", - "mutatorName": "ObjectLiteral", + "id": "1293", + "mutatorName": "BlockStatement", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "607" + "473" ], "location": { "end": { - "column": 10, - "line": 96 + "column": 6, + "line": 184 }, "start": { - "column": 9, - "line": 87 + "column": 26, + "line": 182 } } }, { - "id": "1063", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 72\n+ Received + 0\n\n@@ -67,78 +67,6 @@\n ],\n },\n \"tick\": 7990646971301888,\n \"turn\": 4089322657546240,\n },\n- Object {\n- \"_id\": \"e9a274e455bf3ded4c92a2ab\",\n- \"createdAt\": \"2023-08-12T14:35:49.534Z\",\n- \"gameId\": \"cdccdee38c2f3deaabfe1b0d\",\n- \"phase\": \"night\",\n- \"play\": Object {\n- \"action\": \"use-potions\",\n- \"source\": Object {\n- \"name\": \"witch\",\n- \"players\": Array [\n- Object {\n- \"_id\": \"acd0bf912a54a0bd34b19bd7\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Liliane\",\n- \"position\": 8678311968374784,\n- \"role\": Object {\n- \"current\": \"witch\",\n- \"isRevealed\": false,\n- \"original\": \"witch\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n- },\n- \"targets\": Array [\n- Object {\n- \"drankPotion\": \"death\",\n- \"player\": Object {\n- \"_id\": \"3931d0c6f83d4f6ce0a2ea1c\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Shirley\",\n- \"position\": 6278419134283776,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- },\n- Object {\n- \"drankPotion\": \"life\",\n- \"player\": Object {\n- \"_id\": \"cd44d999dc9caefb6ca59c56\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Yazmin\",\n- \"position\": 5492183316561920,\n- \"role\": Object {\n- \"current\": \"ancient\",\n- \"isRevealed\": false,\n- \"original\": \"ancient\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- },\n- ],\n- },\n- \"tick\": 696742389481472,\n- \"turn\": 5405906925780992,\n- },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:475:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 1, + "id": "1294", + "mutatorName": "OptionalChaining", + "replacement": "play.votes.map", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(185,55): error TS18048: 'play.votes' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "607" - ], + "killedBy": [], "coveredBy": [ - "607" + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 12, - "line": 95 + "column": 70, + "line": 185 }, "start": { - "column": 27, - "line": 90 + "column": 55, + "line": 185 } } }, { - "id": "1064", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1295", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(185,55): error TS2345: Argument of type 'undefined[] | undefined' is not assignable to parameter of type 'Player[] | undefined'.\n Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "607" + "474", + "475", + "477", + "530" ], "location": { "end": { - "column": 14, - "line": 94 + "column": 90, + "line": 185 }, "start": { - "column": 25, - "line": 91 + "column": 71, + "line": 185 } } }, { - "id": "1065", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game-history-record.repository.ts(102,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1296", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(191,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(193,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "608", - "609" + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 105 + "column": 23, + "line": 186 }, "start": { - "column": 104, - "line": 102 + "column": 9, + "line": 186 } } }, { - "id": "1066", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toBeNull()\n\nReceived: {\"_id\": \"b01facdfc6dceb7a0f65db5a\", \"createdAt\": \"2023-08-12T16:06:54.933Z\", \"gameId\": \"be8cc0921aeeba2b6db45fd7\", \"phase\": \"night\", \"play\": {\"action\": \"use-potions\", \"source\": {\"name\": \"witch\", \"players\": [{\"_id\": \"dbeda4b72d95e2a210633a14\", \"attributes\": [], \"isAlive\": true, \"name\": \"Sabina\", \"position\": 7217922940338176, \"role\": {\"current\": \"witch\", \"isRevealed\": false, \"original\": \"witch\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]}}, \"tick\": 2022948762288128, \"turn\": 6425193419374592}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:492:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, + "id": "1297", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "608" - ], + "killedBy": [], "coveredBy": [ - "608", - "609" + "474", + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 62, - "line": 103 + "column": 23, + "line": 186 }, "start": { - "column": 52, - "line": 103 + "column": 9, + "line": 186 } } }, { - "id": "1067", - "mutatorName": "ObjectLiteral", + "id": "1298", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 11\n+ Received + 11\n\n Object {\n- \"_id\": \"0cd77e9f8acf46f09528b78d\",\n- \"createdAt\": \"2023-01-01T00:00:00.000Z\",\n+ \"_id\": \"eb24d1f6adc09ffbea0518a5\",\n+ \"createdAt\": \"2020-01-01T00:00:00.000Z\",\n \"gameId\": \"db3ceaf576afec8dcd1adfba\",\n \"phase\": \"day\",\n \"play\": Object {\n \"action\": \"vote\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": \"ad983e0efc7f6645aa7382be\",\n+ \"_id\": \"dacffc9f316eb08492f6e324\",\n \"attributes\": Array [],\n \"isAlive\": false,\n- \"name\": \"Robbie\",\n- \"position\": 1125509853347840,\n+ \"name\": \"Carrie\",\n+ \"position\": 3939030362226688,\n \"role\": Object {\n- \"current\": \"cupid\",\n- \"isRevealed\": false,\n- \"original\": \"three-brothers\",\n+ \"current\": \"angel\",\n+ \"isRevealed\": true,\n+ \"original\": \"bear-tamer\",\n },\n \"side\": Object {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"werewolves\",\n },\n },\n ],\n },\n },\n- \"tick\": 3190186796122112,\n- \"turn\": 2159518494490624,\n+ \"tick\": 4210645595586560,\n+ \"turn\": 3978830286946304,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:506:30)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, + "status": "Timeout", "static": false, - "killedBy": [ - "609" - ], + "killedBy": [], "coveredBy": [ - "608", - "609" + "474" ], "location": { "end": { - "column": 94, - "line": 104 + "column": 6, + "line": 188 }, "start": { - "column": 67, - "line": 104 + "column": 25, + "line": 186 } } }, { - "id": "1068", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1299", + "mutatorName": "OptionalChaining", + "replacement": "play.votes.map", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(189,60): error TS18048: 'play.votes' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "608", - "609" + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 92, - "line": 104 + "column": 75, + "line": 189 }, "start": { - "column": 75, - "line": 104 + "column": 60, + "line": 189 } } }, { - "id": "1069", - "mutatorName": "UnaryOperator", - "replacement": "+1", - "status": "Timeout", + "id": "1300", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(189,60): error TS2345: Argument of type 'undefined[] | undefined' is not assignable to parameter of type 'Player[] | undefined'.\n Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "608", - "609" + "475", + "477", + "530" ], "location": { "end": { - "column": 90, - "line": 104 + "column": 95, + "line": 189 }, "start": { - "column": 88, - "line": 104 + "column": 76, + "line": 189 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { InjectModel } from \"@nestjs/mongoose\";\nimport type { FilterQuery, Types } from \"mongoose\";\nimport { Model } from \"mongoose\";\nimport { ROLE_NAMES } from \"../../../role/enums/role.enum\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../enums/game-history-record.enum\";\nimport { GAME_PLAY_ACTIONS, WITCH_POTIONS } from \"../../enums/game-play.enum\";\nimport type { GameHistoryRecordDocument } from \"../../schemas/game-history-record/game-history-record.schema\";\nimport { GameHistoryRecord } from \"../../schemas/game-history-record/game-history-record.schema\";\nimport type { GameHistoryRecordToInsert } from \"../../types/game-history-record.type\";\n\n@Injectable()\nexport class GameHistoryRecordRepository {\n public constructor(@InjectModel(GameHistoryRecord.name) private readonly gameHistoryRecordModel: Model) {}\n\n public async getGameHistory(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordModel.find({ gameId });\n }\n\n public async create(gameHistoryRecord: GameHistoryRecordToInsert): Promise {\n return this.gameHistoryRecordModel.create(gameHistoryRecord);\n }\n\n public async getLastGameHistoryGuardProtectsRecord(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": GAME_PLAY_ACTIONS.PROTECT,\n \"play.source.name\": ROLE_NAMES.GUARD,\n };\n return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } });\n }\n \n public async getLastGameHistoryTieInVotesRecord(gameId: Types.ObjectId, action: GAME_PLAY_ACTIONS): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": action,\n \"play.voting.result\": GAME_HISTORY_RECORD_VOTING_RESULTS.TIE,\n };\n return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } });\n }\n\n public async getGameHistoryWitchUsesSpecificPotionRecords(gameId: Types.ObjectId, potion: WITCH_POTIONS): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.source.name\": ROLE_NAMES.WITCH,\n \"play.action\": GAME_PLAY_ACTIONS.USE_POTIONS,\n \"play.targets.drankPotion\": potion,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n\n public async getGameHistoryVileFatherOfWolvesInfectedRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": GAME_PLAY_ACTIONS.EAT,\n \"play.targets.isInfected\": true,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n\n public async getGameHistoryJudgeRequestRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.didJudgeRequestAnotherVote\": true,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n \n public async getGameHistoryWerewolvesEatAncientRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n \"play.action\": GAME_PLAY_ACTIONS.EAT,\n \"play.targets.player.role.current\": ROLE_NAMES.ANCIENT,\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n\n public async getGameHistoryAncientProtectedFromWerewolvesRecords(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = {\n gameId,\n $or: [\n {\n \"play.source.name\": ROLE_NAMES.GUARD,\n \"play.action\": GAME_PLAY_ACTIONS.PROTECT,\n \"play.targets.player.role.current\": ROLE_NAMES.ANCIENT,\n },\n {\n \"play.source.name\": ROLE_NAMES.WITCH,\n \"play.action\": GAME_PLAY_ACTIONS.USE_POTIONS,\n \"play.targets\": {\n $elemMatch: {\n \"player.role.current\": ROLE_NAMES.ANCIENT,\n \"drankPotion\": WITCH_POTIONS.LIFE,\n },\n },\n },\n ],\n };\n return this.gameHistoryRecordModel.find(filter);\n }\n \n public async getPreviousGameHistoryRecord(gameId: Types.ObjectId): Promise {\n const filter: FilterQuery = { gameId };\n return this.gameHistoryRecordModel.findOne(filter, undefined, { sort: { createdAt: -1 } });\n }\n}" - }, - "src/modules/game/providers/repositories/game.repository.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1070", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game.repository.ts(12,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1301", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(191,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(193,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "533", - "534" + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 14 + "column": 28, + "line": 190 }, "start": { - "column": 78, - "line": 12 + "column": 9, + "line": 190 } } }, { - "id": "1071", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game.repository.ts(16,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1302", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(191,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "546", - "547", - "563", - "564", - "565", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "575", - "576", - "577" + "475", + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 18 + "column": 28, + "line": 190 }, "start": { - "column": 81, - "line": 16 + "column": 9, + "line": 190 } } }, { - "id": "1072", + "id": "1303", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game.repository.ts(20,45): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "560", - "561" + "475" ], "location": { "end": { - "column": 4, - "line": 22 + "column": 6, + "line": 192 }, "start": { - "column": 59, - "line": 20 + "column": 30, + "line": 190 } } }, { - "id": "1073", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/repositories/game.repository.ts(24,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1304", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "560", - "561", - "565", - "572", - "573" + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 26 + "column": 95, + "line": 193 }, "start": { - "column": 132, - "line": 24 + "column": 9, + "line": 193 } } }, { - "id": "1074", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1305", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "560", - "561", - "565", - "572", - "573" + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 83, - "line": 25 + "column": 95, + "line": 193 }, "start": { - "column": 58, - "line": 25 + "column": 9, + "line": 193 } } }, { - "id": "1075", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 98\n+ Received + 0\n\n@@ -3,108 +3,10 @@\n \"createdAt\": Any,\n \"currentPlay\": Object {\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n- \"players\": Array [\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Doudou\",\n- \"position\": 4,\n- \"role\": Object {\n- \"current\": \"cupid\",\n- \"isRevealed\": false,\n- \"original\": \"cupid\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n \"isHidden\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "id": "1306", + "mutatorName": "LogicalOperator", + "replacement": "play.chosenCard || !getAdditionalCardWithId(game.additionalCards, play.chosenCard._id)", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(193,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(194,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "560", - "561", - "565", - "572", - "573" + "476", + "477", + "481", + "530", + "531" ], "location": { "end": { - "column": 69, - "line": 25 + "column": 95, + "line": 193 }, "start": { - "column": 65, - "line": 25 + "column": 9, + "line": 193 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { InjectModel } from \"@nestjs/mongoose\";\nimport type { FilterQuery, QueryOptions } from \"mongoose\";\nimport { Model } from \"mongoose\";\nimport type { CreateGameDto } from \"../../dto/create-game/create-game.dto\";\nimport type { GameDocument } from \"../../schemas/game.schema\";\nimport { Game } from \"../../schemas/game.schema\";\n\n@Injectable()\nexport class GameRepository {\n public constructor(@InjectModel(Game.name) private readonly gameModel: Model) {}\n public async find(filter: FilterQuery = {}): Promise {\n return this.gameModel.find(filter);\n }\n\n public async findOne(filter: FilterQuery): Promise {\n return this.gameModel.findOne(filter);\n }\n\n public async create(game: CreateGameDto): Promise {\n return this.gameModel.create(game);\n }\n\n public async updateOne(filter: FilterQuery, game: Partial, options: QueryOptions = {}): Promise {\n return this.gameModel.findOneAndUpdate(filter, game, { new: true, ...options });\n }\n}" - }, - "src/modules/game/providers/services/game-history/game-history-record.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1076", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(36,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1307", + "mutatorName": "BooleanLiteral", + "replacement": "getAdditionalCardWithId(game.additionalCards, play.chosenCard._id)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "417", - "572", - "573" + "476", + "477" ], "location": { "end": { - "column": 4, - "line": 39 + "column": 95, + "line": 193 }, "start": { - "column": 122, - "line": 36 + "column": 28, + "line": 193 } } }, { - "id": "1077", + "id": "1308", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(41,79): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "418" + "476" ], "location": { "end": { - "column": 4, - "line": 43 + "column": 6, + "line": 195 }, "start": { - "column": 113, - "line": 41 + "column": 97, + "line": 193 } } }, { - "id": "1078", + "id": "1309", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(45,103): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:846:108\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "478" + ], "coveredBy": [ - "419" + "478", + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 47 + "line": 213 }, "start": { - "column": 137, - "line": 45 + "column": 124, + "line": 198 } } }, { - "id": "1079", - "mutatorName": "BlockStatement", + "id": "1310", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(49,109): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:858:41", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "478" + ], "coveredBy": [ - "420", - "421" + "478", + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 51 + "column": 67, + "line": 200 }, "start": { - "column": 138, - "line": 49 + "column": 52, + "line": 200 } } }, { - "id": "1080", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(53,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1311", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(204,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedRevealedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,54): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(210,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(212,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "422" + "478", + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 55 + "column": 22, + "line": 201 }, "start": { - "column": 118, - "line": 53 + "column": 9, + "line": 201 } } }, { - "id": "1081", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(57,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1312", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(204,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,54): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(212,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "423" + "478", + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 59 + "column": 22, + "line": 201 }, "start": { - "column": 104, - "line": 57 + "column": 9, + "line": 201 } } }, { - "id": "1082", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(61,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1313", + "mutatorName": "EqualityOperator", + "replacement": "game !== null", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(204,58): error TS2345: Argument of type 'null' is not assignable to parameter of type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,54): error TS2345: Argument of type 'null' is not assignable to parameter of type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(212,58): error TS2345: Argument of type 'null' is not assignable to parameter of type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "424" + "478", + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 63 + "column": 22, + "line": 201 }, "start": { - "column": 112, - "line": 61 + "column": 9, + "line": 201 } } }, { - "id": "1083", + "id": "1314", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(65,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(198,58): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(202,54): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(206,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "425" + "478" ], "location": { "end": { - "column": 4, - "line": 67 + "column": 6, + "line": 203 }, "start": { - "column": 122, - "line": 65 + "column": 24, + "line": 201 } } }, { - "id": "1084", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(69,70): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1315", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedRevealedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,54): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(210,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(212,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "426" + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 71 + "column": 32, + "line": 205 }, "start": { - "column": 104, - "line": 69 + "column": 9, + "line": 205 } } }, { - "id": "1085", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(73,119): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1316", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedRevealedPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "427", - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "479", + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 90 + "column": 32, + "line": 205 }, "start": { - "column": 145, - "line": 73 + "column": 9, + "line": 205 } } }, { - "id": "1086", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "1317", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"players\", \"ea1f321e8a4c185b17e8ff1a\", \"Game Play - Player in `revealedPlayers` is not in the game players\"], but it was called with \"players\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:847:41", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "479" + ], "coveredBy": [ - "427", - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "479" ], "location": { "end": { - "column": 38, - "line": 74 + "column": 6, + "line": 207 }, "start": { - "column": 9, - "line": 74 + "column": 34, + "line": 205 } } }, { - "id": "1087", + "id": "1318", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(210,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(212,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "427", - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 38, - "line": 74 + "column": 28, + "line": 209 }, "start": { "column": 9, - "line": 74 + "line": 209 } } }, { - "id": "1088", - "mutatorName": "EqualityOperator", - "replacement": "baseGame.currentPlay !== null", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 9, + "id": "1319", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(210,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "427", - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "480", + "481", + "530", + "531" ], "location": { "end": { - "column": 38, - "line": 74 + "column": 28, + "line": 209 }, "start": { "column": 9, - "line": 74 + "line": 209 } } }, { - "id": "1089", + "id": "1320", "mutatorName": "BlockStatement", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "427" + "480" ], "location": { "end": { "column": 6, - "line": 76 + "line": 211 }, "start": { - "column": 40, - "line": 74 + "column": 30, + "line": 209 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport type { Types } from \"mongoose\";\nimport { toJSON } from \"../../../../../../tests/helpers/object/object.helper\";\nimport { API_RESOURCES } from \"../../../../../shared/api/enums/api.enum\";\nimport { RESOURCE_NOT_FOUND_REASONS } from \"../../../../../shared/exception/enums/resource-not-found-error.enum\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ResourceNotFoundException } from \"../../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { plainToInstanceDefaultOptions } from \"../../../../../shared/validation/constants/validation.constant\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../../enums/game-history-record.enum\";\nimport type { WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from \"../../../enums/game-play.enum\";\nimport type { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from \"../../../enums/player.enum\";\nimport { getAdditionalCardWithId, getNonexistentPlayer, getPlayerWithActiveAttributeName, getPlayerWithId } from \"../../../helpers/game.helper\";\nimport { GameHistoryRecordPlaySource } from \"../../../schemas/game-history-record/game-history-record-play/game-history-record-play-source.schema\";\nimport { GameHistoryRecordPlayVoting } from \"../../../schemas/game-history-record/game-history-record-play/game-history-record-play-voting.schema\";\nimport { GameHistoryRecordPlay } from \"../../../schemas/game-history-record/game-history-record-play/game-history-record-play.schema\";\nimport type { GameHistoryRecord } from \"../../../schemas/game-history-record/game-history-record.schema\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { GameHistoryRecordToInsert } from \"../../../types/game-history-record.type\";\nimport type { GameWithCurrentPlay } from \"../../../types/game-with-current-play\";\nimport { GameHistoryRecordRepository } from \"../../repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../repositories/game.repository\";\nimport { GamePlayVoteService } from \"../game-play/game-play-vote/game-play-vote.service\";\n\n@Injectable()\nexport class GameHistoryRecordService {\n public constructor(\n private readonly gamePlayVoteService: GamePlayVoteService,\n private readonly gameHistoryRecordRepository: GameHistoryRecordRepository,\n private readonly gameRepository: GameRepository,\n ) {}\n \n public async createGameHistoryRecord(gameHistoryRecordToInsert: GameHistoryRecordToInsert): Promise {\n await this.validateGameHistoryRecordToInsertData(gameHistoryRecordToInsert);\n return this.gameHistoryRecordRepository.create(gameHistoryRecordToInsert);\n }\n\n public async getLastGameHistoryGuardProtectsRecord(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getLastGameHistoryGuardProtectsRecord(gameId);\n }\n\n public async getLastGameHistoryTieInVotesRecord(gameId: Types.ObjectId, action: GAME_PLAY_ACTIONS): Promise {\n return this.gameHistoryRecordRepository.getLastGameHistoryTieInVotesRecord(gameId, action);\n }\n\n public async getGameHistoryWitchUsesSpecificPotionRecords(gameId: Types.ObjectId, potion: WITCH_POTIONS): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryWitchUsesSpecificPotionRecords(gameId, potion);\n }\n\n public async getGameHistoryVileFatherOfWolvesInfectedRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryVileFatherOfWolvesInfectedRecords(gameId);\n }\n\n public async getGameHistoryJudgeRequestRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryJudgeRequestRecords(gameId);\n }\n\n public async getGameHistoryWerewolvesEatAncientRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryWerewolvesEatAncientRecords(gameId);\n }\n\n public async getGameHistoryAncientProtectedFromWerewolvesRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryAncientProtectedFromWerewolvesRecords(gameId);\n }\n\n public async getGameHistoryPhaseRecords(gameId: Types.ObjectId, turn: number, phase: GAME_PHASES): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryPhaseRecords(gameId, turn, phase);\n }\n\n public async getPreviousGameHistoryRecord(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getPreviousGameHistoryRecord(gameId);\n }\n \n public generateCurrentGameHistoryRecordToInsert(baseGame: Game, newGame: Game, play: MakeGamePlayWithRelationsDto): GameHistoryRecordToInsert {\n if (baseGame.currentPlay === null) {\n throw createNoCurrentGamePlayUnexpectedException(\"generateCurrentGameHistoryRecordToInsert\", { gameId: baseGame._id });\n }\n const gameHistoryRecordToInsert: GameHistoryRecordToInsert = {\n gameId: baseGame._id,\n turn: baseGame.turn,\n phase: baseGame.phase,\n tick: baseGame.tick,\n play: this.generateCurrentGameHistoryRecordPlayToInsert(baseGame as GameWithCurrentPlay, play),\n revealedPlayers: this.generateCurrentGameHistoryRecordRevealedPlayersToInsert(baseGame, newGame),\n deadPlayers: this.generateCurrentGameHistoryRecordDeadPlayersToInsert(baseGame, newGame),\n };\n if (gameHistoryRecordToInsert.play.votes) {\n gameHistoryRecordToInsert.play.voting = this.generateCurrentGameHistoryRecordPlayVotingToInsert(baseGame as GameWithCurrentPlay, newGame, gameHistoryRecordToInsert);\n }\n return plainToInstance(GameHistoryRecordToInsert, gameHistoryRecordToInsert, plainToInstanceDefaultOptions);\n }\n\n public async getGameHistory(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistory(gameId);\n }\n\n private generateCurrentGameHistoryRecordDeadPlayersToInsert(baseGame: Game, newGame: Game): Player[] | undefined {\n const { players: newPlayers } = newGame;\n const currentDeadPlayers = newPlayers.filter(player => {\n const matchingBasePlayer = getPlayerWithId(baseGame, player._id);\n return matchingBasePlayer?.isAlive === true && !player.isAlive;\n });\n return currentDeadPlayers.length ? currentDeadPlayers : undefined;\n }\n\n private generateCurrentGameHistoryRecordRevealedPlayersToInsert(baseGame: Game, newGame: Game): Player[] | undefined {\n const { players: newPlayers } = newGame;\n const currentRevealedPlayers = newPlayers.filter(player => {\n const matchingBasePlayer = getPlayerWithId(baseGame, player._id);\n return matchingBasePlayer?.role.isRevealed === false && player.role.isRevealed && player.isAlive;\n });\n return currentRevealedPlayers.length ? currentRevealedPlayers : undefined;\n }\n \n private generateCurrentGameHistoryRecordPlayToInsert(baseGame: GameWithCurrentPlay, play: MakeGamePlayWithRelationsDto): GameHistoryRecordPlay {\n const gameHistoryRecordPlayToInsert: GameHistoryRecordPlay = {\n source: this.generateCurrentGameHistoryRecordPlaySourceToInsert(baseGame),\n action: baseGame.currentPlay.action,\n cause: baseGame.currentPlay.cause,\n didJudgeRequestAnotherVote: play.doesJudgeRequestAnotherVote,\n targets: play.targets,\n votes: play.votes,\n chosenCard: play.chosenCard,\n chosenSide: play.chosenSide,\n };\n return plainToInstance(GameHistoryRecordPlay, toJSON(gameHistoryRecordPlayToInsert), plainToInstanceDefaultOptions);\n }\n \n private generateCurrentGameHistoryRecordPlayVotingResultToInsert(\n baseGame: GameWithCurrentPlay,\n newGame: Game,\n gameHistoryRecordToInsert: GameHistoryRecordToInsert,\n ): GAME_HISTORY_RECORD_VOTING_RESULTS {\n const sheriffPlayer = getPlayerWithActiveAttributeName(newGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n const areSomePlayersDeadFromCurrentVotes = gameHistoryRecordToInsert.deadPlayers?.some(({ death }) => {\n const deathFromVoteCauses = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED];\n return death?.cause !== undefined && deathFromVoteCauses.includes(death.cause);\n }) === true;\n if (baseGame.currentPlay.action === GAME_PLAY_ACTIONS.ELECT_SHERIFF) {\n return sheriffPlayer ? GAME_HISTORY_RECORD_VOTING_RESULTS.SHERIFF_ELECTION : GAME_HISTORY_RECORD_VOTING_RESULTS.TIE;\n }\n if (!gameHistoryRecordToInsert.play.votes || gameHistoryRecordToInsert.play.votes.length === 0) {\n return GAME_HISTORY_RECORD_VOTING_RESULTS.SKIPPED;\n }\n if (areSomePlayersDeadFromCurrentVotes) {\n return GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH;\n }\n if (baseGame.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n return GAME_HISTORY_RECORD_VOTING_RESULTS.INCONSEQUENTIAL;\n }\n return GAME_HISTORY_RECORD_VOTING_RESULTS.TIE;\n }\n\n private generateCurrentGameHistoryRecordPlayVotingToInsert(\n baseGame: GameWithCurrentPlay,\n newGame: Game,\n gameHistoryRecordToInsert: GameHistoryRecordToInsert,\n ): GameHistoryRecordPlayVoting {\n const votes = gameHistoryRecordToInsert.play.votes ?? [];\n const nominatedPlayers = this.gamePlayVoteService.getNominatedPlayers(votes, baseGame);\n const gameHistoryRecordPlayVoting: GameHistoryRecordPlayVoting = {\n result: this.generateCurrentGameHistoryRecordPlayVotingResultToInsert(baseGame, newGame, gameHistoryRecordToInsert),\n nominatedPlayers,\n };\n return plainToInstance(GameHistoryRecordPlayVoting, gameHistoryRecordPlayVoting, plainToInstanceDefaultOptions);\n }\n \n private generateCurrentGameHistoryRecordPlaySourceToInsert(baseGame: GameWithCurrentPlay): GameHistoryRecordPlaySource {\n return plainToInstance(GameHistoryRecordPlaySource, toJSON(baseGame.currentPlay.source), plainToInstanceDefaultOptions);\n }\n\n private validateGameHistoryRecordToInsertPlayData(play: GameHistoryRecordPlay, game: Game): void {\n const unmatchedSource = getNonexistentPlayer(game, play.source.players);\n if (unmatchedSource) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedSource._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_SOURCE);\n }\n const unmatchedTarget = getNonexistentPlayer(game, play.targets?.map(target => target.player));\n if (unmatchedTarget) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedTarget._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_TARGET);\n }\n const unmatchedVoter = getNonexistentPlayer(game, play.votes?.map(vote => vote.source));\n if (unmatchedVoter) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedVoter._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_SOURCE);\n }\n const unmatchedVoteTarget = getNonexistentPlayer(game, play.votes?.map(vote => vote.target));\n if (unmatchedVoteTarget) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedVoteTarget._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_TARGET);\n }\n if (play.chosenCard && !getAdditionalCardWithId(game.additionalCards, play.chosenCard._id)) {\n throw new ResourceNotFoundException(API_RESOURCES.GAME_ADDITIONAL_CARDS, play.chosenCard._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_CHOSEN_CARD);\n }\n }\n\n private async validateGameHistoryRecordToInsertData(gameHistoryRecordToInsert: GameHistoryRecordToInsert): Promise {\n const { gameId, play, revealedPlayers, deadPlayers } = gameHistoryRecordToInsert;\n const game = await this.gameRepository.findOne({ _id: gameId });\n if (game === null) {\n throw new ResourceNotFoundException(API_RESOURCES.GAMES, gameId.toString(), RESOURCE_NOT_FOUND_REASONS.UNKNOWN_GAME_PLAY_GAME_ID);\n }\n const unmatchedRevealedPlayer = getNonexistentPlayer(game, revealedPlayers);\n if (unmatchedRevealedPlayer) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedRevealedPlayer._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_REVEALED_PLAYER);\n }\n const unmatchedDeadPlayer = getNonexistentPlayer(game, deadPlayers);\n if (unmatchedDeadPlayer) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedDeadPlayer._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_DEAD_PLAYER);\n }\n this.validateGameHistoryRecordToInsertPlayData(play, game);\n }\n}" + }, + "src/modules/game/providers/services/game-phase/game-phase.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "1090", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "status": "Timeout", + "id": "1321", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(19,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "427" + "839" ], "location": { "end": { - "column": 98, - "line": 75 + "column": 4, + "line": 25 }, "start": { - "column": 56, - "line": 75 + "column": 97, + "line": 19 } } }, { - "id": "1091", - "mutatorName": "ObjectLiteral", + "id": "1322", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(75,100): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", - "status": "CompileError", + "statusReason": "Error: expect(jest.fn()).toHaveBeenNthCalledWith(n, ...expected)\n\nn: 1\nExpected: {\"_id\": \"ce5ed91dccc66765447ec0e5\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Luz\", \"position\": 1869224628715520, \"role\": {\"current\": \"white-werewolf\", \"isRevealed\": false, \"original\": \"scapegoat\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}, {\"_id\": \"83ca15cfe3b8a99bcd4dd72c\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T10:11:18.005Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 1797656655429632}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 5}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"ce5ed91dccc66765447ec0e5\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Luz\", \"position\": 1869224628715520, \"role\": {\"current\": \"white-werewolf\", \"isRevealed\": false, \"original\": \"scapegoat\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}, {\"_id\": \"8ca0d2b4bfcfc7ae61f11bf4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Danial\", \"position\": 5560365943357440, \"role\": {\"current\": \"cupid\", \"isRevealed\": true, \"original\": \"villager\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}, {\"_id\": \"a49aac3bf247cad0bad3a57a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Angus\", \"position\": 3199196194668544, \"role\": {\"current\": \"two-sisters\", \"isRevealed\": true, \"original\": \"witch\"}, \"side\": {\"current\": \"villagers\", \"original\": \"werewolves\"}}, {\"_id\": \"f3bef008cfcfc58f12467bc7\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Jada\", \"position\": 7537568333692928, \"role\": {\"current\": \"vile-father-of-wolves\", \"isRevealed\": true, \"original\": \"little-girl\"}, \"side\": {\"current\": \"villagers\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 2945012708933632, \"turn\": 314298505101312, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T04:46:50.770Z, \"victory\": undefined}\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:75:96)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "839" + ], "coveredBy": [ - "427" + "839" ], "location": { "end": { - "column": 124, - "line": 75 + "column": 6, + "line": 23 }, "start": { - "column": 100, - "line": 75 + "column": 46, + "line": 21 } } }, { - "id": "1092", - "mutatorName": "ObjectLiteral", + "id": "1323", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(77,11): error TS2739: Type '{}' is missing the following properties from type 'GameHistoryRecordToInsert': gameId, turn, phase, tick, play\n", + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(27,72): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 6, - "line": 85 + "column": 4, + "line": 38 }, "start": { - "column": 66, - "line": 77 + "column": 86, + "line": 27 } } }, { - "id": "1093", + "id": "1324", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 45, - "line": 86 + "column": 62, + "line": 29 }, "start": { - "column": 9, - "line": 86 + "column": 24, + "line": 29 } } }, { - "id": "1094", + "id": "1325", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 4\n+ Received + 12\n\n@@ -76,29 +76,37 @@\n },\n \"votes\": VotesGameOptions {\n \"canBeSkipped\": false,\n },\n },\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"playing\",\n \"tick\": 1264985466470400,\n- \"turn\": 4227531297259520,\n+ \"turn\": 4227531297259521,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n+ \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"werewolves\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n ],\n \"updatedAt\": 2023-08-12T08:01:10.789Z,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:111:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "841" + ], "coveredBy": [ - "428", - "429", - "430", - "431", - "432", - "433", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 45, - "line": 86 + "column": 62, + "line": 29 }, "start": { - "column": 9, - "line": 86 + "column": 24, + "line": 29 } } }, { - "id": "1095", - "mutatorName": "BlockStatement", - "replacement": "{}", + "id": "1326", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "432", - "572" + "840", + "841" ], "location": { "end": { - "column": 6, - "line": 88 + "column": 62, + "line": 29 }, "start": { - "column": 47, - "line": 86 + "column": 24, + "line": 29 } } }, { - "id": "1096", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(92,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1327", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"day\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 6458230530113536,\n- \"turn\": 2680152280530944,\n+ \"turn\": 2680152280530945,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:111:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], - "coveredBy": [ - "434", - "576", - "577" + "killedBy": [ + "841" ], - "location": { - "end": { - "column": 4, - "line": 94 - }, - "start": { - "column": 85, - "line": 92 - } - } - }, - { - "id": "1097", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(96,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "435", - "436", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 4, - "line": 103 + "column": 47, + "line": 30 }, "start": { - "column": 116, - "line": 96 + "column": 9, + "line": 30 } } }, { - "id": "1098", - "mutatorName": "MethodExpression", - "replacement": "newPlayers", - "status": "Timeout", + "id": "1328", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 7278783931351040,\n- \"turn\": 1707158645243905,\n+ \"turn\": 1707158645243904,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "840" + ], "coveredBy": [ - "435", - "436", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 7, - "line": 101 + "column": 47, + "line": 30 }, "start": { - "column": 32, - "line": 98 + "column": 9, + "line": 30 } } }, { - "id": "1099", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: [{\"_id\": \"5c5a1741a41eac34625fd219\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Hanna\", \"position\": 8726685692198912, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"331e45e3fc836a5633b5f9d1\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Seamus\", \"position\": 8889464271142912, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:334:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1329", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 6022680843124736,\n- \"turn\": 5327850104160257,\n+ \"turn\": 5327850104160256,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "435" + "840" ], "coveredBy": [ - "435", - "436", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 6, - "line": 101 + "column": 47, + "line": 30 }, "start": { - "column": 60, - "line": 98 + "column": 9, + "line": 30 } } }, { - "id": "1100", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "1330", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "435", - "436", - "572", - "573" + "840" ], "location": { "end": { - "column": 69, - "line": 100 + "column": 6, + "line": 32 }, "start": { - "column": 14, - "line": 100 + "column": 49, + "line": 30 } } }, { - "id": "1101", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: [{\"_id\": \"0cffe5bf4fdcf8e463d2d4da\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Rey\", \"position\": 8774817371127808, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"9ff517f3f3a7635aeaf5a8c4\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Vincenzo\", \"position\": 8045956939382784, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:334:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1331", + "mutatorName": "UpdateOperator", + "replacement": "clonedGame.turn--", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"playing\",\n \"tick\": 922502865879040,\n- \"turn\": 7110429645996033,\n+ \"turn\": 7110429645996031,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 1, "static": false, "killedBy": [ - "435" + "840" ], "coveredBy": [ - "435", - "436", - "572", - "573" + "840" ], "location": { "end": { - "column": 69, - "line": 100 + "column": 24, + "line": 31 }, "start": { - "column": 14, - "line": 100 + "column": 7, + "line": 31 } } }, { - "id": "1102", - "mutatorName": "LogicalOperator", - "replacement": "matchingBasePlayer?.isAlive === true || !player.isAlive", - "status": "Timeout", + "id": "1332", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -91,14 +91,22 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n+ \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"werewolves\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n ],\n \"updatedAt\": 2023-08-12T07:37:28.467Z,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:111:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "841" + ], "coveredBy": [ - "435", - "436", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 69, - "line": 100 + "column": 70, + "line": 35 }, "start": { - "column": 14, - "line": 100 + "column": 32, + "line": 35 } } }, { - "id": "1103", + "id": "1333", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -91,22 +91,14 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n+ \"action\": \"vote\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n+ \"name\": \"all\",\n \"players\": undefined,\n },\n },\n ],\n \"updatedAt\": 2023-08-12T07:43:23.817Z,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], - "coveredBy": [ - "435", - "436", - "572", - "573" + "killedBy": [ + "840" + ], + "coveredBy": [ + "840", + "841" ], "location": { "end": { - "column": 50, - "line": 100 + "column": 70, + "line": 35 }, "start": { - "column": 14, - "line": 100 + "column": 32, + "line": 35 } } }, { - "id": "1104", + "id": "1334", "mutatorName": "EqualityOperator", - "replacement": "matchingBasePlayer?.isAlive !== true", + "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "435", - "436", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 50, - "line": 100 + "column": 70, + "line": 35 }, "start": { - "column": 14, - "line": 100 + "column": 32, + "line": 35 } } }, { - "id": "1105", - "mutatorName": "OptionalChaining", - "replacement": "matchingBasePlayer.isAlive", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(101,14): error TS18048: 'matchingBasePlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1335", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 26\n+ Received + 1\n\n@@ -81,34 +81,9 @@\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 209190033293312,\n \"turn\": 817675313872897,\n- \"upcomingPlays\": Array [\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": 2023-08-11T21:21:26.289Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "840" + ], "coveredBy": [ - "435", - "436", - "572", - "573" + "840", + "841" ], "location": { "end": { - "column": 41, - "line": 100 + "column": 84, + "line": 36 }, "start": { - "column": 14, - "line": 100 + "column": 32, + "line": 36 } } }, { - "id": "1106", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", + "id": "1336", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(40,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "435", - "436", - "572", - "573" + "842", + "843" ], "location": { "end": { - "column": 50, - "line": 100 + "column": 4, + "line": 47 }, "start": { - "column": 46, - "line": 100 + "column": 107, + "line": 40 } } }, { - "id": "1107", - "mutatorName": "BooleanLiteral", - "replacement": "player.isAlive", + "id": "1337", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "435", - "436", - "572", - "573" + "842", + "843" ], "location": { "end": { - "column": 69, - "line": 100 + "column": 109, + "line": 43 }, "start": { - "column": 54, - "line": 100 + "column": 9, + "line": 43 } } }, { - "id": "1108", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(105,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1338", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "842", + "843" ], "location": { "end": { - "column": 4, - "line": 112 + "column": 109, + "line": 43 }, "start": { - "column": 120, - "line": 105 + "column": 9, + "line": 43 } } }, { - "id": "1109", - "mutatorName": "MethodExpression", - "replacement": "newPlayers", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 68\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"115095dc8dab8bb7b36afddb\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Wade\",\n+ \"position\": 2155764686782464,\n+ \"role\": PlayerRole {\n+ \"current\": \"bear-tamer\",\n+ \"isRevealed\": true,\n+ \"original\": \"fox\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"b675cfe470d2a331b9be3d3c\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tatum\",\n@@ -29,8 +46,59 @@\n \"original\": \"little-girl\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"faffe99b881b3c5fe65e0dfb\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Hassie\",\n+ \"position\": 5491735713021952,\n+ \"role\": PlayerRole {\n+ \"current\": \"two-sisters\",\n+ \"isRevealed\": true,\n+ \"original\": \"cupid\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"be036dd53a6614a37e6fed8a\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Jazmin\",\n+ \"position\": 7339544223416320,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"big-bad-wolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"af19f17b4e93ca36c6f16aef\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Krystal\",\n+ \"position\": 7415378418335744,\n+ \"role\": PlayerRole {\n+ \"current\": \"villager\",\n+ \"isRevealed\": false,\n+ \"original\": \"guard\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1339", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:129:79)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 1, "static": false, "killedBy": [ - "437" + "843" ], "coveredBy": [ - "437", - "438", - "572", - "573" + "843" ], "location": { "end": { - "column": 7, - "line": 110 + "column": 6, + "line": 45 }, "start": { - "column": 36, - "line": 107 + "column": 111, + "line": 43 } } }, { - "id": "1110", + "id": "1340", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(49,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "844", + "845" ], "location": { "end": { - "column": 6, - "line": 110 + "column": 4, + "line": 60 }, "start": { - "column": 64, - "line": 107 + "column": 109, + "line": 49 } } }, { - "id": "1111", + "id": "1341", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 68\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"a25950dbcdbbedeb3d12cf5e\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Antonietta\",\n+ \"position\": 8205892627464192,\n+ \"role\": PlayerRole {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": true,\n+ \"original\": \"big-bad-wolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"e38becae9ac6c20b4ff5efe2\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Malinda\",\n@@ -29,8 +46,59 @@\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"d6605e1ba9fcd18af0d7ae9b\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": false,\n+ \"name\": \"Raven\",\n+ \"position\": 1832361706651648,\n+ \"role\": PlayerRole {\n+ \"current\": \"wild-child\",\n+ \"isRevealed\": true,\n+ \"original\": \"two-sisters\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"79ace829faa275dacef6cc7d\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Brayan\",\n+ \"position\": 5816351132221440,\n+ \"role\": PlayerRole {\n+ \"current\": \"ancient\",\n+ \"isRevealed\": false,\n+ \"original\": \"fox\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n+ \"_id\": \"5a2e078b12ae4edeae0e9ece\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"London\",\n+ \"position\": 7629815165222912,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"idiot\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(54,108): error TS2345: Argument of type 'PlayerAttribute | undefined' is not assignable to parameter of type 'PlayerAttribute'.\n Type 'undefined' is not assignable to type 'PlayerAttribute'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "437" - ], + "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "844", + "845" ], "location": { "end": { - "column": 103, - "line": 109 + "column": 23, + "line": 53 }, "start": { - "column": 14, - "line": 109 + "column": 9, + "line": 53 } } }, { - "id": "1112", + "id": "1342", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(54,108): error TS2345: Argument of type 'PlayerAttribute | undefined' is not assignable to parameter of type 'PlayerAttribute'.\n Type 'undefined' is not assignable to type 'PlayerAttribute'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "844", + "845" ], "location": { "end": { - "column": 103, - "line": 109 + "column": 23, + "line": 53 }, "start": { - "column": 14, - "line": 109 + "column": 9, + "line": 53 } } }, { - "id": "1113", - "mutatorName": "LogicalOperator", - "replacement": "matchingBasePlayer?.role.isRevealed === false && player.role.isRevealed || player.isAlive", + "id": "1343", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "845" ], "location": { "end": { - "column": 103, - "line": 109 + "column": 6, + "line": 55 }, "start": { - "column": 14, - "line": 109 + "column": 25, + "line": 53 } } }, { - "id": "1114", + "id": "1344", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "844", + "845" ], "location": { "end": { - "column": 85, - "line": 109 + "column": 115, + "line": 56 }, "start": { - "column": 14, - "line": 109 + "column": 9, + "line": 56 } } }, { - "id": "1115", - "mutatorName": "LogicalOperator", - "replacement": "matchingBasePlayer?.role.isRevealed === false || player.role.isRevealed", - "status": "Timeout", + "id": "1345", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:156:83)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "845" + ], "coveredBy": [ - "437", - "438", - "572", - "573" + "844", + "845" ], "location": { "end": { - "column": 85, - "line": 109 + "column": 115, + "line": 56 }, "start": { - "column": 14, - "line": 109 + "column": 9, + "line": 56 } } }, { - "id": "1116", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 17\n\n@@ -15,10 +15,27 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Player {\n+ \"_id\": \"134be2b2b6e84f334fc3ea62\",\n+ \"attributes\": Array [],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Lewis\",\n+ \"position\": 4146035400114176,\n+ \"role\": PlayerRole {\n+ \"current\": \"two-sisters\",\n+ \"isRevealed\": true,\n+ \"original\": \"wild-child\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ Player {\n \"_id\": \"cccbb6a3caaa881ffcaadfdb\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Rubye\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1346", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:156:83)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 1, "static": false, "killedBy": [ - "437" + "845" ], "coveredBy": [ - "437", - "438", - "572", - "573" + "845" ], "location": { "end": { - "column": 59, - "line": 109 + "column": 6, + "line": 58 }, "start": { - "column": 14, - "line": 109 + "column": 117, + "line": 56 } } }, { - "id": "1117", - "mutatorName": "EqualityOperator", - "replacement": "matchingBasePlayer?.role.isRevealed !== false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 7\n\n Array [\n Player {\n- \"_id\": \"73eeea2eedea763aeb45be3d\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Samantha\",\n- \"position\": 2466567910588416,\n- \"role\": PlayerRole {\n- \"current\": \"two-sisters\",\n- \"isRevealed\": true,\n- \"original\": \"cupid\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"3d566648efbbc73acb26c40f\",\n+ \"_id\": \"7c5a3da9fede6d3f8fbe7aa8\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Dawson\",\n- \"position\": 5619354227965952,\n+ \"name\": \"Lenna\",\n+ \"position\": 4073938539773952,\n \"role\": PlayerRole {\n- \"current\": \"guard\",\n+ \"current\": \"vile-father-of-wolves\",\n \"isRevealed\": true,\n- \"original\": \"guard\",\n+ \"original\": \"rusty-sword-knight\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "1347", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(62,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "437" + "killedBy": [], + "coveredBy": [ + "846", + "847" ], + "location": { + "end": { + "column": 4, + "line": 69 + }, + "start": { + "column": 113, + "line": 62 + } + } + }, + { + "id": "1348", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", + "static": false, + "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "846", + "847" ], "location": { "end": { - "column": 59, - "line": 109 + "column": 47, + "line": 65 }, "start": { - "column": 14, - "line": 109 + "column": 9, + "line": 65 } } }, { - "id": "1118", - "mutatorName": "OptionalChaining", - "replacement": "matchingBasePlayer.role", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(111,14): error TS18048: 'matchingBasePlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1349", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "437", - "438", - "572", - "573" + "846", + "847" ], "location": { "end": { - "column": 38, - "line": 109 + "column": 47, + "line": 65 }, "start": { - "column": 14, - "line": 109 + "column": 9, + "line": 65 } } }, { - "id": "1119", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 7\n\n Array [\n Player {\n- \"_id\": \"ba3bc8575dbed1cbf6b1e00b\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n- \"name\": \"Valentin\",\n- \"position\": 5287829265448960,\n- \"role\": PlayerRole {\n- \"current\": \"rusty-sword-knight\",\n- \"isRevealed\": true,\n- \"original\": \"dog-wolf\",\n- },\n- \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Player {\n- \"_id\": \"8bbccba206c7e644174cfa7a\",\n+ \"_id\": \"e54a016e4cfe8f0d5cecc604\",\n \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n- \"name\": \"Jack\",\n- \"position\": 3821479724580864,\n+ \"name\": \"Stuart\",\n+ \"position\": 603103231475712,\n \"role\": PlayerRole {\n- \"current\": \"white-werewolf\",\n+ \"current\": \"witch\",\n \"isRevealed\": true,\n- \"original\": \"wild-child\",\n+ \"original\": \"big-bad-wolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:389:120)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1350", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:182:92)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "437" + "846" ], "coveredBy": [ - "437", - "438", - "572", - "573" + "846", + "847" ], "location": { "end": { - "column": 59, - "line": 109 + "column": 47, + "line": 65 }, "start": { - "column": 54, - "line": 109 + "column": 9, + "line": 65 } } }, { - "id": "1120", + "id": "1351", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(116,124): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:182:92)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "846" + ], "coveredBy": [ - "439", - "572", - "573" + "846" ], "location": { "end": { - "column": 4, - "line": 125 + "column": 6, + "line": 67 }, "start": { - "column": 146, - "line": 114 + "column": 49, + "line": 65 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES } from \"../../../enums/player.enum\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { doesPlayerHaveActiveAttributeWithName, getActivePlayerAttributeWithName } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { createPlayer } from \"../../../helpers/player/player.factory\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { GamePlayService } from \"../game-play/game-play.service\";\nimport { PlayerAttributeService } from \"../player/player-attribute.service\";\n\n@Injectable()\nexport class GamePhaseService {\n public constructor(\n private readonly playerAttributeService: PlayerAttributeService,\n private readonly gamePlayService: GamePlayService,\n ) {}\n\n public async applyEndingGamePhasePlayerAttributesOutcomesToPlayers(game: Game): Promise {\n let clonedGame = createGame(game);\n for (const player of clonedGame.players) {\n clonedGame = await this.applyEndingGamePhasePlayerAttributesOutcomesToPlayer(player, clonedGame);\n }\n return clonedGame;\n }\n\n public async switchPhaseAndAppendGamePhaseUpcomingPlays(game: Game): Promise {\n const clonedGame = createGame(game);\n clonedGame.phase = clonedGame.phase === GAME_PHASES.NIGHT ? GAME_PHASES.DAY : GAME_PHASES.NIGHT;\n if (clonedGame.phase === GAME_PHASES.NIGHT) {\n clonedGame.turn++;\n }\n const upcomingNightPlays = await this.gamePlayService.getUpcomingNightPlays(clonedGame);\n const upcomingDayPlays = this.gamePlayService.getUpcomingDayPlays();\n const phaseUpcomingPlays = clonedGame.phase === GAME_PHASES.NIGHT ? upcomingNightPlays : upcomingDayPlays;\n clonedGame.upcomingPlays = [...clonedGame.upcomingPlays, ...phaseUpcomingPlays];\n return clonedGame;\n }\n\n private async applyEndingDayPlayerAttributesOutcomesToPlayer(player: Player, game: Game): Promise {\n let clonedGame = createGame(game);\n const clonedPlayer = createPlayer(player);\n if (doesPlayerHaveActiveAttributeWithName(clonedPlayer, PLAYER_ATTRIBUTE_NAMES.CONTAMINATED, clonedGame)) {\n clonedGame = await this.playerAttributeService.applyContaminatedAttributeOutcomes(clonedPlayer, clonedGame);\n }\n return clonedGame;\n }\n\n private async applyEndingNightPlayerAttributesOutcomesToPlayer(player: Player, game: Game): Promise {\n let clonedGame = createGame(game);\n const clonedPlayer = createPlayer(player);\n const eatenAttribute = getActivePlayerAttributeWithName(clonedPlayer, PLAYER_ATTRIBUTE_NAMES.EATEN, clonedGame);\n if (eatenAttribute) {\n clonedGame = await this.playerAttributeService.applyEatenAttributeOutcomes(clonedPlayer, clonedGame, eatenAttribute);\n }\n if (doesPlayerHaveActiveAttributeWithName(clonedPlayer, PLAYER_ATTRIBUTE_NAMES.DRANK_DEATH_POTION, clonedGame)) {\n clonedGame = await this.playerAttributeService.applyDrankDeathPotionAttributeOutcomes(clonedPlayer, clonedGame);\n }\n return clonedGame;\n }\n \n private async applyEndingGamePhasePlayerAttributesOutcomesToPlayer(player: Player, game: Game): Promise {\n const clonedGame = createGame(game);\n const clonedPlayer = createPlayer(player);\n if (clonedGame.phase === GAME_PHASES.NIGHT) {\n return this.applyEndingNightPlayerAttributesOutcomesToPlayer(clonedPlayer, clonedGame);\n }\n return this.applyEndingDayPlayerAttributesOutcomesToPlayer(clonedPlayer, clonedGame);\n }\n}" + }, + "src/modules/game/providers/services/game-play/game-play-maker.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "1121", + "id": "1352", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(117,11): error TS2739: Type '{}' is missing the following properties from type 'GameHistoryRecordPlay': action, source\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: Any\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:71:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 94, + "static": true, + "killedBy": [ + "262" + ], "coveredBy": [ - "439", - "572", - "573" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 6, - "line": 123 + "column": 4, + "line": 46 }, "start": { - "column": 66, - "line": 115 + "column": 162, + "line": 28 } } }, { - "id": "1122", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(131,6): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1353", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(29,33): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" - ], - "location": { - "end": { - "column": 4, - "line": 150 - }, - "start": { - "column": 41, - "line": 131 - } - } - }, - { - "id": "1123", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:613:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "446" - ], - "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" - ], - "location": { - "end": { - "column": 16, - "line": 136 - }, - "start": { - "column": 48, - "line": 133 - } - } - }, - { - "id": "1124", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:567:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, - "static": false, - "killedBy": [ - "444" - ], - "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 16, - "line": 136 + "column": 84, + "line": 29 }, "start": { - "column": 48, - "line": 133 + "column": 33, + "line": 29 } } }, { - "id": "1125", - "mutatorName": "EqualityOperator", - "replacement": "gameHistoryRecordToInsert.deadPlayers?.some(({\n death\n}) => {\n const deathFromVoteCauses = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED];\n return death?.cause !== undefined && deathFromVoteCauses.includes(death.cause);\n}) !== true", - "status": "Timeout", - "static": false, + "id": "1354", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(30,32): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 16, - "line": 136 + "column": 79, + "line": 30 }, "start": { - "column": 48, - "line": 133 + "column": 32, + "line": 30 } } }, { - "id": "1126", - "mutatorName": "MethodExpression", - "replacement": "gameHistoryRecordToInsert.deadPlayers?.every(({\n death\n}) => {\n const deathFromVoteCauses = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED];\n return death?.cause !== undefined && deathFromVoteCauses.includes(death.cause);\n})", - "status": "Timeout", - "static": false, + "id": "1355", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(31,34): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 7, - "line": 136 + "column": 84, + "line": 31 }, "start": { - "column": 48, - "line": 133 + "column": 34, + "line": 31 } } }, { - "id": "1127", - "mutatorName": "OptionalChaining", - "replacement": "gameHistoryRecordToInsert.deadPlayers.some", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(135,48): error TS18048: 'gameHistoryRecordToInsert.deadPlayers' is possibly 'undefined'.\n", + "id": "1356", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(32,24): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 91, - "line": 133 + "column": 66, + "line": 32 }, "start": { - "column": 48, - "line": 133 + "column": 24, + "line": 32 } } }, { - "id": "1128", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", - "static": false, + "id": "1357", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(33,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 6, - "line": 136 + "column": 69, + "line": 33 }, "start": { - "column": 107, - "line": 133 + "column": 25, + "line": 33 } } }, { - "id": "1129", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,73): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/player.enum\").PLAYER_DEATH_CAUSES' is not assignable to parameter of type 'never'.\n", + "id": "1358", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(34,30): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 99, - "line": 134 + "column": 78, + "line": 34 }, "start": { - "column": 35, - "line": 134 + "column": 30, + "line": 34 } } }, { - "id": "1130", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, + "id": "1359", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(35,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 85, - "line": 135 + "column": 74, + "line": 35 }, "start": { - "column": 14, - "line": 135 + "column": 25, + "line": 35 } } }, { - "id": "1131", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:567:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, - "static": false, - "killedBy": [ - "444" - ], + "id": "1360", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(36,26): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 85, - "line": 135 + "column": 76, + "line": 36 }, "start": { - "column": 14, - "line": 135 + "column": 26, + "line": 36 } } }, { - "id": "1132", - "mutatorName": "LogicalOperator", - "replacement": "death?.cause !== undefined || deathFromVoteCauses.includes(death.cause)", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,73): error TS18048: 'death' is possibly 'undefined'.\n", + "id": "1361", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(37,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 85, - "line": 135 + "column": 71, + "line": 37 }, "start": { - "column": 14, - "line": 135 + "column": 25, + "line": 37 } } }, { - "id": "1133", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,51): error TS18048: 'death' is possibly 'undefined'.\n", + "id": "1362", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(38,23): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 40, - "line": 135 + "column": 65, + "line": 38 }, "start": { - "column": 14, - "line": 135 + "column": 23, + "line": 38 } } }, { - "id": "1134", - "mutatorName": "EqualityOperator", - "replacement": "death?.cause === undefined", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,73): error TS18048: 'death' is possibly 'undefined'.\n", + "id": "1363", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(39,30): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 40, - "line": 135 + "column": 84, + "line": 39 }, "start": { - "column": 14, - "line": 135 + "column": 30, + "line": 39 } } }, { - "id": "1135", - "mutatorName": "OptionalChaining", - "replacement": "death.cause", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(137,14): error TS18048: 'death' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(137,72): error TS18048: 'death' is possibly 'undefined'.\n", + "id": "1364", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(40,28): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447" - ], - "location": { - "end": { - "column": 26, - "line": 135 - }, - "start": { - "column": 14, - "line": 135 - } - } - }, - { - "id": "1136", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 16, - "line": 136 + "column": 79, + "line": 40 }, "start": { - "column": 12, - "line": 136 + "column": 28, + "line": 40 } } }, { - "id": "1137", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(142,50): error TS18048: 'gameHistoryRecordToInsert.play.votes' is possibly 'undefined'.\n", + "id": "1365", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(41,29): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 72, - "line": 137 + "column": 81, + "line": 41 }, "start": { - "column": 9, - "line": 137 + "column": 29, + "line": 41 } } }, { - "id": "1138", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "1366", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(42,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 72, - "line": 137 + "column": 74, + "line": 42 }, "start": { - "column": 9, - "line": 137 + "column": 25, + "line": 42 } } }, { - "id": "1139", - "mutatorName": "EqualityOperator", - "replacement": "baseGame.currentPlay.action !== GAME_PLAY_ACTIONS.ELECT_SHERIFF", - "status": "Timeout", - "static": false, + "id": "1367", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(43,26): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "440", - "441", - "442", - "443", - "444", - "445", - "446", - "447", - "572" - ], - "location": { - "end": { - "column": 72, - "line": 137 - }, - "start": { - "column": 9, - "line": 137 - } - } - }, - { - "id": "1140", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"sheriff-election\"\nReceived: \"skipped\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:472:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, - "static": false, - "killedBy": [ - "440" - ], - "coveredBy": [ - "440", - "441" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 6, - "line": 139 + "column": 71, + "line": 43 }, "start": { - "column": 74, - "line": 137 + "column": 26, + "line": 43 } } }, { - "id": "1141", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"death\"\nReceived: \"skipped\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:567:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, - "static": false, - "killedBy": [ - "444" - ], + "id": "1368", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(44,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, + "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 99, - "line": 140 + "column": 68, + "line": 44 }, "start": { - "column": 9, - "line": 140 + "column": 25, + "line": 44 } } }, { - "id": "1142", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, + "id": "1369", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(45,39): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "300", + "301", + "302", + "303", + "304", + "305", + "306", + "307", + "308", + "309", + "310", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "330", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "340", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "350", + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 99, - "line": 140 + "column": 89, + "line": 45 }, "start": { - "column": 9, - "line": 140 + "column": 39, + "line": 45 } } }, { - "id": "1143", - "mutatorName": "LogicalOperator", - "replacement": "!gameHistoryRecordToInsert.play.votes && gameHistoryRecordToInsert.play.votes.length === 0", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(142,50): error TS18048: 'gameHistoryRecordToInsert.play.votes' is possibly 'undefined'.\n", + "id": "1370", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(53,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 99, - "line": 140 + "column": 4, + "line": 63 }, "start": { - "column": 9, - "line": 140 + "column": 92, + "line": 53 } } }, { - "id": "1144", + "id": "1371", "mutatorName": "BooleanLiteral", - "replacement": "gameHistoryRecordToInsert.play.votes", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(142,49): error TS18048: 'gameHistoryRecordToInsert.play.votes' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "game.currentPlay", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", + "status": "Killed", + "testsCompleted": 22, "static": false, - "killedBy": [], + "killedBy": [ + "263" + ], "coveredBy": [ - "442", - "443", - "444", - "445", - "446", - "447", - "572" + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 46, - "line": 140 + "column": 26, + "line": 54 }, "start": { "column": 9, - "line": 140 + "line": 54 } } }, { - "id": "1145", + "id": "1372", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "443", - "444", - "445", - "446", - "447", - "572" + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 99, - "line": 140 + "column": 26, + "line": 54 }, "start": { - "column": 50, - "line": 140 + "column": 9, + "line": 54 } } }, { - "id": "1146", - "mutatorName": "EqualityOperator", - "replacement": "gameHistoryRecordToInsert.play.votes.length !== 0", - "status": "Timeout", + "id": "1373", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", + "status": "Killed", + "testsCompleted": 22, "static": false, - "killedBy": [], + "killedBy": [ + "263" + ], "coveredBy": [ - "443", - "444", - "445", - "446", - "447", - "572" + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 99, - "line": 140 + "column": 26, + "line": 54 }, "start": { - "column": 50, - "line": 140 + "column": 9, + "line": 54 } } }, { - "id": "1147", + "id": "1374", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"skipped\"\nReceived: \"death\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:517:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "442" + "263" ], "coveredBy": [ - "442", - "443" + "263" ], "location": { "end": { "column": 6, - "line": 142 + "line": 56 }, "start": { - "column": 101, - "line": 140 + "column": 28, + "line": 54 } } }, { - "id": "1148", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "1375", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"makeGamePlay\", {\"gameId\": \"bd3d87c035d7ee3e1d421bd7\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], - "coveredBy": [ - "444", - "445", - "446", - "447", - "572" + "killedBy": [ + "263" ], - "location": { - "end": { - "column": 43, - "line": 143 - }, - "start": { - "column": 9, - "line": 143 - } - } - }, - { - "id": "1149", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "444", - "445", - "446", - "447", - "572" + "263" ], "location": { "end": { - "column": 43, - "line": 143 + "column": 70, + "line": 55 }, "start": { - "column": 9, - "line": 143 + "column": 56, + "line": 55 } } }, { - "id": "1150", - "mutatorName": "BlockStatement", + "id": "1376", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(55,72): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "444", - "445" + "263" ], "location": { "end": { - "column": 6, - "line": 145 + "column": 92, + "line": 55 }, "start": { - "column": 45, - "line": 143 + "column": 72, + "line": 55 } } }, { - "id": "1151", + "id": "1377", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"tie\"\nReceived: \"inconsequential\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:636:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "447" - ], + "killedBy": [], "coveredBy": [ - "446", - "447", - "572" + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 84, - "line": 146 + "column": 43, + "line": 59 }, "start": { "column": 9, - "line": 146 + "line": 59 } } }, { - "id": "1152", + "id": "1378", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "446", - "447", - "572" + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 84, - "line": 146 + "column": 43, + "line": 59 }, "start": { "column": 9, - "line": 146 + "line": 59 } } }, { - "id": "1153", + "id": "1379", "mutatorName": "EqualityOperator", - "replacement": "baseGame.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:613:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "replacement": "gameSourcePlayMethod !== undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "446" - ], + "killedBy": [], "coveredBy": [ - "446", - "447", - "572" + "264", + "265", + "266", + "267", + "268", + "269", + "270", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "280", + "281", + "282", + "530", + "531" ], "location": { "end": { - "column": 84, - "line": 146 + "column": 43, + "line": 59 }, "start": { "column": 9, - "line": 146 + "line": 59 } } }, { - "id": "1154", + "id": "1380", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"inconsequential\"\nReceived: \"tie\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:613:144)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(60,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "446" - ], + "killedBy": [], "coveredBy": [ - "446" + "264", + "265" ], "location": { "end": { "column": 6, - "line": 148 + "line": 61 }, "start": { - "column": 86, - "line": 146 + "column": 45, + "line": 59 } } }, { - "id": "1155", + "id": "1381", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(158,6): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(65,108): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "448", - "449", - "450", - "451", - "572" + "283", + "284" ], "location": { "end": { "column": 4, - "line": 164 - }, - "start": { - "column": 34, - "line": 156 - } - } - }, - { - "id": "1156", - "mutatorName": "LogicalOperator", - "replacement": "gameHistoryRecordToInsert.play.votes && []", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(160,75): error TS2345: Argument of type 'never[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "448", - "449", - "450", - "451", - "572" - ], - "location": { - "end": { - "column": 61, - "line": 157 - }, - "start": { - "column": 19, - "line": 157 - } - } - }, - { - "id": "1157", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(160,75): error TS2345: Argument of type 'GameHistoryRecordPlayVote[] | string[]' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'string[]' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'string' is not assignable to type 'MakeGamePlayVoteWithRelationsDto'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "448", - "449" - ], - "location": { - "end": { - "column": 61, - "line": 157 + "line": 74 }, "start": { - "column": 59, - "line": 157 + "column": 122, + "line": 65 } } }, { - "id": "1158", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(161,11): error TS2741: Property 'result' is missing in type '{}' but required in type 'GameHistoryRecordPlayVoting'.\n", + "id": "1382", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "448", - "449", - "450", - "451", - "572" + "283", + "284" ], "location": { "end": { - "column": 6, - "line": 162 + "column": 48, + "line": 68 }, "start": { - "column": 70, - "line": 159 + "column": 9, + "line": 68 } } }, { - "id": "1159", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(168,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1383", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "452", - "572", - "573" + "283", + "284" ], "location": { "end": { - "column": 4, - "line": 168 + "column": 48, + "line": 68 }, "start": { - "column": 122, - "line": 166 + "column": 9, + "line": 68 } } }, { - "id": "1160", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "id": "1384", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "283", + "284" ], "location": { "end": { - "column": 4, - "line": 190 + "column": 48, + "line": 68 }, "start": { - "column": 100, - "line": 170 + "column": 9, + "line": 68 } } }, { - "id": "1161", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(175,66): error TS18048: 'unmatchedSource' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(179,66): error TS18048: 'unmatchedTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(189,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "id": "1385", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(68,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "283", + "284" ], "location": { "end": { "column": 24, - "line": 172 + "line": 68 }, "start": { "column": 9, - "line": 172 + "line": 68 } } }, { - "id": "1162", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(175,66): error TS18048: 'unmatchedSource' is possibly 'undefined'.\n", + "id": "1386", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(69,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "453", - "454", - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "283" ], "location": { "end": { - "column": 24, - "line": 172 + "column": 6, + "line": 70 }, "start": { - "column": 9, - "line": 172 + "column": 50, + "line": 68 } } }, { - "id": "1163", + "id": "1387", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(76,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "453" + "285", + "286" ], "location": { "end": { - "column": 6, - "line": 174 + "column": 4, + "line": 89 }, "start": { - "column": 26, - "line": 172 + "column": 104, + "line": 76 } } }, { - "id": "1164", - "mutatorName": "OptionalChaining", - "replacement": "play.targets.map", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(177,64): error TS18048: 'play.targets' is possibly 'undefined'.\n", + "id": "1388", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(85,54): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "454", - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "285", + "286" ], "location": { "end": { - "column": 73, - "line": 175 + "column": 48, + "line": 79 }, "start": { - "column": 56, - "line": 175 + "column": 9, + "line": 79 } } }, { - "id": "1165", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(177,64): error TS2345: Argument of type 'undefined[] | undefined' is not assignable to parameter of type 'Player[] | undefined'.\n Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "1389", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "454", - "458", - "573" + "285", + "286" ], "location": { "end": { - "column": 97, - "line": 175 + "column": 48, + "line": 79 }, "start": { - "column": 74, - "line": 175 + "column": 9, + "line": 79 } } }, { - "id": "1166", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(179,66): error TS18048: 'unmatchedTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(189,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "id": "1390", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "454", - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "285", + "286" ], "location": { "end": { - "column": 24, - "line": 176 + "column": 48, + "line": 79 }, "start": { "column": 9, - "line": 176 + "line": 79 } } }, { - "id": "1167", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(179,66): error TS18048: 'unmatchedTarget' is possibly 'undefined'.\n", + "id": "1391", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(79,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "454", - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "285", + "286" ], "location": { "end": { "column": 24, - "line": 176 + "line": 79 }, "start": { "column": 9, - "line": 176 + "line": 79 } } }, { - "id": "1168", + "id": "1392", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(80,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "454" + "285" ], "location": { "end": { "column": 6, - "line": 178 + "line": 81 }, "start": { - "column": 26, - "line": 176 + "column": 50, + "line": 79 } } }, { - "id": "1169", - "mutatorName": "OptionalChaining", - "replacement": "play.votes.map", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(181,63): error TS18048: 'play.votes' is possibly 'undefined'.\n", + "id": "1393", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(85,54): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "286" ], "location": { "end": { - "column": 70, - "line": 179 + "column": 22, + "line": 84 }, "start": { - "column": 55, - "line": 179 + "column": 9, + "line": 84 } } }, { - "id": "1170", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(181,63): error TS2345: Argument of type 'undefined[] | undefined' is not assignable to parameter of type 'Player[] | undefined'.\n Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "1394", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(85,54): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "455", - "456", - "458", - "572" + "286" ], "location": { "end": { - "column": 90, - "line": 179 + "column": 22, + "line": 84 }, "start": { - "column": 71, - "line": 179 + "column": 9, + "line": 84 } } }, { - "id": "1171", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(189,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1395", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "286" ], "location": { "end": { - "column": 23, - "line": 180 + "column": 6, + "line": 86 }, "start": { - "column": 9, - "line": 180 + "column": 24, + "line": 84 } } }, { - "id": "1172", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(183,66): error TS18048: 'unmatchedVoter' is possibly 'undefined'.\n", + "id": "1396", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(91,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "455", - "456", - "457", - "458", - "462", - "572", - "573" + "287", + "288", + "289" ], "location": { "end": { - "column": 23, - "line": 180 + "column": 4, + "line": 102 }, "start": { - "column": 9, - "line": 180 + "column": 108, + "line": 91 } } }, { - "id": "1173", - "mutatorName": "BlockStatement", + "id": "1397", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:364:64)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "288" + ], "coveredBy": [ - "455" + "287", + "288", + "289" ], "location": { "end": { "column": 6, - "line": 182 + "line": 96 }, "start": { - "column": 25, - "line": 180 + "column": 96, + "line": 93 } } }, { - "id": "1174", - "mutatorName": "OptionalChaining", - "replacement": "play.votes.map", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(185,68): error TS18048: 'play.votes' is possibly 'undefined'.\n", + "id": "1398", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(94,37): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "456", - "457", - "458", - "462", - "572", - "573" + "287", + "288", + "289" ], "location": { "end": { - "column": 75, - "line": 183 + "column": 82, + "line": 94 }, "start": { - "column": 60, - "line": 183 + "column": 37, + "line": 94 } } }, { - "id": "1175", + "id": "1399", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(185,68): error TS2345: Argument of type 'undefined[] | undefined' is not assignable to parameter of type 'Player[] | undefined'.\n Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(95,41): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "456", - "458", - "572" + "287", + "288", + "289" ], "location": { "end": { - "column": 95, - "line": 183 + "column": 94, + "line": 95 }, "start": { - "column": 76, - "line": 183 + "column": 41, + "line": 95 } } }, { - "id": "1176", + "id": "1400", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(189,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(101,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "456", - "457", - "458", - "462", - "572", - "573" + "287", + "288", + "289" ], "location": { "end": { - "column": 28, - "line": 184 + "column": 40, + "line": 98 }, "start": { "column": 9, - "line": 184 + "line": 98 } } }, { - "id": "1177", + "id": "1401", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(187,66): error TS18048: 'unmatchedVoteTarget' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(101,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "456", - "457", - "458", - "462", - "572", - "573" + "287", + "288", + "289" ], "location": { "end": { - "column": 28, - "line": 184 + "column": 40, + "line": 98 }, "start": { "column": 9, - "line": 184 + "line": 98 } } }, { - "id": "1178", + "id": "1402", + "mutatorName": "EqualityOperator", + "replacement": "sheriffPlayMethod !== undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(101,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "287", + "288", + "289" + ], + "location": { + "end": { + "column": 40, + "line": 98 + }, + "start": { + "column": 9, + "line": 98 + } + } + }, + { + "id": "1403", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(99,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "456" + "287" ], "location": { "end": { "column": 6, - "line": 186 + "line": 100 }, "start": { - "column": 30, - "line": 184 + "column": 42, + "line": 98 } } }, { - "id": "1179", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "id": "1404", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(104,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "457", - "458", - "462", - "572", - "573" + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 95, - "line": 187 + "column": 4, + "line": 121 }, "start": { - "column": 9, - "line": 187 + "column": 76, + "line": 104 } } }, { - "id": "1180", + "id": "1405", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(109,58): error TS18048: 'scapegoatPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "457", - "458", - "462", - "572", - "573" + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 95, - "line": 187 + "column": 75, + "line": 107 }, "start": { "column": 9, - "line": 187 + "line": 107 } } }, { - "id": "1181", - "mutatorName": "LogicalOperator", - "replacement": "play.chosenCard || !getAdditionalCardWithId(game.additionalCards, play.chosenCard._id)", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(189,75): error TS18048: 'play.chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(190,80): error TS18048: 'play.chosenCard' is possibly 'undefined'.\n", + "id": "1406", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(109,58): error TS18048: 'scapegoatPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "457", - "458", - "462", - "572", - "573" + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 95, - "line": 187 + "column": 75, + "line": 107 }, "start": { "column": 9, - "line": 187 + "line": 107 } } }, { - "id": "1182", - "mutatorName": "BooleanLiteral", - "replacement": "getAdditionalCardWithId(game.additionalCards, play.chosenCard._id)", - "status": "Timeout", + "id": "1407", + "mutatorName": "LogicalOperator", + "replacement": "scapegoatPlayer || isPlayerAliveAndPowerful(scapegoatPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(107,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(109,58): error TS18048: 'scapegoatPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "457", - "458" + "290", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 95, - "line": 187 + "column": 75, + "line": 107 }, "start": { - "column": 28, - "line": 187 + "column": 9, + "line": 107 } } }, { - "id": "1183", + "id": "1408", "mutatorName": "BlockStatement", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "457" + "293" ], "location": { "end": { "column": 6, - "line": 189 + "line": 110 }, "start": { - "column": 97, - "line": 187 + "column": 77, + "line": 107 } } }, { - "id": "1184", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:846:108\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1409", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalledWith(...expected)\n\nExpected: not {\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"c1083a7faf9f1ffbc54bdb5f\", \"createdAt\": 2023-08-12T02:24:32.118Z, \"currentPlay\": {\"action\": \"elect-sheriff\", \"cause\": undefined, \"source\": {\"name\": \"ancient\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1187570513870848}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bdb03d841ffacffdbe90904a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ariel\", \"position\": 3944366628405248, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"bf0fae2325c5f6bcd72a0f44\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Demond\", \"position\": 6506594703507456, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7391a9ac9ef12fd0af8914c9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Haylee\", \"position\": 5175710968709120, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"1c26cf4d0ece9c4bc010fff1\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Trevion\", \"position\": 6996463483617280, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 4619554856632320, \"turn\": 130874829963264, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T16:54:57.087Z}\nReceived: 0, [{\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"c1083a7faf9f1ffbc54bdb5f\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:24:32.118Z, \"currentPlay\": {\"action\": \"elect-sheriff\", \"cause\": undefined, \"source\": {\"name\": \"ancient\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1187570513870848}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bdb03d841ffacffdbe90904a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ariel\", \"position\": 3944366628405248, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"bf0fae2325c5f6bcd72a0f44\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Demond\", \"position\": 6506594703507456, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7391a9ac9ef12fd0af8914c9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Haylee\", \"position\": 5175710968709120, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"1c26cf4d0ece9c4bc010fff1\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Trevion\", \"position\": 6996463483617280, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 4619554856632320, \"turn\": 130874829963264, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T16:54:57.087Z, \"victory\": undefined}]\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:447:68)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 10, "static": false, "killedBy": [ - "459" + "294" ], "coveredBy": [ - "459", - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 4, - "line": 207 + "column": 40, + "line": 112 }, "start": { - "column": 124, - "line": 192 + "column": 9, + "line": 112 } } }, { - "id": "1185", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "1410", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"ec3875da8c00c454f33a111a\", \"createdAt\": 2023-08-11T20:59:40.989Z, \"currentPlay\": {\"action\": \"look\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 3349730362916864}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [{\"_id\": \"64ad408bd1b3fadaaeca9dbf\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Tressie\", \"position\": 7757509217484800, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ae27156cfddb75fdeecfeb7a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Pink\", \"position\": 8851773108256768, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"11675f4e26a8be6aceaecfef\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Reuben\", \"position\": 322166803398656, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cda2ebdbd6b9726da524ab8f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Serena\", \"position\": 6531609610158080, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 658472087584768, \"turn\": 7905585796218880, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T11:48:52.397Z}], but it was called with {\"action\": \"vote\", \"cause\": \"previous-votes-were-in-ties\", \"source\": {\"name\": \"all\", \"players\": undefined}}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:475:64)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "296" + ], "coveredBy": [ - "459", - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 67, - "line": 194 + "column": 40, + "line": 112 }, "start": { - "column": 52, - "line": 194 + "column": 9, + "line": 112 } } }, { - "id": "1186", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(200,58): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(202,66): error TS18048: 'unmatchedRevealedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(204,54): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", + "id": "1411", + "mutatorName": "EqualityOperator", + "replacement": "sheriffPlayer?.isAlive !== true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"ec4fcee4056e763353c9d7de\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"4a2c291ab13e728bdbcf4ed0\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Tatum\",\n- \"position\": 8799484102311936,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"f29f536df06bcf7af0f192be\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Ola\",\n \"position\": 5918980655022080,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"f6cbdeb7f6f0616dd6b1f7fb\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Effie\",\n- \"position\": 1529209725911040,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"bed1c2dc9effdb01bff0fbd8\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Lucy\",\n- \"position\": 1991929227116544,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 8945243084816385,\n \"turn\": 1409782822993920,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "459", - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 22, - "line": 195 + "column": 40, + "line": 112 }, "start": { "column": 9, - "line": 195 + "line": 112 } } }, { - "id": "1187", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(200,58): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(204,54): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", + "id": "1412", + "mutatorName": "OptionalChaining", + "replacement": "sheriffPlayer.isAlive", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(112,9): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "459", - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 22, - "line": 195 + "column": 31, + "line": 112 }, "start": { "column": 9, - "line": 195 + "line": 112 } } }, { - "id": "1188", - "mutatorName": "EqualityOperator", - "replacement": "game !== null", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(200,58): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(204,54): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,58): error TS2345: Argument of type 'null' is not assignable to parameter of type 'Game'.\n", - "status": "CompileError", + "id": "1413", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "459", - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "296", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 22, - "line": 195 + "column": 40, + "line": 112 }, "start": { - "column": 9, - "line": 195 + "column": 36, + "line": 112 } } }, { - "id": "1189", + "id": "1414", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(198,58): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(202,54): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(206,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"0f7fce8db6ffd8ccfe2ebde3\", \"createdAt\": 2023-08-12T05:46:29.285Z, \"currentPlay\": {\"action\": \"delegate\", \"cause\": undefined, \"source\": {\"name\": \"thief\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 3075045473648640}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [{\"_id\": \"a667aec8ee3e4fffde75ab6a\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Camryn\", \"position\": 8115895954046976, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ddf7fbfae81875e61c9cfe4c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Genevieve\", \"position\": 4040924816474112, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"19d57bebb94cd807ded5320b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Javon\", \"position\": 2241778231017472, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"aca36e2a2f8ec465e1b53ad7\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Donald\", \"position\": 5521341061005312, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 1720185715163136, \"turn\": 6851036977299456, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T03:50:50.283Z}], but it was called with {\"action\": \"vote\", \"cause\": \"previous-votes-were-in-ties\", \"source\": {\"name\": \"all\", \"players\": undefined}}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:475:64)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "296" + ], "coveredBy": [ - "459" + "296" ], "location": { "end": { "column": 6, - "line": 197 + "line": 115 }, "start": { - "column": 24, - "line": 195 + "column": 42, + "line": 112 } } }, { - "id": "1190", + "id": "1415", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(202,66): error TS18048: 'unmatchedRevealedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(204,54): error TS18047: 'game' is possibly 'null'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -157,9 +157,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 140148434010112,\n \"turn\": 3333082834796544,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"vote\",\n+ \"cause\": \"previous-votes-were-in-ties\",\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-11T19:59:12.004Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:517:79)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "299" + ], "coveredBy": [ - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 32, - "line": 199 + "column": 86, + "line": 116 }, "start": { "column": 9, - "line": 199 + "line": 116 } } }, { - "id": "1191", + "id": "1416", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(202,66): error TS18048: 'unmatchedRevealedPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "460", - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 32, - "line": 199 + "column": 86, + "line": 116 }, "start": { "column": 9, - "line": 199 + "line": 116 } } }, { - "id": "1192", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"players\", \"ea1f321e8a4c185b17e8ff1a\", \"Game Play - Player in `revealedPlayers` is not in the game players\"], but it was called with \"players\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts:847:41", + "id": "1417", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"03f934ed20d94a88e78c2f7b\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"b6f2a3aeba6f2eadb35aa989\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mia\",\n- \"position\": 5291454916198400,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"eb3c1b65a1c1f4a8af890d9a\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Myrtie\",\n \"position\": 3772383697567744,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"4abeefcf7ffbe6d59fccc3cd\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Asa\",\n- \"position\": 7929822502191104,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"4bef2103b2dd5a7cffc965b8\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Darron\",\n- \"position\": 5170275612098560,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 4982906059489281,\n \"turn\": 800347903754240,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 9, "static": false, "killedBy": [ - "460" - ], - "coveredBy": [ - "460" + "530" ], - "location": { - "end": { - "column": 6, - "line": 201 - }, - "start": { - "column": 34, - "line": 199 - } - } - }, - { - "id": "1193", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-history/game-history-record.service.ts(208,58): error TS2345: Argument of type 'Game | null' is not assignable to parameter of type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "299", + "530" ], "location": { "end": { - "column": 28, - "line": 203 + "column": 86, + "line": 116 }, "start": { "column": 9, - "line": 203 + "line": 116 } } }, { - "id": "1194", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-history/game-history-record.service.ts(206,66): error TS18048: 'unmatchedDeadPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1418", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"cd88a94aa65c0ecb01f76d91\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"6dff1aca16ecb6e4dff3e19a\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Ruthe\",\n- \"position\": 2889339342159872,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"7ceb47f4cae7e4ec3a3fba5c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Kay\",\n \"position\": 2606151642382336,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"fab6c09f5bb9a6fea55e9c71\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Karl\",\n- \"position\": 6158362183991296,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"a35a0dcfaabadb61dbfcd65e\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Tod\",\n- \"position\": 2470534103171072,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1263742266376193,\n \"turn\": 4318445749403648,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "461", - "462", - "572", - "573" + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "530" ], "location": { "end": { - "column": 28, - "line": 203 + "column": 6, + "line": 119 }, "start": { - "column": 9, - "line": 203 + "column": 88, + "line": 116 } } }, { - "id": "1195", - "mutatorName": "BlockStatement", + "id": "1419", + "mutatorName": "ObjectLiteral", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "461" + "290", + "291", + "292", + "294", + "295", + "297", + "298", + "530" ], "location": { "end": { - "column": 6, - "line": 205 + "column": 108, + "line": 117 }, "start": { - "column": 30, - "line": 203 + "column": 53, + "line": 117 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport type { Types } from \"mongoose\";\nimport { toJSON } from \"../../../../../../tests/helpers/object/object.helper\";\nimport { API_RESOURCES } from \"../../../../../shared/api/enums/api.enum\";\nimport { RESOURCE_NOT_FOUND_REASONS } from \"../../../../../shared/exception/enums/resource-not-found-error.enum\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ResourceNotFoundException } from \"../../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { plainToInstanceDefaultOptions } from \"../../../../../shared/validation/constants/validation.constant\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../../enums/game-history-record.enum\";\nimport type { WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from \"../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from \"../../../enums/player.enum\";\nimport { getAdditionalCardWithId, getNonexistentPlayer, getPlayerWithActiveAttributeName, getPlayerWithId } from \"../../../helpers/game.helper\";\nimport { GameHistoryRecordPlaySource } from \"../../../schemas/game-history-record/game-history-record-play/game-history-record-play-source.schema\";\nimport { GameHistoryRecordPlayVoting } from \"../../../schemas/game-history-record/game-history-record-play/game-history-record-play-voting.schema\";\nimport { GameHistoryRecordPlay } from \"../../../schemas/game-history-record/game-history-record-play/game-history-record-play.schema\";\nimport type { GameHistoryRecord } from \"../../../schemas/game-history-record/game-history-record.schema\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { GameHistoryRecordToInsert } from \"../../../types/game-history-record.type\";\nimport type { GameWithCurrentPlay } from \"../../../types/game-with-current-play\";\nimport { GameHistoryRecordRepository } from \"../../repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../repositories/game.repository\";\nimport { GamePlayVoteService } from \"../game-play/game-play-vote/game-play-vote.service\";\n\n@Injectable()\nexport class GameHistoryRecordService {\n public constructor(\n private readonly gamePlayVoteService: GamePlayVoteService,\n private readonly gameHistoryRecordRepository: GameHistoryRecordRepository,\n private readonly gameRepository: GameRepository,\n ) {}\n \n public async createGameHistoryRecord(gameHistoryRecordToInsert: GameHistoryRecordToInsert): Promise {\n await this.validateGameHistoryRecordToInsertData(gameHistoryRecordToInsert);\n return this.gameHistoryRecordRepository.create(gameHistoryRecordToInsert);\n }\n\n public async getLastGameHistoryGuardProtectsRecord(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getLastGameHistoryGuardProtectsRecord(gameId);\n }\n\n public async getLastGameHistoryTieInVotesRecord(gameId: Types.ObjectId, action: GAME_PLAY_ACTIONS): Promise {\n return this.gameHistoryRecordRepository.getLastGameHistoryTieInVotesRecord(gameId, action);\n }\n\n public async getGameHistoryWitchUsesSpecificPotionRecords(gameId: Types.ObjectId, potion: WITCH_POTIONS): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryWitchUsesSpecificPotionRecords(gameId, potion);\n }\n\n public async getGameHistoryVileFatherOfWolvesInfectedRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryVileFatherOfWolvesInfectedRecords(gameId);\n }\n\n public async getGameHistoryJudgeRequestRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryJudgeRequestRecords(gameId);\n }\n\n public async getGameHistoryWerewolvesEatAncientRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryWerewolvesEatAncientRecords(gameId);\n }\n\n public async getGameHistoryAncientProtectedFromWerewolvesRecords(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistoryAncientProtectedFromWerewolvesRecords(gameId);\n }\n\n public async getPreviousGameHistoryRecord(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getPreviousGameHistoryRecord(gameId);\n }\n \n public generateCurrentGameHistoryRecordToInsert(baseGame: Game, newGame: Game, play: MakeGamePlayWithRelationsDto): GameHistoryRecordToInsert {\n if (baseGame.currentPlay === null) {\n throw createNoCurrentGamePlayUnexpectedException(\"generateCurrentGameHistoryRecordToInsert\", { gameId: baseGame._id });\n }\n const gameHistoryRecordToInsert: GameHistoryRecordToInsert = {\n gameId: baseGame._id,\n turn: baseGame.turn,\n phase: baseGame.phase,\n tick: baseGame.tick,\n play: this.generateCurrentGameHistoryRecordPlayToInsert(baseGame as GameWithCurrentPlay, play),\n revealedPlayers: this.generateCurrentGameHistoryRecordRevealedPlayersToInsert(baseGame, newGame),\n deadPlayers: this.generateCurrentGameHistoryRecordDeadPlayersToInsert(baseGame, newGame),\n };\n if (gameHistoryRecordToInsert.play.votes) {\n gameHistoryRecordToInsert.play.voting = this.generateCurrentGameHistoryRecordPlayVotingToInsert(baseGame as GameWithCurrentPlay, newGame, gameHistoryRecordToInsert);\n }\n return plainToInstance(GameHistoryRecordToInsert, gameHistoryRecordToInsert, plainToInstanceDefaultOptions);\n }\n\n public async getGameHistory(gameId: Types.ObjectId): Promise {\n return this.gameHistoryRecordRepository.getGameHistory(gameId);\n }\n\n private generateCurrentGameHistoryRecordDeadPlayersToInsert(baseGame: Game, newGame: Game): Player[] | undefined {\n const { players: newPlayers } = newGame;\n const currentDeadPlayers = newPlayers.filter(player => {\n const matchingBasePlayer = getPlayerWithId(baseGame, player._id);\n return matchingBasePlayer?.isAlive === true && !player.isAlive;\n });\n return currentDeadPlayers.length ? currentDeadPlayers : undefined;\n }\n\n private generateCurrentGameHistoryRecordRevealedPlayersToInsert(baseGame: Game, newGame: Game): Player[] | undefined {\n const { players: newPlayers } = newGame;\n const currentRevealedPlayers = newPlayers.filter(player => {\n const matchingBasePlayer = getPlayerWithId(baseGame, player._id);\n return matchingBasePlayer?.role.isRevealed === false && player.role.isRevealed && player.isAlive;\n });\n return currentRevealedPlayers.length ? currentRevealedPlayers : undefined;\n }\n \n private generateCurrentGameHistoryRecordPlayToInsert(baseGame: GameWithCurrentPlay, play: MakeGamePlayWithRelationsDto): GameHistoryRecordPlay {\n const gameHistoryRecordPlayToInsert: GameHistoryRecordPlay = {\n source: this.generateCurrentGameHistoryRecordPlaySourceToInsert(baseGame),\n action: baseGame.currentPlay.action,\n didJudgeRequestAnotherVote: play.doesJudgeRequestAnotherVote,\n targets: play.targets,\n votes: play.votes,\n chosenCard: play.chosenCard,\n chosenSide: play.chosenSide,\n };\n return plainToInstance(GameHistoryRecordPlay, toJSON(gameHistoryRecordPlayToInsert), plainToInstanceDefaultOptions);\n }\n \n private generateCurrentGameHistoryRecordPlayVotingResultToInsert(\n baseGame: GameWithCurrentPlay,\n newGame: Game,\n gameHistoryRecordToInsert: GameHistoryRecordToInsert,\n ): GAME_HISTORY_RECORD_VOTING_RESULTS {\n const sheriffPlayer = getPlayerWithActiveAttributeName(newGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n const areSomePlayersDeadFromCurrentVotes = gameHistoryRecordToInsert.deadPlayers?.some(({ death }) => {\n const deathFromVoteCauses = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED];\n return death?.cause !== undefined && deathFromVoteCauses.includes(death.cause);\n }) === true;\n if (baseGame.currentPlay.action === GAME_PLAY_ACTIONS.ELECT_SHERIFF) {\n return sheriffPlayer ? GAME_HISTORY_RECORD_VOTING_RESULTS.SHERIFF_ELECTION : GAME_HISTORY_RECORD_VOTING_RESULTS.TIE;\n }\n if (!gameHistoryRecordToInsert.play.votes || gameHistoryRecordToInsert.play.votes.length === 0) {\n return GAME_HISTORY_RECORD_VOTING_RESULTS.SKIPPED;\n }\n if (areSomePlayersDeadFromCurrentVotes) {\n return GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH;\n }\n if (baseGame.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n return GAME_HISTORY_RECORD_VOTING_RESULTS.INCONSEQUENTIAL;\n }\n return GAME_HISTORY_RECORD_VOTING_RESULTS.TIE;\n }\n\n private generateCurrentGameHistoryRecordPlayVotingToInsert(\n baseGame: GameWithCurrentPlay,\n newGame: Game,\n gameHistoryRecordToInsert: GameHistoryRecordToInsert,\n ): GameHistoryRecordPlayVoting {\n const votes = gameHistoryRecordToInsert.play.votes ?? [];\n const nominatedPlayers = this.gamePlayVoteService.getNominatedPlayers(votes, baseGame);\n const gameHistoryRecordPlayVoting: GameHistoryRecordPlayVoting = {\n result: this.generateCurrentGameHistoryRecordPlayVotingResultToInsert(baseGame, newGame, gameHistoryRecordToInsert),\n nominatedPlayers,\n };\n return plainToInstance(GameHistoryRecordPlayVoting, gameHistoryRecordPlayVoting, plainToInstanceDefaultOptions);\n }\n \n private generateCurrentGameHistoryRecordPlaySourceToInsert(baseGame: GameWithCurrentPlay): GameHistoryRecordPlaySource {\n return plainToInstance(GameHistoryRecordPlaySource, toJSON(baseGame.currentPlay.source), plainToInstanceDefaultOptions);\n }\n\n private validateGameHistoryRecordToInsertPlayData(play: GameHistoryRecordPlay, game: Game): void {\n const unmatchedSource = getNonexistentPlayer(game, play.source.players);\n if (unmatchedSource) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedSource._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_SOURCE);\n }\n const unmatchedTarget = getNonexistentPlayer(game, play.targets?.map(target => target.player));\n if (unmatchedTarget) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedTarget._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_TARGET);\n }\n const unmatchedVoter = getNonexistentPlayer(game, play.votes?.map(vote => vote.source));\n if (unmatchedVoter) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedVoter._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_SOURCE);\n }\n const unmatchedVoteTarget = getNonexistentPlayer(game, play.votes?.map(vote => vote.target));\n if (unmatchedVoteTarget) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedVoteTarget._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_PLAYER_VOTE_TARGET);\n }\n if (play.chosenCard && !getAdditionalCardWithId(game.additionalCards, play.chosenCard._id)) {\n throw new ResourceNotFoundException(API_RESOURCES.GAME_ADDITIONAL_CARDS, play.chosenCard._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_CHOSEN_CARD);\n }\n }\n\n private async validateGameHistoryRecordToInsertData(gameHistoryRecordToInsert: GameHistoryRecordToInsert): Promise {\n const { gameId, play, revealedPlayers, deadPlayers } = gameHistoryRecordToInsert;\n const game = await this.gameRepository.findOne({ _id: gameId });\n if (game === null) {\n throw new ResourceNotFoundException(API_RESOURCES.GAMES, gameId.toString(), RESOURCE_NOT_FOUND_REASONS.UNKNOWN_GAME_PLAY_GAME_ID);\n }\n const unmatchedRevealedPlayer = getNonexistentPlayer(game, revealedPlayers);\n if (unmatchedRevealedPlayer) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedRevealedPlayer._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_REVEALED_PLAYER);\n }\n const unmatchedDeadPlayer = getNonexistentPlayer(game, deadPlayers);\n if (unmatchedDeadPlayer) {\n throw new ResourceNotFoundException(API_RESOURCES.PLAYERS, unmatchedDeadPlayer._id.toString(), RESOURCE_NOT_FOUND_REASONS.UNMATCHED_GAME_PLAY_DEAD_PLAYER);\n }\n this.validateGameHistoryRecordToInsertPlayData(play, game);\n }\n}" - }, - "src/modules/game/providers/services/game-phase/game-phase.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1196", + "id": "1420", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(19,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(123,123): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "794" + "300", + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { "column": 4, - "line": 25 + "line": 141 }, "start": { - "column": 97, - "line": 19 + "column": 137, + "line": 123 } } }, { - "id": "1197", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(jest.fn()).toHaveBeenNthCalledWith(n, ...expected)\n\nn: 1\nExpected: {\"_id\": \"ce5ed91dccc66765447ec0e5\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Luz\", \"position\": 1869224628715520, \"role\": {\"current\": \"white-werewolf\", \"isRevealed\": false, \"original\": \"scapegoat\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}, {\"_id\": \"83ca15cfe3b8a99bcd4dd72c\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T10:11:18.005Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 1797656655429632}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 5}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"ce5ed91dccc66765447ec0e5\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Luz\", \"position\": 1869224628715520, \"role\": {\"current\": \"white-werewolf\", \"isRevealed\": false, \"original\": \"scapegoat\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}, {\"_id\": \"8ca0d2b4bfcfc7ae61f11bf4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Danial\", \"position\": 5560365943357440, \"role\": {\"current\": \"cupid\", \"isRevealed\": true, \"original\": \"villager\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"villagers\"}}, {\"_id\": \"a49aac3bf247cad0bad3a57a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Angus\", \"position\": 3199196194668544, \"role\": {\"current\": \"two-sisters\", \"isRevealed\": true, \"original\": \"witch\"}, \"side\": {\"current\": \"villagers\", \"original\": \"werewolves\"}}, {\"_id\": \"f3bef008cfcfc58f12467bc7\", \"attributes\": [], \"death\": undefined, \"isAlive\": false, \"name\": \"Jada\", \"position\": 7537568333692928, \"role\": {\"current\": \"vile-father-of-wolves\", \"isRevealed\": true, \"original\": \"little-girl\"}, \"side\": {\"current\": \"villagers\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 2945012708933632, \"turn\": 314298505101312, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T04:46:50.770Z, \"victory\": undefined}\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:75:96)", - "status": "Killed", - "testsCompleted": 1, + "id": "1421", + "mutatorName": "BooleanLiteral", + "replacement": "votes", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(128,75): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "794" - ], + "killedBy": [], "coveredBy": [ - "794" + "300", + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 6, - "line": 23 + "column": 15, + "line": 125 }, "start": { - "column": 46, - "line": 21 + "column": 9, + "line": 125 } } }, { - "id": "1198", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(27,72): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1422", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(128,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "795", - "796" + "300", + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 4, - "line": 38 + "column": 15, + "line": 125 }, "start": { - "column": 86, - "line": 27 + "column": 9, + "line": 125 } } }, { - "id": "1199", + "id": "1423", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(128,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "795", - "796" + "300", + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 62, - "line": 29 + "column": 15, + "line": 125 }, "start": { - "column": 24, - "line": 29 + "column": 9, + "line": 125 } } }, { - "id": "1200", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 4\n+ Received + 12\n\n@@ -76,29 +76,37 @@\n },\n \"votes\": VotesGameOptions {\n \"canBeSkipped\": false,\n },\n },\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"playing\",\n \"tick\": 1264985466470400,\n- \"turn\": 4227531297259520,\n+ \"turn\": 4227531297259521,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n+ \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"werewolves\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n ],\n \"updatedAt\": 2023-08-12T08:01:10.789Z,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:111:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1424", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(126,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "796" - ], + "killedBy": [], "coveredBy": [ - "795", - "796" + "300" ], "location": { "end": { - "column": 62, - "line": 29 + "column": 6, + "line": 127 }, "start": { - "column": 24, - "line": 29 + "column": 17, + "line": 125 } } }, { - "id": "1201", - "mutatorName": "EqualityOperator", - "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", - "status": "Timeout", + "id": "1425", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -219,10 +219,17 @@\n \"status\": \"playing\",\n \"tick\": 8080261386338305,\n \"turn\": 4640979097223168,\n \"upcomingPlays\": Array [\n Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"stuttering-judge-request\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 62, - "line": 29 + "column": 45, + "line": 129 }, "start": { - "column": 24, - "line": 29 + "column": 9, + "line": 129 } } }, { - "id": "1202", + "id": "1426", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"day\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 6458230530113536,\n- \"turn\": 2680152280530944,\n+ \"turn\": 2680152280530945,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:111:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"1b802906cf1f9af7aa79b5fb\", \"createdAt\": 2023-08-11T19:05:03.105Z, \"currentPlay\": {\"action\": \"delegate\", \"cause\": undefined, \"source\": {\"name\": \"big-bad-wolf\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 8648994330771456}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 1}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"f42aeacbaeda5b0680acd274\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Tom\", \"position\": 4831723634294784, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"f9d8b7f0a3abeebc5154f2da\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lola\", \"position\": 6952561632346112, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"32af9ad4ca4345f78344bdba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Kristian\", \"position\": 3490211828858880, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"fc60bbe5d71b1dabeabe7a02\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Eleanore\", \"position\": 171645790584832, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 8231013660491776, \"turn\": 3756773848645632, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": \"stuttering-judge-request\", \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-11T22:08:23.323Z}], but it was called with {\"_id\": \"1b802906cf1f9af7aa79b5fb\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T19:05:03.105Z, \"currentPlay\": {\"action\": \"delegate\", \"cause\": undefined, \"source\": {\"name\": \"big-bad-wolf\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 8648994330771456}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 1}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"f42aeacbaeda5b0680acd274\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Tom\", \"position\": 4831723634294784, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"f9d8b7f0a3abeebc5154f2da\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lola\", \"position\": 6952561632346112, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"32af9ad4ca4345f78344bdba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Kristian\", \"position\": 3490211828858880, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"fc60bbe5d71b1dabeabe7a02\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Eleanore\", \"position\": 171645790584832, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 8231013660491776, \"turn\": 3756773848645632, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T22:08:23.323Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:607:64)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "796" + "303" ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 47, - "line": 30 + "column": 45, + "line": 129 }, "start": { "column": 9, - "line": 30 + "line": 129 } } }, { - "id": "1203", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 7278783931351040,\n- \"turn\": 1707158645243905,\n+ \"turn\": 1707158645243904,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1427", + "mutatorName": "EqualityOperator", + "replacement": "doesJudgeRequestAnotherVote !== true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -157,9 +157,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 7898640651649024,\n \"turn\": 3358978411069440,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"vote\",\n+ \"cause\": \"stuttering-judge-request\",\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T03:31:41.361Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "795" + "301" ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 47, - "line": 30 + "column": 45, + "line": 129 }, "start": { "column": 9, - "line": 30 + "line": 129 } } }, { - "id": "1204", - "mutatorName": "EqualityOperator", - "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 6022680843124736,\n- \"turn\": 5327850104160257,\n+ \"turn\": 5327850104160256,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1428", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -157,9 +157,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 2269014514466816,\n \"turn\": 8976248617304064,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"vote\",\n+ \"cause\": \"stuttering-judge-request\",\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-26T00:12:43.016Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "795" + "301" ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 47, - "line": 30 + "column": 45, + "line": 129 }, "start": { - "column": 9, - "line": 30 + "column": 41, + "line": 129 } } }, { - "id": "1205", + "id": "1429", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"c84cbfb5d8acdda88fca2e51\", \"createdAt\": 2023-08-12T08:14:27.378Z, \"currentPlay\": {\"action\": \"choose-card\", \"cause\": undefined, \"source\": {\"name\": \"wild-child\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 838495297863680}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 0}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"2a1c97d8e9a9d4adb0202c3c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jarrett\", \"position\": 5540245323907072, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"2be1cddde19f36a2eb5d5fbd\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Karley\", \"position\": 7655654946766848, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"aba2b8fc1ddfcceedbee2b4c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jamaal\", \"position\": 8633248380878848, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"2ea3bdb36b50cc5fdaa11a6b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Grayson\", \"position\": 3391227324006400, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 1156090572046336, \"turn\": 7218587668316160, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": \"stuttering-judge-request\", \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-11T18:16:32.079Z}], but it was called with {\"_id\": \"c84cbfb5d8acdda88fca2e51\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T08:14:27.378Z, \"currentPlay\": {\"action\": \"choose-card\", \"cause\": undefined, \"source\": {\"name\": \"wild-child\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 838495297863680}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 0}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"2a1c97d8e9a9d4adb0202c3c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jarrett\", \"position\": 5540245323907072, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"2be1cddde19f36a2eb5d5fbd\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Karley\", \"position\": 7655654946766848, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"aba2b8fc1ddfcceedbee2b4c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jamaal\", \"position\": 8633248380878848, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"2ea3bdb36b50cc5fdaa11a6b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Grayson\", \"position\": 3391227324006400, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 1156090572046336, \"turn\": 7218587668316160, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T18:16:32.079Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:607:64)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "303" + ], "coveredBy": [ - "795" + "303" ], "location": { "end": { "column": 6, - "line": 32 + "line": 132 }, "start": { - "column": 49, - "line": 30 + "column": 47, + "line": 129 } } }, { - "id": "1206", - "mutatorName": "UpdateOperator", - "replacement": "clonedGame.turn--", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -80,11 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"playing\",\n \"tick\": 922502865879040,\n- \"turn\": 7110429645996033,\n+ \"turn\": 7110429645996031,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1430", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"4c0fb9d6acdb1a257ddcaea3\", \"createdAt\": 2023-08-11T18:21:22.308Z, \"currentPlay\": {\"action\": \"choose-sign\", \"cause\": undefined, \"source\": {\"name\": \"angel\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 4537099827019776}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 3}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"f7f931b2aabeb59cf0f36016\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jackie\", \"position\": 4947396435902464, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cfa9d77babfbc68f7a07d1c2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Adam\", \"position\": 6632716338462720, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"79eab0ffe84c8dba46cf03de\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ned\", \"position\": 8892635966078976, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cbeaebc9de5bfedddea0e1c3\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Estel\", \"position\": 538398446059520, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 268914988679168, \"turn\": 5451736581931008, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": \"stuttering-judge-request\", \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-12T13:46:11.610Z}], but it was called with {\"_id\": \"4c0fb9d6acdb1a257ddcaea3\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T18:21:22.308Z, \"currentPlay\": {\"action\": \"choose-sign\", \"cause\": undefined, \"source\": {\"name\": \"angel\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 4537099827019776}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 3}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"f7f931b2aabeb59cf0f36016\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jackie\", \"position\": 4947396435902464, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cfa9d77babfbc68f7a07d1c2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Adam\", \"position\": 6632716338462720, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"79eab0ffe84c8dba46cf03de\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ned\", \"position\": 8892635966078976, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cbeaebc9de5bfedddea0e1c3\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Estel\", \"position\": 538398446059520, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 268914988679168, \"turn\": 5451736581931008, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": undefined, \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-12T13:46:11.610Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:607:64)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "795" + "303" ], "coveredBy": [ - "795" + "303" ], "location": { "end": { - "column": 24, - "line": 31 + "column": 105, + "line": 130 }, "start": { - "column": 7, - "line": 31 + "column": 53, + "line": 130 } } }, { - "id": "1207", + "id": "1431", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -91,14 +91,22 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n+ \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"werewolves\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n ],\n \"updatedAt\": 2023-08-12T07:37:28.467Z,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:111:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"acd5b9ff1dd965346e69fed7\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:36:55.680Z, \"currentPlay\": {\"action\": \"look\", \"cause\": undefined, \"source\": {\"name\": \"villager-villager\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 8506546380079104}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 1}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bb2d4b96ededcdac8d99b4a9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Isabel\", \"position\": 8500642217721856, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"4f01816bc9a891ba1fe22f5f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Raphaelle\", \"position\": 8001977397018624, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"5b2e52fcf79c43c605a7cd80\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rodrigo\", \"position\": 8472530497044480, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cdafee2cb9f09ae3f027be38\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Reagan\", \"position\": 5890589220405248, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 3419382688514048, \"turn\": 2621848242094080, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T01:48:31.529Z, \"victory\": undefined}\nReceived: undefined\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "796" + "301" ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 70, - "line": 35 + "column": 36, + "line": 133 }, "start": { - "column": 32, - "line": 35 + "column": 9, + "line": 133 } } }, { - "id": "1208", + "id": "1432", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -91,22 +91,14 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n+ \"action\": \"vote\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n+ \"name\": \"all\",\n \"players\": undefined,\n },\n },\n ],\n \"updatedAt\": 2023-08-12T07:43:23.817Z,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:583:64)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "795" + "302" ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 70, - "line": 35 + "column": 36, + "line": 133 }, "start": { - "column": 32, - "line": 35 + "column": 9, + "line": 133 } } }, { - "id": "1209", + "id": "1433", "mutatorName": "EqualityOperator", - "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", - "status": "Timeout", + "replacement": "nominatedPlayers.length >= 1", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:628:60)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "304" + ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 70, - "line": 35 + "column": 36, + "line": 133 }, "start": { - "column": 32, - "line": 35 + "column": 9, + "line": 133 } } }, { - "id": "1210", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 26\n+ Received + 1\n\n@@ -81,34 +81,9 @@\n \"phase\": \"night\",\n \"players\": Array [],\n \"status\": \"canceled\",\n \"tick\": 209190033293312,\n \"turn\": 817675313872897,\n- \"upcomingPlays\": Array [\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": 2023-08-11T21:21:26.289Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:100:98)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1434", + "mutatorName": "EqualityOperator", + "replacement": "nominatedPlayers.length <= 1", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"df997868a35f7e69c9c1b90d\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T23:29:31.156Z, \"currentPlay\": {\"action\": \"look\", \"cause\": undefined, \"source\": {\"name\": \"villager-villager\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 1}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 6319752895004672}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 4}, \"twoSisters\": {\"wakingUpInterval\": 5}, \"whiteWerewolf\": {\"wakingUpInterval\": 5}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"da9be2e104fdf1d72abd3d1d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Melany\", \"position\": 2426117336072192, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"00be70fb78bb812147a6dd00\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jaquelin\", \"position\": 8530543014576128, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7bde68cbbe2cdc5c6daee0ab\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Veronica\", \"position\": 5598816942161920, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"5c1ce2e0f4ebfefdafaefde4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lavern\", \"position\": 7783348061601792, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 2582233258917888, \"turn\": 7690517781413888, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T21:00:54.912Z, \"victory\": undefined}\nReceived: undefined\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "795" + "301" ], "coveredBy": [ - "795", - "796" + "301", + "302", + "303", + "304", + "530" ], "location": { "end": { - "column": 84, - "line": 36 + "column": 36, + "line": 133 }, "start": { - "column": 32, - "line": 36 + "column": 9, + "line": 133 } } }, { - "id": "1211", + "id": "1435", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(40,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "797", - "798" + "302", + "303", + "530" ], "location": { "end": { - "column": 4, - "line": 47 + "column": 6, + "line": 135 }, "start": { - "column": 107, - "line": 40 + "column": 38, + "line": 133 } } }, { - "id": "1212", + "id": "1436", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).resolves.toStrictEqual()\n\nReceived promise rejected instead of resolved\nRejected to value: [TypeError: Cannot read properties of undefined (reading '_id')]\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "301" + ], "coveredBy": [ - "797", - "798" + "301", + "304" ], "location": { "end": { - "column": 109, - "line": 43 + "column": 38, + "line": 136 }, "start": { "column": 9, - "line": 43 + "line": 136 } } }, { - "id": "1213", + "id": "1437", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:628:60)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "304" + ], "coveredBy": [ - "797", - "798" + "301", + "304" ], "location": { "end": { - "column": 109, - "line": 43 + "column": 38, + "line": 136 }, "start": { "column": 9, - "line": 43 + "line": 136 } } }, { - "id": "1214", + "id": "1438", + "mutatorName": "EqualityOperator", + "replacement": "nominatedPlayers.length !== 1", + "statusReason": "Error: expect(received).resolves.toStrictEqual()\n\nReceived promise rejected instead of resolved\nRejected to value: [TypeError: Cannot read properties of undefined (reading '_id')]\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "301" + ], + "coveredBy": [ + "301", + "304" + ], + "location": { + "end": { + "column": 38, + "line": 136 + }, + "start": { + "column": 9, + "line": 136 + } + } + }, + { + "id": "1439", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:129:79)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:628:60)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "798" + "304" ], "coveredBy": [ - "798" + "304" ], "location": { "end": { "column": 6, - "line": 45 + "line": 139 }, "start": { - "column": 111, - "line": 43 + "column": 40, + "line": 136 } } }, { - "id": "1215", + "id": "1440", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(49,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(143,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "799", - "800" + "305", + "306", + "307" ], "location": { "end": { "column": 4, - "line": 60 + "line": 155 }, "start": { - "column": 109, - "line": 49 + "column": 99, + "line": 143 } } }, { - "id": "1216", + "id": "1441", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(54,108): error TS2345: Argument of type 'PlayerAttribute | undefined' is not assignable to parameter of type 'PlayerAttribute'.\n Type 'undefined' is not assignable to type 'PlayerAttribute'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(152,39): error TS18048: 'randomNominatedPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "799", - "800" + "305", + "306", + "307" ], "location": { "end": { - "column": 23, - "line": 53 + "column": 86, + "line": 145 }, "start": { "column": 9, - "line": 53 + "line": 145 } } }, { - "id": "1217", + "id": "1442", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(54,108): error TS2345: Argument of type 'PlayerAttribute | undefined' is not assignable to parameter of type 'PlayerAttribute'.\n Type 'undefined' is not assignable to type 'PlayerAttribute'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -159,18 +159,10 @@\n \"status\": \"over\",\n \"tick\": 5341890111078400,\n \"turn\": 7184445008248832,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"elect-sheriff\",\n- \"cause\": \"previous-votes-were-in-ties\",\n- \"source\": GamePlaySource {\n- \"name\": \"all\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:655:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "305" + ], + "coveredBy": [ + "305", + "306", + "307" + ], + "location": { + "end": { + "column": 86, + "line": 145 + }, + "start": { + "column": 9, + "line": 145 + } + } + }, + { + "id": "1443", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "799", - "800" + "305", + "306", + "307" ], "location": { "end": { - "column": 23, - "line": 53 + "column": 86, + "line": 145 }, "start": { "column": 9, - "line": 53 + "line": 145 } } }, { - "id": "1218", + "id": "1444", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -159,18 +159,10 @@\n \"status\": \"over\",\n \"tick\": 7650602200858624,\n \"turn\": 546399041093632,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"elect-sheriff\",\n- \"cause\": \"previous-votes-were-in-ties\",\n- \"source\": GamePlaySource {\n- \"name\": \"all\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:655:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "305" + ], "coveredBy": [ - "800" + "305" ], "location": { "end": { "column": 6, - "line": 55 + "line": 148 }, "start": { - "column": 25, - "line": 53 + "column": 88, + "line": 145 } } }, { - "id": "1219", + "id": "1445", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -160,11 +160,11 @@\n \"tick\": 5063712276742144,\n \"turn\": 4141117029220352,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"elect-sheriff\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:655:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "305" + ], + "coveredBy": [ + "305" + ], + "location": { + "end": { + "column": 128, + "line": 146 + }, + "start": { + "column": 73, + "line": 146 + } + } + }, + { + "id": "1446", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(152,39): error TS18048: 'randomNominatedPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "799", - "800" + "306", + "307" ], "location": { "end": { - "column": 115, - "line": 56 + "column": 30, + "line": 150 }, "start": { "column": 9, - "line": 56 + "line": 150 } } }, { - "id": "1220", + "id": "1447", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:156:83)", - "status": "Killed", - "testsCompleted": 2, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(152,39): error TS18048: 'randomNominatedPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "800" - ], + "killedBy": [], "coveredBy": [ - "799", - "800" + "306", + "307" ], "location": { "end": { - "column": 115, - "line": 56 + "column": 30, + "line": 150 }, "start": { "column": 9, - "line": 56 + "line": 150 } } }, { - "id": "1221", + "id": "1448", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:156:83)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"b55462a72ecc033aafae45aa\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Ayana\",\n \"position\": 4771125854732288,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:683:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "800" + "306" ], "coveredBy": [ - "800" + "306" ], "location": { "end": { "column": 6, - "line": 58 + "line": 153 }, "start": { - "column": 117, - "line": 56 + "column": 32, + "line": 150 } } }, { - "id": "1222", + "id": "1449", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-phase/game-phase.service.ts(62,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(157,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "801", - "802" + "308", + "309", + "310", + "311" ], "location": { "end": { "column": 4, - "line": 69 + "line": 172 }, "start": { - "column": 113, - "line": 62 + "column": 96, + "line": 157 } } }, { - "id": "1223", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "1450", + "mutatorName": "BooleanLiteral", + "replacement": "votes", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(163,75): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "801", - "802" + "308", + "309", + "310", + "311" ], "location": { "end": { - "column": 47, - "line": 65 + "column": 15, + "line": 160 }, "start": { "column": 9, - "line": 65 + "line": 160 } } }, { - "id": "1224", + "id": "1451", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(163,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "801", - "802" + "308", + "309", + "310", + "311" ], "location": { - "end": { - "column": 47, - "line": 65 + "end": { + "column": 15, + "line": 160 }, "start": { "column": 9, - "line": 65 + "line": 160 } } }, { - "id": "1225", - "mutatorName": "EqualityOperator", - "replacement": "clonedGame.phase !== GAME_PHASES.NIGHT", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:182:92)", - "status": "Killed", - "testsCompleted": 2, + "id": "1452", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(163,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "801" - ], + "killedBy": [], "coveredBy": [ - "801", - "802" + "308", + "309", + "310", + "311" ], "location": { "end": { - "column": 47, - "line": 65 + "column": 15, + "line": 160 }, "start": { "column": 9, - "line": 65 + "line": 160 } } }, { - "id": "1226", + "id": "1453", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts:182:92)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(161,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "801" - ], + "killedBy": [], "coveredBy": [ - "801" + "308" ], "location": { "end": { "column": 6, - "line": 67 + "line": 162 }, "start": { - "column": 49, - "line": 65 + "column": 17, + "line": 160 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES } from \"../../../enums/player.enum\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { doesPlayerHaveActiveAttributeWithName, getActivePlayerAttributeWithName } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { createPlayer } from \"../../../helpers/player/player.factory\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { GamePlayService } from \"../game-play/game-play.service\";\nimport { PlayerAttributeService } from \"../player/player-attribute.service\";\n\n@Injectable()\nexport class GamePhaseService {\n public constructor(\n private readonly playerAttributeService: PlayerAttributeService,\n private readonly gamePlayService: GamePlayService,\n ) {}\n\n public async applyEndingGamePhasePlayerAttributesOutcomesToPlayers(game: Game): Promise {\n let clonedGame = createGame(game);\n for (const player of clonedGame.players) {\n clonedGame = await this.applyEndingGamePhasePlayerAttributesOutcomesToPlayer(player, clonedGame);\n }\n return clonedGame;\n }\n\n public async switchPhaseAndAppendGamePhaseUpcomingPlays(game: Game): Promise {\n const clonedGame = createGame(game);\n clonedGame.phase = clonedGame.phase === GAME_PHASES.NIGHT ? GAME_PHASES.DAY : GAME_PHASES.NIGHT;\n if (clonedGame.phase === GAME_PHASES.NIGHT) {\n clonedGame.turn++;\n }\n const upcomingNightPlays = await this.gamePlayService.getUpcomingNightPlays(clonedGame);\n const upcomingDayPlays = this.gamePlayService.getUpcomingDayPlays();\n const phaseUpcomingPlays = clonedGame.phase === GAME_PHASES.NIGHT ? upcomingNightPlays : upcomingDayPlays;\n clonedGame.upcomingPlays = [...clonedGame.upcomingPlays, ...phaseUpcomingPlays];\n return clonedGame;\n }\n\n private async applyEndingDayPlayerAttributesOutcomesToPlayer(player: Player, game: Game): Promise {\n let clonedGame = createGame(game);\n const clonedPlayer = createPlayer(player);\n if (doesPlayerHaveActiveAttributeWithName(clonedPlayer, PLAYER_ATTRIBUTE_NAMES.CONTAMINATED, clonedGame)) {\n clonedGame = await this.playerAttributeService.applyContaminatedAttributeOutcomes(clonedPlayer, clonedGame);\n }\n return clonedGame;\n }\n\n private async applyEndingNightPlayerAttributesOutcomesToPlayer(player: Player, game: Game): Promise {\n let clonedGame = createGame(game);\n const clonedPlayer = createPlayer(player);\n const eatenAttribute = getActivePlayerAttributeWithName(clonedPlayer, PLAYER_ATTRIBUTE_NAMES.EATEN, clonedGame);\n if (eatenAttribute) {\n clonedGame = await this.playerAttributeService.applyEatenAttributeOutcomes(clonedPlayer, clonedGame, eatenAttribute);\n }\n if (doesPlayerHaveActiveAttributeWithName(clonedPlayer, PLAYER_ATTRIBUTE_NAMES.DRANK_DEATH_POTION, clonedGame)) {\n clonedGame = await this.playerAttributeService.applyDrankDeathPotionAttributeOutcomes(clonedPlayer, clonedGame);\n }\n return clonedGame;\n }\n \n private async applyEndingGamePhasePlayerAttributesOutcomesToPlayer(player: Player, game: Game): Promise {\n const clonedGame = createGame(game);\n const clonedPlayer = createPlayer(player);\n if (clonedGame.phase === GAME_PHASES.NIGHT) {\n return this.applyEndingNightPlayerAttributesOutcomesToPlayer(clonedPlayer, clonedGame);\n }\n return this.applyEndingDayPlayerAttributesOutcomesToPlayer(clonedPlayer, clonedGame);\n }\n}" - }, - "src/modules/game/providers/services/game-play/game-play-maker.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1227", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: Any\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:71:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1454", + "mutatorName": "BooleanLiteral", + "replacement": "nominatedPlayers.length", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"a7f9c0bfe26c84ef9023163c\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T18:31:14.719Z, \"currentPlay\": {\"action\": \"choose-side\", \"cause\": undefined, \"source\": {\"name\": \"raven\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 4254391206936576}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [{\"_id\": \"feb73caadf4db3eeb7fb82a6\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Etha\", \"position\": 1051785674358784, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"dfec2f39f9fa6ca4d3967145\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ian\", \"position\": 6463249534943232, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"709e2ce25fdacbabfbbce2d6\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Alexandra\", \"position\": 8618962986205184, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"db9c5cad460bdd6cbd6939bb\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ashly\", \"position\": 4993407820759040, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 4997588765900800, \"turn\": 8281384558788608, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T16:52:45.300Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:745:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 94, - "static": true, + "testsCompleted": 3, + "static": false, "killedBy": [ - "134" + "309" ], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "309", + "310", + "311" ], "location": { "end": { - "column": 4, - "line": 46 + "column": 33, + "line": 164 }, "start": { - "column": 162, - "line": 28 + "column": 9, + "line": 164 } } }, { - "id": "1228", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(29,33): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], - "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "id": "1455", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:765:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "310" ], - "location": { - "end": { - "column": 84, - "line": 29 - }, - "start": { - "column": 33, - "line": 29 - } - } - }, - { - "id": "1229", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(30,32): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "309", + "310", + "311" ], "location": { "end": { - "column": 79, - "line": 30 + "column": 33, + "line": 164 }, "start": { - "column": 32, - "line": 30 + "column": 9, + "line": 164 } - } - }, - { - "id": "1230", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(31,34): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], - "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + } + }, + { + "id": "1456", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"46aa8cc127f43f1a8a02f3a2\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T22:15:14.184Z, \"currentPlay\": {\"action\": \"mark\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 1}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 2255430036226048}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 0}, \"twoSisters\": {\"wakingUpInterval\": 5}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"94f2e41f44cedd7ec067e391\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rollin\", \"position\": 3586466963783680, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"d734a4399ea4eb3338ea5cb5\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Alfonso\", \"position\": 6698373035851776, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"95393a36cacf99fa54ca2580\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Bernhard\", \"position\": 4213598096195584, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"321c251feea917aac8ee21de\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Dovie\", \"position\": 6707626035380224, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 6451023180726272, \"turn\": 778257813209088, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T05:30:34.935Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:745:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "309" + ], + "coveredBy": [ + "309", + "310", + "311" ], "location": { "end": { - "column": 84, - "line": 31 + "column": 33, + "line": 164 }, "start": { - "column": 34, - "line": 31 + "column": 9, + "line": 164 } } }, { - "id": "1231", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(32,24): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], + "id": "1457", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"69ea4e3d5de117ceca04c9db\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T14:50:05.087Z, \"currentPlay\": {\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"scapegoat\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 5}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 3008373471576064}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 1}, \"whiteWerewolf\": {\"wakingUpInterval\": 5}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"0ba8b1a9ed2c8df2ef472f3c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Freeda\", \"position\": 2909677448855552, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"6e3621db2c7e81cd8526633c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Elisha\", \"position\": 8390248685895680, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"dfdd0c014081de5f05efea8d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Henriette\", \"position\": 8113568637517824, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"5f0f1c17bcaa6e7afc7889cc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Kendrick\", \"position\": 5065786966147072, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 6073501710548992, \"turn\": 3911428738121728, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T19:14:21.292Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:745:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "309" + ], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "309" ], "location": { "end": { - "column": 66, - "line": 32 + "column": 6, + "line": 166 }, "start": { - "column": 24, - "line": 32 + "column": 35, + "line": 164 } } }, { - "id": "1232", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(33,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, - "killedBy": [], + "id": "1458", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"460bb21da6d9fc3d1ddc1ede\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:03:29.412Z, \"currentPlay\": {\"action\": \"protect\", \"cause\": undefined, \"source\": {\"name\": \"lovers\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 7913446949519360}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 4}, \"twoSisters\": {\"wakingUpInterval\": 3}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"5e2484ced9b6fbde80cd4bda\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Junius\", \"position\": 8351686781304832, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ce5fbda3bcd3fc90a18514e7\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Kaleb\", \"position\": 7379444880637952, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"dbf1b530bef3eca59cd6cbe2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Axel\", \"position\": 7503855979855872, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"da9f9ee8a34dcdc076e2da6d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Loraine\", \"position\": 5282709056258048, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 815045644648448, \"turn\": 7244720596058112, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T23:46:40.968Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:792:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "311" + ], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "310", + "311" ], "location": { "end": { - "column": 69, - "line": 33 + "column": 38, + "line": 167 }, "start": { - "column": 25, - "line": 33 + "column": 9, + "line": 167 } } }, { - "id": "1233", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(34,30): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, + "id": "1459", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "310", + "311" ], "location": { "end": { - "column": 78, - "line": 34 + "column": 38, + "line": 167 }, "start": { - "column": 30, - "line": 34 + "column": 9, + "line": 167 } } }, { - "id": "1234", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(35,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, + "id": "1460", + "mutatorName": "EqualityOperator", + "replacement": "nominatedPlayers.length === 1", + "status": "Timeout", + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "310", + "311" + ], + "location": { + "end": { + "column": 38, + "line": 167 + }, + "start": { + "column": 9, + "line": 167 + } + } + }, + { + "id": "1461", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:765:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "310" + ], + "coveredBy": [ + "310" + ], + "location": { + "end": { + "column": 6, + "line": 169 + }, + "start": { + "column": 40, + "line": 167 + } + } + }, + { + "id": "1462", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(174,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "312", + "313", + "314", + "530" ], "location": { "end": { - "column": 74, - "line": 35 + "column": 4, + "line": 185 }, "start": { - "column": 25, - "line": 35 + "column": 103, + "line": 174 } } }, { - "id": "1235", + "id": "1463", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"32be689c7c9b5d7d1efbea9d\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"dc99ad9d0c1a5131cca0ddee\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Cathy\",\n- \"position\": 1922650666434560,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"883714d49b9cdeb7a6bfc9c0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Gerson\",\n \"position\": 2794625091764224,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"f3261ef5fea20afbef942c1e\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Estell\",\n- \"position\": 1122844889055232,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"deb55c917e3265901a8a3b21\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Wallace\",\n- \"position\": 1103519033589760,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 7389161447227393,\n \"turn\": 4304588649791488,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "530" + ], + "coveredBy": [ + "312", + "313", + "314", + "530" + ], + "location": { + "end": { + "column": 6, + "line": 179 + }, + "start": { + "column": 92, + "line": 176 + } + } + }, + { + "id": "1464", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(36,26): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(177,42): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "312", + "313", + "314", + "530" ], "location": { "end": { - "column": 76, - "line": 36 + "column": 86, + "line": 177 }, "start": { - "column": 26, - "line": 36 + "column": 42, + "line": 177 } } }, { - "id": "1236", + "id": "1465", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(37,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(178,33): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "312", + "313", + "314", + "530" ], "location": { "end": { - "column": 71, - "line": 37 + "column": 74, + "line": 178 }, "start": { - "column": 25, - "line": 37 + "column": 33, + "line": 178 } } }, { - "id": "1237", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(38,23): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1466", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(184,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "312", + "313", + "314", + "530" ], "location": { "end": { - "column": 65, - "line": 38 + "column": 36, + "line": 181 }, "start": { - "column": 23, - "line": 38 + "column": 9, + "line": 181 } } }, { - "id": "1238", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(39,30): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1467", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(184,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "312", + "313", + "314", + "530" + ], + "location": { + "end": { + "column": 36, + "line": 181 + }, + "start": { + "column": 9, + "line": 181 + } + } + }, + { + "id": "1468", + "mutatorName": "EqualityOperator", + "replacement": "allPlayMethod !== undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(184,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "312", + "313", + "314", + "530" ], "location": { "end": { - "column": 84, - "line": 39 + "column": 36, + "line": 181 }, "start": { - "column": 30, - "line": 39 + "column": 9, + "line": 181 } } }, { - "id": "1239", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(40,28): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1469", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(182,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "312" ], "location": { "end": { - "column": 79, - "line": 40 + "column": 6, + "line": 183 }, "start": { - "column": 28, - "line": 40 + "column": 38, + "line": 181 } } }, { - "id": "1240", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(41,29): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1470", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(187,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "315", + "316", + "317", + "318" ], "location": { "end": { - "column": 81, - "line": 41 + "column": 4, + "line": 201 }, "start": { - "column": 29, - "line": 41 + "column": 107, + "line": 187 } } }, { - "id": "1241", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(42,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1471", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "315", + "316", + "317", + "318" ], "location": { "end": { - "column": 74, - "line": 42 + "column": 36, + "line": 190 }, "start": { - "column": 25, - "line": 42 + "column": 9, + "line": 190 } } }, { - "id": "1242", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(43,26): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1472", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "315", + "316", + "317", + "318" + ], + "location": { + "end": { + "column": 36, + "line": 190 + }, + "start": { + "column": 9, + "line": 190 + } + } + }, + { + "id": "1473", + "mutatorName": "LogicalOperator", + "replacement": "!thiefPlayer && !chosenCard", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "315", + "316", + "317", + "318" + ], + "location": { + "end": { + "column": 36, + "line": 190 + }, + "start": { + "column": 9, + "line": 190 + } + } + }, + { + "id": "1474", + "mutatorName": "BooleanLiteral", + "replacement": "thiefPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "315", + "316", + "317", + "318" ], "location": { "end": { - "column": 71, - "line": 43 + "column": 21, + "line": 190 }, "start": { - "column": 26, - "line": 43 + "column": 9, + "line": 190 } } }, { - "id": "1243", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(44,25): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1475", + "mutatorName": "BooleanLiteral", + "replacement": "chosenCard", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "316", + "317", + "318" ], "location": { "end": { - "column": 68, - "line": 44 + "column": 36, + "line": 190 }, "start": { "column": 25, - "line": 44 + "line": 190 } } }, { - "id": "1244", + "id": "1476", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(191,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(195,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(196,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "315", + "316" + ], + "location": { + "end": { + "column": 6, + "line": 192 + }, + "start": { + "column": 38, + "line": 190 + } + } + }, + { + "id": "1477", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(45,39): error TS2322: Type '() => undefined' is not assignable to type '(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay) => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", - "status": "CompileError", - "static": true, + "status": "Timeout", + "static": false, "killedBy": [], "coveredBy": [ - "134", - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "155", - "156", - "157", - "158", - "159", - "160", - "161", - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "172", - "173", - "174", - "175", - "176", - "177", - "178", - "179", - "180", - "181", - "182", - "183", - "184", - "185", - "186", - "187", - "188", - "189", - "190", - "191", - "192", - "193", - "194", - "195", - "196", - "197", - "198", - "199", - "200", - "201", - "202", - "203", - "204", - "205", - "206", - "207", - "208", - "209", - "210", - "211", - "212", - "213", - "214", - "215", - "216", - "217", - "218", - "219", - "220", - "221", - "222", - "223", - "224", - "225", - "226", - "227" + "317", + "318" ], "location": { "end": { - "column": 89, - "line": 45 + "column": 76, + "line": 193 }, "start": { - "column": 39, - "line": 45 + "column": 35, + "line": 193 } } }, { - "id": "1245", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(53,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1478", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "317", + "318" ], "location": { "end": { - "column": 4, - "line": 63 + "column": 76, + "line": 193 }, "start": { - "column": 92, - "line": 53 + "column": 43, + "line": 193 } } }, { - "id": "1246", - "mutatorName": "BooleanLiteral", - "replacement": "game.currentPlay", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", + "id": "1479", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Kira\",\n \"position\": 3623784126873600,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ef1f5f83af5c679d43fd6a91\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 22, + "testsCompleted": 2, "static": false, "killedBy": [ - "135" + "318" ], "coveredBy": [ - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "317", + "318" ], "location": { "end": { - "column": 26, - "line": 54 + "column": 76, + "line": 193 + }, + "start": { + "column": 43, + "line": 193 + } + } + }, + { + "id": "1480", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== chosenCard.roleName", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Carlo\",\n \"position\": 6210538434461696,\n \"role\": PlayerRole {\n- \"current\": \"thief\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ef718dfbd9092b74adea0279\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:881:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "317" + ], + "coveredBy": [ + "317", + "318" + ], + "location": { + "end": { + "column": 76, + "line": 193 + }, + "start": { + "column": 43, + "line": 193 + } + } + }, + { + "id": "1481", + "mutatorName": "BooleanLiteral", + "replacement": "chosenRole", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "317", + "318" + ], + "location": { + "end": { + "column": 20, + "line": 194 }, "start": { "column": 9, - "line": 54 + "line": 194 } } }, { - "id": "1247", + "id": "1482", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "317", + "318" ], "location": { "end": { - "column": 26, - "line": 54 + "column": 20, + "line": 194 }, "start": { "column": 9, - "line": 54 + "line": 194 } } }, { - "id": "1248", + "id": "1483", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "135", - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "317", + "318" ], "location": { "end": { - "column": 26, - "line": 54 + "column": 20, + "line": 194 }, "start": { "column": 9, - "line": 54 + "line": 194 } } }, { - "id": "1249", + "id": "1484", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(195,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(196,70): error TS18048: 'chosenRole' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "135" - ], + "killedBy": [], "coveredBy": [ - "135" + "317" ], "location": { "end": { "column": 6, - "line": 56 + "line": 196 }, "start": { - "column": 28, - "line": 54 + "column": 22, + "line": 194 } } }, { - "id": "1250", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"makeGamePlay\", {\"gameId\": \"bd3d87c035d7ee3e1d421bd7\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:130:91)", + "id": "1485", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,11): error TS2739: Type '{}' is missing the following properties from type 'PlayerSide': original, current\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "318" + ], + "location": { + "end": { + "column": 87, + "line": 197 + }, + "start": { + "column": 38, + "line": 197 + } + } + }, + { + "id": "1486", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(198,11): error TS2739: Type '{}' is missing the following properties from type 'PlayerRole': original, current, isRevealed\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "318" + ], + "location": { + "end": { + "column": 87, + "line": 198 + }, + "start": { + "column": 38, + "line": 198 + } + } + }, + { + "id": "1487", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Ryleigh\",\n \"position\": 5113151257313280,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a46ebab3a5b871bb4aa65eab\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "135" + "318" ], "coveredBy": [ - "135" + "318" ], "location": { "end": { - "column": 70, - "line": 55 + "column": 91, + "line": 199 }, "start": { - "column": 56, - "line": 55 + "column": 49, + "line": 199 } } }, { - "id": "1251", - "mutatorName": "ObjectLiteral", + "id": "1488", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(55,72): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(203,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "135" + "319", + "320" ], "location": { "end": { - "column": 92, - "line": 55 + "column": 4, + "line": 210 }, "start": { - "column": 72, - "line": 55 + "column": 107, + "line": 203 } } }, { - "id": "1252", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1489", + "mutatorName": "BooleanLiteral", + "replacement": "targets", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "319", + "320" ], "location": { "end": { - "column": 43, - "line": 59 + "column": 17, + "line": 205 }, "start": { "column": 9, - "line": 59 + "line": 205 } } }, { - "id": "1253", + "id": "1490", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "319", + "320" ], "location": { "end": { - "column": 43, - "line": 59 + "column": 17, + "line": 205 }, "start": { "column": 9, - "line": 59 + "line": 205 } } }, { - "id": "1254", - "mutatorName": "EqualityOperator", - "replacement": "gameSourcePlayMethod !== undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(62,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1491", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "136", - "137", - "138", - "139", - "140", - "141", - "142", - "143", - "144", - "145", - "146", - "147", - "148", - "149", - "150", - "151", - "152", - "153", - "154", - "572", - "573" + "319", + "320" ], "location": { "end": { - "column": 43, - "line": 59 + "column": 17, + "line": 205 }, "start": { "column": 9, - "line": 59 + "line": 205 } } }, { - "id": "1255", + "id": "1492", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(60,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(207,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "136", - "137" + "319" ], "location": { "end": { "column": 6, - "line": 61 + "line": 207 }, "start": { - "column": 45, - "line": 59 + "column": 19, + "line": 205 } } }, { - "id": "1256", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(65,108): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1493", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "155", - "156" + "320" ], "location": { "end": { - "column": 4, - "line": 74 + "column": 76, + "line": 209 }, "start": { - "column": 122, - "line": 65 + "column": 50, + "line": 209 } } }, { - "id": "1257", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1494", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(212,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "155", - "156" + "321", + "322", + "323" ], "location": { "end": { - "column": 48, - "line": 68 + "column": 4, + "line": 220 }, "start": { - "column": 9, - "line": 68 + "column": 109, + "line": 212 } } }, { - "id": "1258", + "id": "1495", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "155", - "156" + "321", + "322", + "323" ], "location": { "end": { - "column": 48, - "line": 68 + "column": 51, + "line": 215 }, "start": { "column": 9, - "line": 68 + "line": 215 } } }, { - "id": "1259", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1496", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "155", - "156" + "321", + "322", + "323" ], "location": { "end": { - "column": 48, - "line": 68 + "column": 51, + "line": 215 }, "start": { "column": 9, - "line": 68 + "line": 215 } } }, { - "id": "1260", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(68,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(71,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1497", + "mutatorName": "LogicalOperator", + "replacement": "chosenSide === undefined && !dogWolfPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "155", - "156" + "321", + "322", + "323" ], "location": { "end": { - "column": 24, - "line": 68 + "column": 51, + "line": 215 }, "start": { "column": 9, - "line": 68 + "line": 215 } } }, { - "id": "1261", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(69,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1498", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "155" + "321", + "322", + "323" ], "location": { "end": { - "column": 6, - "line": 70 + "column": 33, + "line": 215 }, "start": { - "column": 50, - "line": 68 + "column": 9, + "line": 215 } } }, { - "id": "1262", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(76,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1499", + "mutatorName": "EqualityOperator", + "replacement": "chosenSide !== undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'undefined' is not assignable to type 'ROLE_SIDES'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "157", - "158" + "321", + "322", + "323" ], "location": { "end": { - "column": 4, - "line": 89 + "column": 33, + "line": 215 }, "start": { - "column": 104, - "line": 76 + "column": 9, + "line": 215 } } }, { - "id": "1263", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(85,54): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", + "id": "1500", + "mutatorName": "BooleanLiteral", + "replacement": "dogWolfPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "157", - "158" + "322", + "323" ], "location": { "end": { - "column": 48, - "line": 79 + "column": 51, + "line": 215 }, "start": { - "column": 9, - "line": 79 + "column": 37, + "line": 215 } } }, { - "id": "1264", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1501", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(216,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(216,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(217,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "157", - "158" + "321", + "322" ], "location": { "end": { - "column": 48, - "line": 79 + "column": 6, + "line": 217 }, "start": { - "column": 9, - "line": 79 + "column": 53, + "line": 215 } } }, { - "id": "1265", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1502", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -115,11 +115,11 @@\n \"current\": \"dog-wolf\",\n \"isRevealed\": false,\n \"original\": \"dog-wolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e2d3ebabcf03da0fe539777c\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1007:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "323" + ], "coveredBy": [ - "157", - "158" + "323" ], "location": { "end": { - "column": 48, - "line": 79 + "column": 105, + "line": 218 }, "start": { - "column": 9, - "line": 79 + "column": 49, + "line": 218 } } }, { - "id": "1266", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(79,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(82,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1503", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,51): error TS2739: Type '{}' is missing the following properties from type 'PlayerSide': original, current\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "157", - "158" + "323" ], "location": { "end": { - "column": 24, - "line": 79 + "column": 103, + "line": 218 }, "start": { - "column": 9, - "line": 79 + "column": 57, + "line": 218 } } }, { - "id": "1267", + "id": "1504", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(80,28): error TS18048: 'targets' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(222,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "157" + "324", + "325" ], "location": { "end": { - "column": 6, - "line": 81 + "column": 4, + "line": 231 }, "start": { - "column": 50, - "line": 79 + "column": 109, + "line": 222 } } }, { - "id": "1268", + "id": "1505", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(85,54): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "158" + "324", + "325" ], "location": { "end": { - "column": 22, - "line": 84 + "column": 48, + "line": 225 }, "start": { "column": 9, - "line": 84 + "line": 225 } } }, { - "id": "1269", + "id": "1506", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(85,54): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "158" + "324", + "325" ], "location": { "end": { - "column": 22, - "line": 84 + "column": 48, + "line": 225 }, "start": { "column": 9, - "line": 84 - } - } - }, - { - "id": "1270", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "158" - ], - "location": { - "end": { - "column": 6, - "line": 86 - }, - "start": { - "column": 24, - "line": 84 + "line": 225 } } }, { - "id": "1271", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(91,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1507", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159", - "160", - "161" - ], - "location": { - "end": { - "column": 4, - "line": 102 - }, - "start": { - "column": 108, - "line": 91 - } - } - }, - { - "id": "1272", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:364:64)", - "status": "Killed", - "testsCompleted": 3, - "static": false, - "killedBy": [ - "160" - ], - "coveredBy": [ - "159", - "160", - "161" + "324", + "325" ], "location": { "end": { - "column": 6, - "line": 96 + "column": 48, + "line": 225 }, "start": { - "column": 96, - "line": 93 + "column": 9, + "line": 225 } } }, { - "id": "1273", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(94,37): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1508", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(225,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159", - "160", - "161" + "324", + "325" ], "location": { "end": { - "column": 82, - "line": 94 + "column": 24, + "line": 225 }, "start": { - "column": 37, - "line": 94 + "column": 9, + "line": 225 } } }, { - "id": "1274", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(95,41): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1509", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(226,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159", - "160", - "161" + "324" ], "location": { "end": { - "column": 94, - "line": 95 + "column": 6, + "line": 227 }, "start": { - "column": 41, - "line": 95 + "column": 50, + "line": 225 } } }, { - "id": "1275", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(101,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1510", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(233,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159", - "160", - "161" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 98 + "column": 4, + "line": 249 }, "start": { - "column": 9, - "line": 98 + "column": 97, + "line": 233 } } }, { - "id": "1276", + "id": "1511", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(101,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159", - "160", - "161" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 98 + "column": 62, + "line": 238 }, "start": { "column": 9, - "line": 98 + "line": 238 } } }, { - "id": "1277", - "mutatorName": "EqualityOperator", - "replacement": "sheriffPlayMethod !== undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(101,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1512", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159", - "160", - "161" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 98 + "column": 62, + "line": 238 }, "start": { "column": 9, - "line": 98 + "line": 238 } } }, { - "id": "1278", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(99,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1513", + "mutatorName": "LogicalOperator", + "replacement": "targets?.length !== expectedTargetCount && !foxPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "159" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 6, - "line": 100 + "column": 62, + "line": 238 }, "start": { - "column": 42, - "line": 98 + "column": 9, + "line": 238 } } }, { - "id": "1279", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(104,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1514", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 4, - "line": 121 + "column": 48, + "line": 238 }, "start": { - "column": 76, - "line": 104 + "column": 9, + "line": 238 } } }, { - "id": "1280", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(109,58): error TS18048: 'scapegoatPlayer' is possibly 'undefined'.\n", + "id": "1515", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 75, - "line": 107 + "column": 48, + "line": 238 }, "start": { "column": 9, - "line": 107 + "line": 238 } } }, { - "id": "1281", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(109,58): error TS18048: 'scapegoatPlayer' is possibly 'undefined'.\n", + "id": "1516", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(238,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "326", + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 75, - "line": 107 + "column": 24, + "line": 238 }, "start": { "column": 9, - "line": 107 + "line": 238 } } }, { - "id": "1282", - "mutatorName": "LogicalOperator", - "replacement": "scapegoatPlayer || isPlayerAliveAndPowerful(scapegoatPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(107,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(109,58): error TS18048: 'scapegoatPlayer' is possibly 'undefined'.\n", + "id": "1517", + "mutatorName": "BooleanLiteral", + "replacement": "foxPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "165", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "327", + "328", + "329", + "330" ], "location": { "end": { - "column": 75, - "line": 107 + "column": 62, + "line": 238 }, "start": { - "column": 9, - "line": 107 + "column": 52, + "line": 238 } } }, { - "id": "1283", + "id": "1518", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(239,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(244,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "165" + "326", + "327" ], "location": { "end": { "column": 6, - "line": 110 + "line": 240 }, "start": { - "column": 77, - "line": 107 + "column": 64, + "line": 238 } } }, { - "id": "1284", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalledWith(...expected)\n\nExpected: not {\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"c1083a7faf9f1ffbc54bdb5f\", \"createdAt\": 2023-08-12T02:24:32.118Z, \"currentPlay\": {\"action\": \"elect-sheriff\", \"cause\": undefined, \"source\": {\"name\": \"ancient\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1187570513870848}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bdb03d841ffacffdbe90904a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ariel\", \"position\": 3944366628405248, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"bf0fae2325c5f6bcd72a0f44\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Demond\", \"position\": 6506594703507456, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7391a9ac9ef12fd0af8914c9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Haylee\", \"position\": 5175710968709120, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"1c26cf4d0ece9c4bc010fff1\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Trevion\", \"position\": 6996463483617280, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 4619554856632320, \"turn\": 130874829963264, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T16:54:57.087Z}\nReceived: 0, [{\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"c1083a7faf9f1ffbc54bdb5f\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:24:32.118Z, \"currentPlay\": {\"action\": \"elect-sheriff\", \"cause\": undefined, \"source\": {\"name\": \"ancient\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1187570513870848}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bdb03d841ffacffdbe90904a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ariel\", \"position\": 3944366628405248, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"bf0fae2325c5f6bcd72a0f44\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Demond\", \"position\": 6506594703507456, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7391a9ac9ef12fd0af8914c9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Haylee\", \"position\": 5175710968709120, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"1c26cf4d0ece9c4bc010fff1\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Trevion\", \"position\": 6996463483617280, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 4619554856632320, \"turn\": 130874829963264, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T16:54:57.087Z, \"victory\": undefined}]\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:447:68)", + "id": "1519", + "mutatorName": "MethodExpression", + "replacement": "foxSniffedPlayers.some(player => player.side.current === ROLE_SIDES.VILLAGERS)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"52a2c74fc6fb88f88d09bab4\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Guido\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 3, "static": false, "killedBy": [ - "166" + "329" ], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 112 + "column": 131, + "line": 243 }, "start": { - "column": 9, - "line": 112 + "column": 52, + "line": 243 } } }, { - "id": "1285", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"ec3875da8c00c454f33a111a\", \"createdAt\": 2023-08-11T20:59:40.989Z, \"currentPlay\": {\"action\": \"look\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 3349730362916864}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [{\"_id\": \"64ad408bd1b3fadaaeca9dbf\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Tressie\", \"position\": 7757509217484800, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ae27156cfddb75fdeecfeb7a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Pink\", \"position\": 8851773108256768, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"11675f4e26a8be6aceaecfef\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Reuben\", \"position\": 322166803398656, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cda2ebdbd6b9726da524ab8f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Serena\", \"position\": 6531609610158080, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 658472087584768, \"turn\": 7905585796218880, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T11:48:52.397Z}], but it was called with {\"action\": \"vote\", \"cause\": \"previous-votes-were-in-ties\", \"source\": {\"name\": \"all\", \"players\": undefined}}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:475:64)", + "id": "1520", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"efc8997ac7ecf14daa68ccc8\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"fox\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tatum\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 3, "static": false, "killedBy": [ - "168" + "330" ], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 112 + "column": 130, + "line": 243 }, "start": { - "column": 9, - "line": 112 + "column": 76, + "line": 243 } } }, { - "id": "1286", - "mutatorName": "EqualityOperator", - "replacement": "sheriffPlayer?.isAlive !== true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 59\n+ Received + 3\n\n@@ -1,78 +1,29 @@\n Object {\n \"_id\": \"55f30133adb9da1b24e3aab9\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"b416a6c0c46dde14fac5b5ba\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Rolando\",\n- \"position\": 955336085209088,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"afefef95c292e4fa5fd8da8d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Elnora\",\n \"position\": 6606637955547136,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"4fbbaac5efff7c83d2ce8b58\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Laverna\",\n- \"position\": 688164893097984,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n },\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"2c13da5fc9dfccfcb84ac8c6\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antone\",\n- \"position\": 8230959436529664,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -217,15 +168,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 2270856046706689,\n \"turn\": 8472260419518464,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 10, + "id": "1521", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 112 + "column": 130, + "line": 243 }, "start": { - "column": 9, - "line": 112 + "column": 86, + "line": 243 } } }, { - "id": "1287", - "mutatorName": "OptionalChaining", - "replacement": "sheriffPlayer.isAlive", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(112,9): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1522", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"bccecceec09ef8ac1ffffbe1\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"fox\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Geoffrey\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "330" + ], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 31, - "line": 112 + "column": 130, + "line": 243 }, "start": { - "column": 9, - "line": 112 + "column": 86, + "line": 243 } } }, { - "id": "1288", - "mutatorName": "BooleanLiteral", - "replacement": "false", + "id": "1523", + "mutatorName": "EqualityOperator", + "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "168", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 40, - "line": 112 + "column": 130, + "line": 243 }, "start": { - "column": 36, - "line": 112 + "column": 86, + "line": 243 } } }, { - "id": "1289", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, {\"_id\": \"0f7fce8db6ffd8ccfe2ebde3\", \"createdAt\": 2023-08-12T05:46:29.285Z, \"currentPlay\": {\"action\": \"delegate\", \"cause\": undefined, \"source\": {\"name\": \"thief\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 3075045473648640}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [{\"_id\": \"a667aec8ee3e4fffde75ab6a\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Camryn\", \"position\": 8115895954046976, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ddf7fbfae81875e61c9cfe4c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Genevieve\", \"position\": 4040924816474112, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"19d57bebb94cd807ded5320b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Javon\", \"position\": 2241778231017472, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"aca36e2a2f8ec465e1b53ad7\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Donald\", \"position\": 5521341061005312, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 1720185715163136, \"turn\": 6851036977299456, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T03:50:50.283Z}], but it was called with {\"action\": \"vote\", \"cause\": \"previous-votes-were-in-ties\", \"source\": {\"name\": \"all\", \"players\": undefined}}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:475:64)", + "id": "1524", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"5bddca58dabb12808f2cef35\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Antonia\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1097:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 3, "static": false, "killedBy": [ - "168" + "328" ], "coveredBy": [ - "168" + "328", + "329", + "330" ], "location": { "end": { - "column": 6, - "line": 115 + "column": 81, + "line": 244 }, "start": { - "column": 42, - "line": 112 + "column": 9, + "line": 244 } } }, { - "id": "1290", + "id": "1525", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -157,9 +157,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 140148434010112,\n \"turn\": 3333082834796544,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"vote\",\n+ \"cause\": \"previous-votes-were-in-ties\",\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-11T19:59:12.004Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:517:79)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "171" - ], + "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 86, - "line": 116 + "column": 81, + "line": 244 }, "start": { "column": 9, - "line": 116 + "line": 244 } } }, { - "id": "1291", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 59\n+ Received + 3\n\n@@ -1,78 +1,29 @@\n Object {\n \"_id\": \"a5eaeb334decce7cdbfe3adf\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"a0e5eecf680cab1c2dbd1c9f\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Adam\",\n- \"position\": 4988204761481216,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"5a267a7ca1e41febdf134beb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Murray\",\n \"position\": 3077569748402176,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"4fc1c55ec014eea79d773acc\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Raul\",\n- \"position\": 768996334895104,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n },\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"14c4bbae49f2e16b69064b6c\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Annabel\",\n- \"position\": 5837753226887168,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -217,15 +168,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 7754379557863425,\n \"turn\": 8695803570814976,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "1526", + "mutatorName": "LogicalOperator", + "replacement": "isFoxPowerlessIfMissesWerewolf || areEveryFoxSniffedPlayersVillagerSided", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"2a84eef9cdfa526abfbc81a9\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Wendy\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 3, "static": false, "killedBy": [ - "572" + "329" ], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "171", - "572" + "328", + "329", + "330" ], "location": { "end": { - "column": 86, - "line": 116 + "column": 81, + "line": 244 }, "start": { "column": 9, - "line": 116 + "line": 244 } } }, { - "id": "1292", - "mutatorName": "EqualityOperator", - "replacement": "clonedGame.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", - "status": "Timeout", + "id": "1527", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"5dcdddf2afd9347136617e11\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"fox\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Earnest\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "330" + ], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "171", - "572" + "330" ], "location": { "end": { - "column": 86, - "line": 116 + "column": 6, + "line": 247 }, "start": { - "column": 9, - "line": 116 + "column": 83, + "line": 244 } } }, { - "id": "1293", + "id": "1528", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 59\n+ Received + 3\n\n@@ -1,78 +1,29 @@\n Object {\n \"_id\": \"ec8a9dc659c809ae4d7dc32c\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"4afea1dbd6ccfbcefec8da56\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Shania\",\n- \"position\": 2068481075838976,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"7e46f0aed34d6f2cac9866ae\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Sadie\",\n \"position\": 7568089715572736,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"2dc3cbd6478cca1e0b7a99a0\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Lolita\",\n- \"position\": 5715820256690176,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n },\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"f3461dfd191fec2077de7afd\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Thomas\",\n- \"position\": 8586146751709184,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -217,15 +168,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 757094416384001,\n \"turn\": 4668914355142656,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 8, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(251,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "572" + "331", + "332" ], "location": { "end": { - "column": 6, - "line": 119 + "column": 4, + "line": 260 }, "start": { - "column": 88, - "line": 116 + "column": 98, + "line": 251 } } }, { - "id": "1294", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n@@ -1,11 +1,10 @@\n Object {\n \"_id\": \"8a2ca0973fd8dace5fccadef\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n \"_id\": \"e87a72a0a7f50733b2adcc1f\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 8, + "id": "1529", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], - "coveredBy": [ - "162", - "163", - "164", - "166", - "167", - "169", - "170", - "572" + "killedBy": [], + "coveredBy": [ + "331", + "332" ], "location": { "end": { - "column": 108, - "line": 117 + "column": 48, + "line": 254 }, "start": { - "column": 53, - "line": 117 + "column": 9, + "line": 254 } } }, { - "id": "1295", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(123,123): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1530", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "172", - "173", - "174", - "175", - "176", - "572" + "331", + "332" ], "location": { "end": { - "column": 4, - "line": 141 + "column": 48, + "line": 254 }, "start": { - "column": 137, - "line": 123 + "column": 9, + "line": 254 } } }, { - "id": "1296", - "mutatorName": "BooleanLiteral", - "replacement": "votes", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(128,75): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "1531", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "172", - "173", - "174", - "175", - "176", - "572" + "331", + "332" ], "location": { "end": { - "column": 15, - "line": 125 + "column": 48, + "line": 254 }, "start": { "column": 9, - "line": 125 + "line": 254 } } }, { - "id": "1297", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(128,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "1532", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(254,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "172", - "173", - "174", - "175", - "176", - "572" + "331", + "332" ], "location": { "end": { - "column": 15, - "line": 125 + "column": 24, + "line": 254 }, "start": { "column": 9, - "line": 125 + "line": 254 } } }, { - "id": "1298", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(128,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "1533", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(255,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "172", - "173", - "174", - "175", - "176", - "572" + "331" ], "location": { "end": { - "column": 15, - "line": 125 + "column": 6, + "line": 256 }, "start": { - "column": 9, - "line": 125 + "column": 50, + "line": 254 } } }, { - "id": "1299", + "id": "1534", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(126,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(262,96): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "172" + "333", + "334" ], "location": { "end": { - "column": 6, - "line": 127 + "column": 4, + "line": 271 }, "start": { - "column": 17, - "line": 125 + "column": 101, + "line": 262 } } }, { - "id": "1300", + "id": "1535", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -224,8 +224,15 @@\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n+ Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"stuttering-judge-request\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "333", + "334" ], "location": { "end": { - "column": 45, - "line": 129 + "column": 48, + "line": 265 }, "start": { "column": 9, - "line": 129 + "line": 265 } } }, { - "id": "1301", + "id": "1536", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"1b802906cf1f9af7aa79b5fb\", \"createdAt\": 2023-08-11T19:05:03.105Z, \"currentPlay\": {\"action\": \"delegate\", \"cause\": undefined, \"source\": {\"name\": \"big-bad-wolf\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 8648994330771456}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 1}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"f42aeacbaeda5b0680acd274\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Tom\", \"position\": 4831723634294784, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"f9d8b7f0a3abeebc5154f2da\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lola\", \"position\": 6952561632346112, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"32af9ad4ca4345f78344bdba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Kristian\", \"position\": 3490211828858880, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"fc60bbe5d71b1dabeabe7a02\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Eleanore\", \"position\": 171645790584832, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 8231013660491776, \"turn\": 3756773848645632, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": \"stuttering-judge-request\", \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-11T22:08:23.323Z}], but it was called with {\"_id\": \"1b802906cf1f9af7aa79b5fb\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T19:05:03.105Z, \"currentPlay\": {\"action\": \"delegate\", \"cause\": undefined, \"source\": {\"name\": \"big-bad-wolf\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 8648994330771456}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 1}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"f42aeacbaeda5b0680acd274\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Tom\", \"position\": 4831723634294784, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"f9d8b7f0a3abeebc5154f2da\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lola\", \"position\": 6952561632346112, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"32af9ad4ca4345f78344bdba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Kristian\", \"position\": 3490211828858880, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"fc60bbe5d71b1dabeabe7a02\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Eleanore\", \"position\": 171645790584832, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 8231013660491776, \"turn\": 3756773848645632, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T22:08:23.323Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:607:64)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "175" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "333", + "334" ], "location": { "end": { - "column": 45, - "line": 129 + "column": 48, + "line": 265 }, "start": { "column": 9, - "line": 129 + "line": 265 } } }, { - "id": "1302", + "id": "1537", "mutatorName": "EqualityOperator", - "replacement": "doesJudgeRequestAnotherVote !== true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -157,9 +157,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 7898640651649024,\n \"turn\": 3358978411069440,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"vote\",\n+ \"cause\": \"stuttering-judge-request\",\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T03:31:41.361Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "173" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "333", + "334" ], "location": { "end": { - "column": 45, - "line": 129 + "column": 48, + "line": 265 }, "start": { "column": 9, - "line": 129 + "line": 265 } } }, { - "id": "1303", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", + "id": "1538", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(265,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "333", + "334" ], "location": { "end": { - "column": 45, - "line": 129 + "column": 24, + "line": 265 }, "start": { - "column": 41, - "line": 129 + "column": 9, + "line": 265 } } }, { - "id": "1304", + "id": "1539", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"c84cbfb5d8acdda88fca2e51\", \"createdAt\": 2023-08-12T08:14:27.378Z, \"currentPlay\": {\"action\": \"choose-card\", \"cause\": undefined, \"source\": {\"name\": \"wild-child\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 838495297863680}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 0}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"2a1c97d8e9a9d4adb0202c3c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jarrett\", \"position\": 5540245323907072, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"2be1cddde19f36a2eb5d5fbd\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Karley\", \"position\": 7655654946766848, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"aba2b8fc1ddfcceedbee2b4c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jamaal\", \"position\": 8633248380878848, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"2ea3bdb36b50cc5fdaa11a6b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Grayson\", \"position\": 3391227324006400, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 1156090572046336, \"turn\": 7218587668316160, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": \"stuttering-judge-request\", \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-11T18:16:32.079Z}], but it was called with {\"_id\": \"c84cbfb5d8acdda88fca2e51\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T08:14:27.378Z, \"currentPlay\": {\"action\": \"choose-card\", \"cause\": undefined, \"source\": {\"name\": \"wild-child\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 838495297863680}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 0}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"2a1c97d8e9a9d4adb0202c3c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jarrett\", \"position\": 5540245323907072, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"2be1cddde19f36a2eb5d5fbd\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Karley\", \"position\": 7655654946766848, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"aba2b8fc1ddfcceedbee2b4c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jamaal\", \"position\": 8633248380878848, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"2ea3bdb36b50cc5fdaa11a6b\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Grayson\", \"position\": 3391227324006400, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 1156090572046336, \"turn\": 7218587668316160, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T18:16:32.079Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:607:64)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(266,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "175" - ], + "killedBy": [], "coveredBy": [ - "175" + "333" ], "location": { "end": { "column": 6, - "line": 132 + "line": 267 }, "start": { - "column": 47, - "line": 129 + "column": 50, + "line": 265 } } }, { - "id": "1305", - "mutatorName": "ObjectLiteral", + "id": "1540", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"4c0fb9d6acdb1a257ddcaea3\", \"createdAt\": 2023-08-11T18:21:22.308Z, \"currentPlay\": {\"action\": \"choose-sign\", \"cause\": undefined, \"source\": {\"name\": \"angel\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 4537099827019776}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 3}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"f7f931b2aabeb59cf0f36016\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jackie\", \"position\": 4947396435902464, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cfa9d77babfbc68f7a07d1c2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Adam\", \"position\": 6632716338462720, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"79eab0ffe84c8dba46cf03de\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ned\", \"position\": 8892635966078976, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cbeaebc9de5bfedddea0e1c3\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Estel\", \"position\": 538398446059520, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 268914988679168, \"turn\": 5451736581931008, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": \"stuttering-judge-request\", \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-12T13:46:11.610Z}], but it was called with {\"_id\": \"4c0fb9d6acdb1a257ddcaea3\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T18:21:22.308Z, \"currentPlay\": {\"action\": \"choose-sign\", \"cause\": undefined, \"source\": {\"name\": \"angel\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 4537099827019776}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 3}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"f7f931b2aabeb59cf0f36016\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jackie\", \"position\": 4947396435902464, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cfa9d77babfbc68f7a07d1c2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Adam\", \"position\": 6632716338462720, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"79eab0ffe84c8dba46cf03de\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ned\", \"position\": 8892635966078976, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cbeaebc9de5bfedddea0e1c3\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Estel\", \"position\": 538398446059520, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 268914988679168, \"turn\": 5451736581931008, \"upcomingPlays\": [{\"action\": \"vote\", \"cause\": undefined, \"source\": {\"name\": \"all\", \"players\": undefined}}], \"updatedAt\": 2023-08-12T13:46:11.610Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:607:64)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(273,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "175" - ], + "killedBy": [], "coveredBy": [ - "175" + "335", + "336" ], "location": { "end": { - "column": 105, - "line": 130 + "column": 4, + "line": 282 }, "start": { - "column": 53, - "line": 130 + "column": 115, + "line": 273 } } }, { - "id": "1306", + "id": "1541", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"acd5b9ff1dd965346e69fed7\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:36:55.680Z, \"currentPlay\": {\"action\": \"look\", \"cause\": undefined, \"source\": {\"name\": \"villager-villager\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 8506546380079104}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 1}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bb2d4b96ededcdac8d99b4a9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Isabel\", \"position\": 8500642217721856, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"4f01816bc9a891ba1fe22f5f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Raphaelle\", \"position\": 8001977397018624, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"5b2e52fcf79c43c605a7cd80\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rodrigo\", \"position\": 8472530497044480, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"cdafee2cb9f09ae3f027be38\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Reagan\", \"position\": 5890589220405248, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 3419382688514048, \"turn\": 2621848242094080, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T01:48:31.529Z, \"victory\": undefined}\nReceived: undefined\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "173" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "335", + "336" ], "location": { "end": { - "column": 36, - "line": 133 + "column": 48, + "line": 276 }, "start": { "column": 9, - "line": 133 + "line": 276 } } }, { - "id": "1307", + "id": "1542", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:583:64)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "174" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "335", + "336" ], "location": { "end": { - "column": 36, - "line": 133 + "column": 48, + "line": 276 }, "start": { "column": 9, - "line": 133 + "line": 276 } } }, { - "id": "1308", + "id": "1543", "mutatorName": "EqualityOperator", - "replacement": "nominatedPlayers.length >= 1", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:628:60)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "176" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "335", + "336" ], "location": { "end": { - "column": 36, - "line": 133 + "column": 48, + "line": 276 }, "start": { "column": 9, - "line": 133 + "line": 276 } } }, { - "id": "1309", - "mutatorName": "EqualityOperator", - "replacement": "nominatedPlayers.length <= 1", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"df997868a35f7e69c9c1b90d\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T23:29:31.156Z, \"currentPlay\": {\"action\": \"look\", \"cause\": undefined, \"source\": {\"name\": \"villager-villager\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 1}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 6319752895004672}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 4}, \"twoSisters\": {\"wakingUpInterval\": 5}, \"whiteWerewolf\": {\"wakingUpInterval\": 5}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"da9be2e104fdf1d72abd3d1d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Melany\", \"position\": 2426117336072192, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"00be70fb78bb812147a6dd00\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Jaquelin\", \"position\": 8530543014576128, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7bde68cbbe2cdc5c6daee0ab\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Veronica\", \"position\": 5598816942161920, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"5c1ce2e0f4ebfefdafaefde4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lavern\", \"position\": 7783348061601792, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 2582233258917888, \"turn\": 7690517781413888, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T21:00:54.912Z, \"victory\": undefined}\nReceived: undefined\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "1544", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(276,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "173" - ], + "killedBy": [], "coveredBy": [ - "173", - "174", - "175", - "176", - "572" + "335", + "336" ], "location": { "end": { - "column": 36, - "line": 133 + "column": 24, + "line": 276 }, "start": { "column": 9, - "line": 133 + "line": 276 } } }, { - "id": "1310", + "id": "1545", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(277,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "174", - "175", - "572" + "335" ], "location": { "end": { "column": 6, - "line": 135 + "line": 278 }, "start": { - "column": 38, - "line": 133 + "column": 50, + "line": 276 } } }, { - "id": "1311", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual()\n\nReceived promise rejected instead of resolved\nRejected to value: [TypeError: Cannot read properties of undefined (reading '_id')]\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1546", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(284,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "173" + "killedBy": [], + "coveredBy": [ + "337", + "338", + "339" ], + "location": { + "end": { + "column": 4, + "line": 297 + }, + "start": { + "column": 104, + "line": 284 + } + } + }, + { + "id": "1547", + "mutatorName": "BooleanLiteral", + "replacement": "targets", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(291,26): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "173", - "176" + "337", + "338", + "339" ], "location": { "end": { - "column": 38, - "line": 136 + "column": 17, + "line": 286 }, "start": { "column": 9, - "line": 136 + "line": 286 } } }, { - "id": "1312", + "id": "1548", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:628:60)", - "status": "Killed", - "testsCompleted": 2, + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(291,26): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "176" - ], + "killedBy": [], "coveredBy": [ - "173", - "176" + "337", + "338", + "339" ], "location": { "end": { - "column": 38, - "line": 136 + "column": 17, + "line": 286 }, "start": { "column": 9, - "line": 136 + "line": 286 } } }, { - "id": "1313", - "mutatorName": "EqualityOperator", - "replacement": "nominatedPlayers.length !== 1", - "statusReason": "Error: expect(received).resolves.toStrictEqual()\n\nReceived promise rejected instead of resolved\nRejected to value: [TypeError: Cannot read properties of undefined (reading '_id')]\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:563:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1549", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(291,26): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "173" - ], + "killedBy": [], "coveredBy": [ - "173", - "176" + "337", + "338", + "339" ], "location": { "end": { - "column": 38, - "line": 136 + "column": 17, + "line": 286 }, "start": { "column": 9, - "line": 136 + "line": 286 } } }, { - "id": "1314", + "id": "1550", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:628:60)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(289,26): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "176" - ], + "killedBy": [], "coveredBy": [ - "176" + "337" ], "location": { "end": { "column": 6, - "line": 139 + "line": 288 }, "start": { - "column": 40, - "line": 136 + "column": 19, + "line": 286 } } }, { - "id": "1315", + "id": "1551", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(143,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -104,19 +104,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ecb8616cdfb21572efbfd28f\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-life-potion\",\n- \"remainingPhases\": 1,\n- \"source\": \"witch\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Helmer\",\n \"position\": 3506052442095616,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1302:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "338" + ], "coveredBy": [ - "177", - "178", - "179" + "338", + "339" ], "location": { "end": { - "column": 4, - "line": 155 + "column": 6, + "line": 295 }, "start": { - "column": 99, - "line": 143 + "column": 35, + "line": 291 } } }, { - "id": "1316", + "id": "1552", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(152,39): error TS18048: 'randomNominatedPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -133,11 +133,11 @@\n \"_id\": \"eadd67af3db2b6d1cef6aea9\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-death-potion\",\n+ \"name\": \"drank-life-potion\",\n \"remainingPhases\": 1,\n \"source\": \"witch\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1336:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "339" + ], "coveredBy": [ - "177", - "178", - "179" + "338", + "339" ], "location": { "end": { - "column": 86, - "line": 145 + "column": 77, + "line": 293 }, "start": { - "column": 9, - "line": 145 + "column": 36, + "line": 293 } } }, { - "id": "1317", + "id": "1553", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -159,18 +159,10 @@\n \"status\": \"over\",\n \"tick\": 5341890111078400,\n \"turn\": 7184445008248832,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"elect-sheriff\",\n- \"cause\": \"previous-votes-were-in-ties\",\n- \"source\": GamePlaySource {\n- \"name\": \"all\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:655:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -108,11 +108,11 @@\n \"_id\": \"57d00dbcaf4796f3baedff9c\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-life-potion\",\n+ \"name\": \"drank-death-potion\",\n \"remainingPhases\": 1,\n \"source\": \"witch\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1302:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "177" + "338" ], "coveredBy": [ - "177", - "178", - "179" + "338", + "339" ], "location": { "end": { - "column": 86, - "line": 145 + "column": 77, + "line": 293 }, "start": { - "column": 9, - "line": 145 + "column": 36, + "line": 293 } } }, { - "id": "1318", + "id": "1554", "mutatorName": "EqualityOperator", - "replacement": "clonedGame.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", - "status": "Timeout", + "replacement": "target.drankPotion !== WITCH_POTIONS.LIFE", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -108,11 +108,11 @@\n \"_id\": \"661bb15cffbe650024f2cea8\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-life-potion\",\n+ \"name\": \"drank-death-potion\",\n \"remainingPhases\": 1,\n \"source\": \"witch\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1302:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "338" + ], "coveredBy": [ - "177", - "178", - "179" + "338", + "339" ], "location": { "end": { - "column": 86, - "line": 145 + "column": 77, + "line": 293 }, "start": { - "column": 9, - "line": 145 + "column": 36, + "line": 293 } } }, { - "id": "1319", + "id": "1555", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -159,18 +159,10 @@\n \"status\": \"over\",\n \"tick\": 7650602200858624,\n \"turn\": 546399041093632,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"elect-sheriff\",\n- \"cause\": \"previous-votes-were-in-ties\",\n- \"source\": GamePlaySource {\n- \"name\": \"all\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:655:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(299,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "177" - ], + "killedBy": [], "coveredBy": [ - "177" + "340", + "341", + "342" ], "location": { "end": { - "column": 6, - "line": 148 + "column": 4, + "line": 306 }, "start": { - "column": 88, - "line": 145 + "column": 103, + "line": 299 } } }, { - "id": "1320", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -160,11 +160,11 @@\n \"tick\": 5063712276742144,\n \"turn\": 4141117029220352,\n \"upcomingPlays\": Array [\n GamePlay {\n \"action\": \"elect-sheriff\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:655:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "1556", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "177" - ], + "killedBy": [], "coveredBy": [ - "177" + "340", + "341", + "342" ], "location": { "end": { - "column": 128, - "line": 146 + "column": 30, + "line": 301 }, "start": { - "column": 73, - "line": 146 + "column": 9, + "line": 301 } } }, { - "id": "1321", + "id": "1557", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(152,39): error TS18048: 'randomNominatedPlayer' is possibly 'undefined'.\n", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "178", - "179" + "340", + "341", + "342" ], "location": { "end": { "column": 30, - "line": 150 + "line": 301 }, "start": { "column": 9, - "line": 150 + "line": 301 } } }, { - "id": "1322", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(152,39): error TS18048: 'randomNominatedPlayer' is possibly 'undefined'.\n", + "id": "1558", + "mutatorName": "EqualityOperator", + "replacement": "targets !== undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "178", - "179" + "340", + "341", + "342" ], "location": { "end": { "column": 30, - "line": 150 + "line": 301 }, "start": { "column": 9, - "line": 150 + "line": 301 } } }, { - "id": "1323", + "id": "1559", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"b55462a72ecc033aafae45aa\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Ayana\",\n \"position\": 4771125854732288,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:683:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(303,38): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "178" - ], + "killedBy": [], "coveredBy": [ - "178" + "340" ], "location": { "end": { "column": 6, - "line": 153 + "line": 303 }, "start": { "column": 32, - "line": 150 + "line": 301 } } }, { - "id": "1324", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(157,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1560", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "180", - "181", - "182", - "183" + "341", + "342" ], "location": { "end": { - "column": 4, - "line": 172 + "column": 76, + "line": 305 }, "start": { - "column": 96, - "line": 157 + "column": 50, + "line": 305 } } }, { - "id": "1325", - "mutatorName": "BooleanLiteral", - "replacement": "votes", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(163,75): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "1561", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(308,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "180", - "181", - "182", - "183" + "343", + "344" ], "location": { "end": { - "column": 15, - "line": 160 + "column": 4, + "line": 316 }, "start": { - "column": 9, - "line": 160 + "column": 99, + "line": 308 } } }, { - "id": "1326", + "id": "1562", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(163,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "180", - "181", - "182", - "183" + "343", + "344" ], "location": { "end": { - "column": 15, - "line": 160 + "column": 48, + "line": 311 }, "start": { "column": 9, - "line": 160 + "line": 311 } } }, { - "id": "1327", + "id": "1563", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(163,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "180", - "181", - "182", - "183" + "343", + "344" ], "location": { "end": { - "column": 15, - "line": 160 + "column": 48, + "line": 311 }, "start": { "column": 9, - "line": 160 + "line": 311 } } }, { - "id": "1328", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(161,75): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "1564", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "180" + "343", + "344" ], "location": { "end": { - "column": 6, - "line": 162 + "column": 48, + "line": 311 }, "start": { - "column": 17, - "line": 160 + "column": 9, + "line": 311 } } }, { - "id": "1329", - "mutatorName": "BooleanLiteral", - "replacement": "nominatedPlayers.length", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"a7f9c0bfe26c84ef9023163c\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T18:31:14.719Z, \"currentPlay\": {\"action\": \"choose-side\", \"cause\": undefined, \"source\": {\"name\": \"raven\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 4254391206936576}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [{\"_id\": \"feb73caadf4db3eeb7fb82a6\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Etha\", \"position\": 1051785674358784, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"dfec2f39f9fa6ca4d3967145\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ian\", \"position\": 6463249534943232, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"709e2ce25fdacbabfbbce2d6\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Alexandra\", \"position\": 8618962986205184, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"db9c5cad460bdd6cbd6939bb\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Ashly\", \"position\": 4993407820759040, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 4997588765900800, \"turn\": 8281384558788608, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T16:52:45.300Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:745:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "1565", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(311,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "181" - ], + "killedBy": [], "coveredBy": [ - "181", - "182", - "183" + "343", + "344" ], "location": { "end": { - "column": 33, - "line": 164 + "column": 24, + "line": 311 }, "start": { "column": 9, - "line": 164 + "line": 311 } } }, { - "id": "1330", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:765:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "1566", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(313,38): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "182" - ], + "killedBy": [], "coveredBy": [ - "181", - "182", - "183" + "343" ], "location": { "end": { - "column": 33, - "line": 164 + "column": 6, + "line": 313 }, "start": { - "column": 9, - "line": 164 + "column": 50, + "line": 311 } } }, { - "id": "1331", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"46aa8cc127f43f1a8a02f3a2\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T22:15:14.184Z, \"currentPlay\": {\"action\": \"mark\", \"cause\": undefined, \"source\": {\"name\": \"sheriff\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 1}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 2255430036226048}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 0}, \"twoSisters\": {\"wakingUpInterval\": 5}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"94f2e41f44cedd7ec067e391\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rollin\", \"position\": 3586466963783680, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"d734a4399ea4eb3338ea5cb5\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Alfonso\", \"position\": 6698373035851776, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"95393a36cacf99fa54ca2580\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Bernhard\", \"position\": 4213598096195584, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"321c251feea917aac8ee21de\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Dovie\", \"position\": 6707626035380224, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"playing\", \"tick\": 6451023180726272, \"turn\": 778257813209088, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T05:30:34.935Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:745:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "1567", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "181" - ], + "killedBy": [], "coveredBy": [ - "181", - "182", - "183" + "344" ], "location": { "end": { - "column": 33, - "line": 164 + "column": 76, + "line": 315 }, "start": { - "column": 9, - "line": 164 + "column": 50, + "line": 315 } } }, { - "id": "1332", + "id": "1568", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"69ea4e3d5de117ceca04c9db\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T14:50:05.087Z, \"currentPlay\": {\"action\": \"settle-votes\", \"cause\": undefined, \"source\": {\"name\": \"scapegoat\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 5}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 3008373471576064}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 1}, \"whiteWerewolf\": {\"wakingUpInterval\": 5}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"0ba8b1a9ed2c8df2ef472f3c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Freeda\", \"position\": 2909677448855552, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"6e3621db2c7e81cd8526633c\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Elisha\", \"position\": 8390248685895680, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"dfdd0c014081de5f05efea8d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Henriette\", \"position\": 8113568637517824, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"5f0f1c17bcaa6e7afc7889cc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Kendrick\", \"position\": 5065786966147072, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"canceled\", \"tick\": 6073501710548992, \"turn\": 3911428738121728, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T19:14:21.292Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:745:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(318,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "181" - ], + "killedBy": [], "coveredBy": [ - "181" + "345", + "346", + "531" ], "location": { "end": { - "column": 6, - "line": 166 + "column": 4, + "line": 327 }, "start": { - "column": 35, - "line": 164 + "column": 97, + "line": 318 } } }, { - "id": "1333", + "id": "1569", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"460bb21da6d9fc3d1ddc1ede\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:03:29.412Z, \"currentPlay\": {\"action\": \"protect\", \"cause\": undefined, \"source\": {\"name\": \"lovers\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 7913446949519360}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 5}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 4}, \"twoSisters\": {\"wakingUpInterval\": 3}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"5e2484ced9b6fbde80cd4bda\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Junius\", \"position\": 8351686781304832, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ce5fbda3bcd3fc90a18514e7\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Kaleb\", \"position\": 7379444880637952, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"dbf1b530bef3eca59cd6cbe2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Axel\", \"position\": 7503855979855872, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"da9f9ee8a34dcdc076e2da6d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Loraine\", \"position\": 5282709056258048, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}], \"status\": \"over\", \"tick\": 815045644648448, \"turn\": 7244720596058112, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T23:46:40.968Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:792:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "183" - ], + "killedBy": [], "coveredBy": [ - "182", - "183" + "345", + "346", + "531" ], "location": { "end": { - "column": 38, - "line": 167 + "column": 48, + "line": 321 }, "start": { "column": 9, - "line": 167 + "line": 321 } } }, { - "id": "1334", + "id": "1570", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "182", - "183" + "345", + "346", + "531" ], "location": { "end": { - "column": 38, - "line": 167 + "column": 48, + "line": 321 }, "start": { "column": 9, - "line": 167 + "line": 321 } } }, { - "id": "1335", + "id": "1571", "mutatorName": "EqualityOperator", - "replacement": "nominatedPlayers.length === 1", - "status": "Timeout", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "182", - "183" + "345", + "346", + "531" ], "location": { "end": { - "column": 38, - "line": 167 + "column": 48, + "line": 321 }, "start": { "column": 9, - "line": 167 + "line": 321 } } }, { - "id": "1336", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:765:74)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "1572", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(321,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "182" - ], + "killedBy": [], "coveredBy": [ - "182" + "345", + "346", + "531" ], "location": { "end": { - "column": 6, - "line": 169 + "column": 24, + "line": 321 }, "start": { - "column": 40, - "line": 167 + "column": 9, + "line": 321 } } }, { - "id": "1337", + "id": "1573", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(174,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(322,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184", - "185", - "186", - "572" - ], - "location": { - "end": { - "column": 4, - "line": 185 - }, - "start": { - "column": 103, - "line": 174 - } - } - }, - { - "id": "1338", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 59\n+ Received + 3\n\n@@ -1,78 +1,29 @@\n Object {\n \"_id\": \"c6d6d4dba34a133c1c8d18b8\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"adf7bae5fa77ce853ffcfbcd\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Judd\",\n- \"position\": 7964786669125632,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"7aea7c06b477a5efcbfbccfc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Nona\",\n \"position\": 219782957760512,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"dab5c008b0ddbffe5e329740\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Chloe\",\n- \"position\": 4041312590364672,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n },\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"2afd628e55bcd8da976addab\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Ted\",\n- \"position\": 6997934430224384,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -217,15 +168,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 5266091030872065,\n \"turn\": 8146030170210304,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "572" - ], - "coveredBy": [ - "184", - "185", - "186", - "572" + "345" ], "location": { "end": { "column": 6, - "line": 179 + "line": 323 }, "start": { - "column": 92, - "line": 176 + "column": 50, + "line": 321 } } }, { - "id": "1339", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(177,42): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1574", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(329,100): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184", - "185", - "186", - "572" + "347", + "348" ], "location": { "end": { - "column": 86, - "line": 177 + "column": 4, + "line": 338 }, "start": { - "column": 42, - "line": 177 + "column": 105, + "line": 329 } } }, { - "id": "1340", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(178,33): error TS2322: Type '() => undefined' is not assignable to type '() => Game | Promise'.\n Type 'undefined' is not assignable to type 'Game | Promise'.\n", + "id": "1575", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184", - "185", - "186", - "572" + "347", + "348" ], "location": { "end": { - "column": 74, - "line": 178 + "column": 48, + "line": 332 }, "start": { - "column": 33, - "line": 178 + "column": 9, + "line": 332 } } }, { - "id": "1341", + "id": "1576", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(184,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184", - "185", - "186", - "572" + "347", + "348" ], "location": { "end": { - "column": 36, - "line": 181 + "column": 48, + "line": 332 }, "start": { "column": 9, - "line": 181 + "line": 332 } } }, { - "id": "1342", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(184,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1577", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184", - "185", - "186", - "572" + "347", + "348" ], "location": { "end": { - "column": 36, - "line": 181 + "column": 48, + "line": 332 }, "start": { "column": 9, - "line": 181 + "line": 332 } } }, { - "id": "1343", - "mutatorName": "EqualityOperator", - "replacement": "allPlayMethod !== undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(184,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "1578", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(332,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184", - "185", - "186", - "572" + "347", + "348" ], "location": { "end": { - "column": 36, - "line": 181 + "column": 24, + "line": 332 }, "start": { "column": 9, - "line": 181 + "line": 332 } } }, { - "id": "1344", + "id": "1579", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(182,12): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(333,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "184" + "347" ], "location": { "end": { "column": 6, - "line": 183 + "line": 334 }, "start": { - "column": 38, - "line": 181 + "column": 50, + "line": 332 } } }, { - "id": "1345", + "id": "1580", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(187,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(340,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "187", - "188", - "189", - "190" + "349", + "350" ], "location": { "end": { "column": 4, - "line": 201 + "line": 349 }, "start": { - "column": 107, - "line": 187 + "column": 102, + "line": 340 } } }, { - "id": "1346", + "id": "1581", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "187", - "188", - "189", - "190" + "349", + "350" ], "location": { "end": { - "column": 36, - "line": 190 + "column": 48, + "line": 343 }, "start": { "column": 9, - "line": 190 + "line": 343 } } }, { - "id": "1347", + "id": "1582", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "187", - "188", - "189", - "190" + "349", + "350" ], "location": { "end": { - "column": 36, - "line": 190 + "column": 48, + "line": 343 }, "start": { "column": 9, - "line": 190 + "line": 343 } } }, { - "id": "1348", - "mutatorName": "LogicalOperator", - "replacement": "!thiefPlayer && !chosenCard", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "id": "1583", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "187", - "188", - "189", - "190" + "349", + "350" ], "location": { "end": { - "column": 36, - "line": 190 + "column": 48, + "line": 343 }, "start": { "column": 9, - "line": 190 + "line": 343 } } }, { - "id": "1349", - "mutatorName": "BooleanLiteral", - "replacement": "thiefPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "id": "1584", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(343,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "187", - "188", - "189", - "190" + "349", + "350" ], "location": { "end": { - "column": 21, - "line": 190 + "column": 24, + "line": 343 }, "start": { "column": 9, - "line": 190 + "line": 343 } } }, { - "id": "1350", - "mutatorName": "BooleanLiteral", - "replacement": "chosenCard", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(193,57): error TS18048: 'chosenCard' is possibly 'undefined'.\n", + "id": "1585", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(344,40): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "188", - "189", - "190" + "349" ], "location": { "end": { - "column": 36, - "line": 190 + "column": 6, + "line": 345 }, "start": { - "column": 25, - "line": 190 + "column": 50, + "line": 343 } } }, { - "id": "1351", + "id": "1586", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(191,57): error TS18048: 'chosenCard' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(195,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(196,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(351,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "187", - "188" + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 6, - "line": 192 + "column": 4, + "line": 365 }, "start": { - "column": 38, - "line": 190 + "column": 116, + "line": 351 } } }, { - "id": "1352", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "1587", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "189", - "190" + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 76, - "line": 193 + "column": 48, + "line": 354 }, "start": { - "column": 35, - "line": 193 + "column": 9, + "line": 354 } } }, { - "id": "1353", + "id": "1588", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "189", - "190" + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 76, - "line": 193 + "column": 48, + "line": 354 }, "start": { - "column": 43, - "line": 193 + "column": 9, + "line": 354 } } }, { - "id": "1354", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Kira\",\n \"position\": 3623784126873600,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ef1f5f83af5c679d43fd6a91\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1589", + "mutatorName": "EqualityOperator", + "replacement": "targets?.length === expectedTargetCount", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "190" - ], + "killedBy": [], "coveredBy": [ - "189", - "190" + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 76, - "line": 193 + "column": 48, + "line": 354 }, "start": { - "column": 43, - "line": 193 + "column": 9, + "line": 354 } } }, { - "id": "1355", - "mutatorName": "EqualityOperator", - "replacement": "role.name !== chosenCard.roleName", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Carlo\",\n \"position\": 6210538434461696,\n \"role\": PlayerRole {\n- \"current\": \"thief\",\n+ \"current\": \"werewolf\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ef718dfbd9092b74adea0279\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:881:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1590", + "mutatorName": "OptionalChaining", + "replacement": "targets.length", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(354,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "189" - ], + "killedBy": [], "coveredBy": [ - "189", - "190" + "351", + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 76, - "line": 193 + "column": 24, + "line": 354 }, "start": { - "column": 43, - "line": 193 + "column": 9, + "line": 354 } } }, { - "id": "1356", - "mutatorName": "BooleanLiteral", - "replacement": "chosenRole", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\n", + "id": "1591", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(355,70): error TS18048: 'targets' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "189", - "190" + "351" ], "location": { "end": { - "column": 20, - "line": 194 + "column": 6, + "line": 356 }, "start": { - "column": 9, - "line": 194 + "column": 50, + "line": 354 } } }, { - "id": "1357", + "id": "1592", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,43): error TS18048: 'thiefPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(200,31): error TS18048: 'thiefPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"20af64bd1b2d9cb44e81b78d\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Nikolas\",\n \"position\": 7697632858210304,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"dfc4749b9af4a7088baafb11\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "352" + ], "coveredBy": [ - "189", - "190" + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 20, - "line": 194 + "column": 111, + "line": 360 }, "start": { "column": 9, - "line": 194 + "line": 360 } } }, { - "id": "1358", + "id": "1593", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(198,70): error TS18048: 'chosenRole' is possibly 'undefined'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "189", - "190" + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 20, - "line": 194 + "column": 111, + "line": 360 }, "start": { "column": 9, - "line": 194 + "line": 360 } } }, { - "id": "1359", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(195,70): error TS18048: 'chosenRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(196,70): error TS18048: 'chosenRole' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1594", + "mutatorName": "LogicalOperator", + "replacement": "isTargetInfected === true || targetedPlayer.role.current !== ROLE_NAMES.ANCIENT || isAncientKillable", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e4c9a7ae072ba1feca069be3\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Fausto\",\n \"position\": 7887685884575744,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"2b6bfa1339db41fd7ef62f01\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "352" + ], "coveredBy": [ - "189" + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 6, - "line": 196 + "column": 111, + "line": 360 }, "start": { - "column": 22, - "line": 194 + "column": 9, + "line": 360 } } }, { - "id": "1360", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(197,11): error TS2739: Type '{}' is missing the following properties from type 'PlayerSide': original, current\n", - "status": "CompileError", + "id": "1595", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a0ddd7455cf09fcfcd1ddc32\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jalyn\",\n \"position\": 6041125127192576,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"78051bf71cfb6cad762f5f5a\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "352" + ], "coveredBy": [ - "190" + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 87, - "line": 197 + "column": 34, + "line": 360 }, "start": { - "column": 38, - "line": 197 + "column": 9, + "line": 360 } } }, { - "id": "1361", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(198,11): error TS2739: Type '{}' is missing the following properties from type 'PlayerRole': original, current, isRevealed\n", - "status": "CompileError", + "id": "1596", + "mutatorName": "EqualityOperator", + "replacement": "isTargetInfected !== true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"7aac1d0ef9baeb9ca13a0bc1\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Arthur\",\n \"position\": 2499489088667648,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a8dc4b2c48ded3d71aa8b53d\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "352" + ], "coveredBy": [ - "190" + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 87, - "line": 198 + "column": 34, + "line": 360 }, "start": { - "column": 38, - "line": 198 + "column": 9, + "line": 360 } } }, { - "id": "1362", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n@@ -118,16 +118,16 @@\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Ryleigh\",\n \"position\": 5113151257313280,\n \"role\": PlayerRole {\n- \"current\": \"werewolf\",\n+ \"current\": \"thief\",\n \"isRevealed\": false,\n \"original\": \"thief\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a46ebab3a5b871bb4aa65eab\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:909:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1597", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"d0be32bb640f79cdfcbae996\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Guy\",\n \"position\": 3569460365492224,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"5da66fee48b9ba6c2c7dbb36\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 4, "static": false, "killedBy": [ - "190" + "352" ], "coveredBy": [ - "190" + "352", + "353", + "354", + "355" ], "location": { "end": { - "column": 91, - "line": 199 + "column": 34, + "line": 360 }, "start": { - "column": 49, - "line": 199 + "column": 30, + "line": 360 } } }, { - "id": "1363", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(203,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1598", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "191", - "192" + "353", + "354", + "355" ], "location": { "end": { - "column": 4, - "line": 210 + "column": 110, + "line": 360 }, "start": { - "column": 107, - "line": 203 + "column": 39, + "line": 360 } } }, { - "id": "1364", - "mutatorName": "BooleanLiteral", - "replacement": "targets", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1599", + "mutatorName": "LogicalOperator", + "replacement": "targetedPlayer.role.current !== ROLE_NAMES.ANCIENT && isAncientKillable", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -104,22 +104,30 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"cfde3de0fe6a5cd99d569715\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Hailey\",\n \"position\": 5504913238917120,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"0d1b4cadc02ffcf456ae4adb\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "354" + ], "coveredBy": [ - "191", - "192" + "353", + "354", + "355" ], "location": { "end": { - "column": 17, - "line": 205 + "column": 110, + "line": 360 }, "start": { - "column": 9, - "line": 205 + "column": 39, + "line": 360 } } }, { - "id": "1365", + "id": "1600", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -104,22 +104,30 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a8a61d9e6ccced0404c2cc99\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Freddy\",\n \"position\": 4751111753826304,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"addc978d24479ad1aee4f14b\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "354" + ], "coveredBy": [ - "191", - "192" + "353", + "354", + "355" ], "location": { "end": { - "column": 17, - "line": 205 + "column": 89, + "line": 360 }, "start": { - "column": 9, - "line": 205 + "column": 39, + "line": 360 } } }, { - "id": "1366", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1601", + "mutatorName": "EqualityOperator", + "replacement": "targetedPlayer.role.current === ROLE_NAMES.ANCIENT", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"9ddeacb10d71cbf4eadbf5b8\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Darrel\",\n \"position\": 6966664165851136,\n \"role\": PlayerRole {\n \"current\": \"ancient\",\n \"isRevealed\": false,\n \"original\": \"ancient\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e7b79efb2e88df1db78ff3ec\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1651:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "353" + ], "coveredBy": [ - "191", - "192" + "353", + "354", + "355" + ], + "location": { + "end": { + "column": 89, + "line": 360 + }, + "start": { + "column": 39, + "line": 360 + } + } + }, + { + "id": "1602", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -104,22 +104,30 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"89efb33d3ca7c5aa19896b74\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jalyn\",\n \"position\": 7897643189534720,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"b0700feef9f5a5edce87fa2b\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "354" + ], + "coveredBy": [ + "354", + "355" ], "location": { "end": { - "column": 17, - "line": 205 + "column": 6, + "line": 363 }, "start": { - "column": 9, - "line": 205 + "column": 113, + "line": 360 } } }, { - "id": "1367", - "mutatorName": "BlockStatement", + "id": "1603", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(207,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -115,11 +115,11 @@\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"8e6ef6cda772568fdabbe75b\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "354" + ], "coveredBy": [ - "191" + "354", + "355" ], "location": { "end": { - "column": 6, - "line": 207 + "column": 119, + "line": 361 }, "start": { - "column": 19, - "line": 205 + "column": 51, + "line": 361 } } }, { - "id": "1368", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(209,38): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", + "id": "1604", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(361,53): error TS2739: Type '{}' is missing the following properties from type 'PlayerSide': original, current\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "192" + "354", + "355" ], "location": { "end": { - "column": 76, - "line": 209 + "column": 117, + "line": 361 }, "start": { - "column": 50, - "line": 209 + "column": 59, + "line": 361 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { sample } from \"lodash\";\nimport { createFakeGamePlayAllElectSheriff } from \"../../../../../../tests/factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { roles } from \"../../../../role/constants/role.constant\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../role/enums/role.enum\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { createGamePlayAllVote, createGamePlaySheriffSettlesVotes } from \"../../../helpers/game-play/game-play.factory\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { getFoxSniffedPlayers, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole } from \"../../../helpers/game.helper\";\nimport { addPlayerAttributeInGame, addPlayersAttributeInGame, appendUpcomingPlayInGame, prependUpcomingPlayInGame, removePlayerAttributeByNameInGame, updatePlayerInGame } from \"../../../helpers/game.mutator\";\nimport { createCantVoteByScapegoatPlayerAttribute, createCharmedByPiedPiperPlayerAttribute, createDrankDeathPotionByWitchPlayerAttribute, createDrankLifePotionByWitchPlayerAttribute, createEatenByBigBadWolfPlayerAttribute, createEatenByWerewolvesPlayerAttribute, createEatenByWhiteWerewolfPlayerAttribute, createInLoveByCupidPlayerAttribute, createPowerlessByFoxPlayerAttribute, createProtectedByGuardPlayerAttribute, createRavenMarkByRavenPlayerAttribute, createSeenBySeerPlayerAttribute, createSheriffByAllPlayerAttribute, createSheriffBySheriffPlayerAttribute, createWorshipedByWildChildPlayerAttribute } from \"../../../helpers/player/player-attribute/player-attribute.factory\";\nimport { createPlayerShotByHunterDeath, createPlayerVoteByAllDeath, createPlayerVoteBySheriffDeath, createPlayerVoteScapegoatedByAllDeath } from \"../../../helpers/player/player-death/player-death.factory\";\nimport { isPlayerAliveAndPowerful } from \"../../../helpers/player/player.helper\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerRole } from \"../../../schemas/player/player-role.schema\";\nimport type { PlayerSide } from \"../../../schemas/player/player-side.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport type { GameWithCurrentPlay } from \"../../../types/game-with-current-play\";\nimport type { GameSource } from \"../../../types/game.type\";\nimport { PlayerKillerService } from \"../player/player-killer.service\";\nimport { GamePlayVoteService } from \"./game-play-vote/game-play-vote.service\";\n\n@Injectable()\nexport class GamePlayMakerService {\n private readonly gameSourcePlayMethods: Partial Game | Promise>> = {\n [PLAYER_GROUPS.WEREWOLVES]: async(play, game) => this.werewolvesEat(play, game),\n [ROLE_NAMES.BIG_BAD_WOLF]: (play, game) => this.bigBadWolfEats(play, game),\n [ROLE_NAMES.WHITE_WEREWOLF]: (play, game) => this.whiteWerewolfEats(play, game),\n [ROLE_NAMES.SEER]: (play, game) => this.seerLooks(play, game),\n [ROLE_NAMES.CUPID]: (play, game) => this.cupidCharms(play, game),\n [ROLE_NAMES.PIED_PIPER]: (play, game) => this.piedPiperCharms(play, game),\n [ROLE_NAMES.WITCH]: (play, game) => this.witchUsesPotions(play, game),\n [ROLE_NAMES.HUNTER]: async(play, game) => this.hunterShoots(play, game),\n [ROLE_NAMES.GUARD]: (play, game) => this.guardProtects(play, game),\n [ROLE_NAMES.FOX]: (play, game) => this.foxSniffs(play, game),\n [ROLE_NAMES.WILD_CHILD]: (play, game) => this.wildChildChoosesModel(play, game),\n [ROLE_NAMES.DOG_WOLF]: (play, game) => this.dogWolfChoosesSide(play, game),\n [ROLE_NAMES.SCAPEGOAT]: (play, game) => this.scapegoatBansVoting(play, game),\n [ROLE_NAMES.THIEF]: (play, game) => this.thiefChoosesCard(play, game),\n [PLAYER_GROUPS.ALL]: async(play, game) => this.allPlay(play, game),\n [ROLE_NAMES.RAVEN]: (play, game) => this.ravenMarks(play, game),\n [PLAYER_ATTRIBUTE_NAMES.SHERIFF]: async(play, game) => this.sheriffPlays(play, game),\n };\n\n public constructor(\n private readonly playerKillerService: PlayerKillerService,\n private readonly gamePlayVoteService: GamePlayVoteService,\n ) {}\n\n public async makeGamePlay(play: MakeGamePlayWithRelationsDto, game: Game): Promise {\n if (!game.currentPlay) {\n throw createNoCurrentGamePlayUnexpectedException(\"makeGamePlay\", { gameId: game._id });\n }\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const gameSourcePlayMethod = this.gameSourcePlayMethods[clonedGame.currentPlay.source.name];\n if (gameSourcePlayMethod === undefined) {\n return clonedGame;\n }\n return gameSourcePlayMethod(play, clonedGame);\n }\n\n private async sheriffSettlesVotes({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const targetedPlayer = targets[0].player;\n const voteBySheriffDeath = createPlayerVoteBySheriffDeath();\n return this.playerKillerService.killOrRevealPlayer(targetedPlayer._id, clonedGame, voteBySheriffDeath);\n }\n\n private sheriffDelegates({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n let clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const targetedPlayer = targets[0].player;\n const sheriffPlayer = getPlayerWithActiveAttributeName(clonedGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n if (sheriffPlayer) {\n clonedGame = removePlayerAttributeByNameInGame(sheriffPlayer._id, clonedGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF) as GameWithCurrentPlay;\n }\n const sheriffBySheriffPlayerAttribute = createSheriffBySheriffPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, sheriffBySheriffPlayerAttribute);\n }\n\n private async sheriffPlays(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const sheriffPlayMethods: Partial Game | Promise>> = {\n [GAME_PLAY_ACTIONS.DELEGATE]: () => this.sheriffDelegates(play, clonedGame),\n [GAME_PLAY_ACTIONS.SETTLE_VOTES]: async() => this.sheriffSettlesVotes(play, clonedGame),\n };\n const sheriffPlayMethod = sheriffPlayMethods[clonedGame.currentPlay.action];\n if (sheriffPlayMethod === undefined) {\n return clonedGame;\n }\n return sheriffPlayMethod();\n }\n\n private async handleTieInVotes(game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const scapegoatPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.SCAPEGOAT);\n if (scapegoatPlayer && isPlayerAliveAndPowerful(scapegoatPlayer, game)) {\n const playerVoteScapegoatedByAllDeath = createPlayerVoteScapegoatedByAllDeath();\n return this.playerKillerService.killOrRevealPlayer(scapegoatPlayer._id, clonedGame, playerVoteScapegoatedByAllDeath);\n }\n const sheriffPlayer = getPlayerWithActiveAttributeName(clonedGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n if (sheriffPlayer?.isAlive === true) {\n const gamePlaySheriffSettlesVotes = createGamePlaySheriffSettlesVotes();\n return prependUpcomingPlayInGame(gamePlaySheriffSettlesVotes, clonedGame);\n }\n if (clonedGame.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n const gamePlayAllVote = createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n return prependUpcomingPlayInGame(gamePlayAllVote, clonedGame);\n }\n return clonedGame;\n }\n\n private async allVote({ votes, doesJudgeRequestAnotherVote }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n let clonedGame = createGame(game) as GameWithCurrentPlay;\n if (!votes) {\n return clonedGame;\n }\n const nominatedPlayers = this.gamePlayVoteService.getNominatedPlayers(votes, clonedGame);\n if (doesJudgeRequestAnotherVote === true) {\n const gamePlayAllVote = createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST });\n clonedGame = appendUpcomingPlayInGame(gamePlayAllVote, clonedGame) as GameWithCurrentPlay;\n }\n if (nominatedPlayers.length > 1) {\n return this.handleTieInVotes(clonedGame);\n }\n if (nominatedPlayers.length === 1) {\n const playerVoteByAllDeath = createPlayerVoteByAllDeath();\n return this.playerKillerService.killOrRevealPlayer(nominatedPlayers[0]._id, clonedGame, playerVoteByAllDeath);\n }\n return clonedGame;\n }\n\n private handleTieInSheriffElection(nominatedPlayers: Player[], game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n if (clonedGame.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n const gamePlayAllElectSheriff = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n return prependUpcomingPlayInGame(gamePlayAllElectSheriff, clonedGame);\n }\n const randomNominatedPlayer = sample(nominatedPlayers);\n if (randomNominatedPlayer) {\n const sheriffByAllPlayerAttribute = createSheriffByAllPlayerAttribute();\n return addPlayerAttributeInGame(randomNominatedPlayer._id, clonedGame, sheriffByAllPlayerAttribute);\n }\n return clonedGame;\n }\n\n private allElectSheriff(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const { votes } = play;\n if (!votes) {\n return clonedGame;\n }\n const nominatedPlayers = this.gamePlayVoteService.getNominatedPlayers(votes, clonedGame);\n if (!nominatedPlayers.length) {\n return clonedGame;\n }\n if (nominatedPlayers.length !== 1) {\n return this.handleTieInSheriffElection(nominatedPlayers, clonedGame);\n }\n const sheriffByAllPlayerAttribute = createSheriffByAllPlayerAttribute();\n return addPlayerAttributeInGame(nominatedPlayers[0]._id, clonedGame, sheriffByAllPlayerAttribute);\n }\n\n private async allPlay(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const allPlayMethods: Partial Game | Promise>> = {\n [GAME_PLAY_ACTIONS.ELECT_SHERIFF]: () => this.allElectSheriff(play, clonedGame),\n [GAME_PLAY_ACTIONS.VOTE]: async() => this.allVote(play, clonedGame),\n };\n const allPlayMethod = allPlayMethods[clonedGame.currentPlay.action];\n if (allPlayMethod === undefined) {\n return clonedGame;\n }\n return allPlayMethod();\n }\n \n private thiefChoosesCard({ chosenCard }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const thiefPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.THIEF);\n if (!thiefPlayer || !chosenCard) {\n return clonedGame;\n }\n const chosenRole = roles.find(role => role.name === chosenCard.roleName);\n if (!chosenRole) {\n return clonedGame;\n }\n const newThiefSide: PlayerSide = { ...thiefPlayer.side, current: chosenRole.side };\n const newThiefRole: PlayerRole = { ...thiefPlayer.role, current: chosenRole.name };\n const playerDataToUpdate: Partial = { side: newThiefSide, role: newThiefRole };\n return updatePlayerInGame(thiefPlayer._id, playerDataToUpdate, clonedGame);\n }\n \n private scapegoatBansVoting({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n if (!targets) {\n return clonedGame;\n }\n const cantVoteByScapegoatPlayerAttribute = createCantVoteByScapegoatPlayerAttribute(clonedGame);\n return addPlayersAttributeInGame(targets.map(({ player }) => player._id), clonedGame, cantVoteByScapegoatPlayerAttribute);\n }\n \n private dogWolfChoosesSide({ chosenSide }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const dogWolfPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.DOG_WOLF);\n if (chosenSide === undefined || !dogWolfPlayer) {\n return clonedGame;\n }\n const playerDataToUpdate: Partial = { side: { ...dogWolfPlayer.side, current: chosenSide } };\n return updatePlayerInGame(dogWolfPlayer._id, playerDataToUpdate, clonedGame);\n }\n \n private wildChildChoosesModel({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const worshipedByWildChildPlayerAttribute = createWorshipedByWildChildPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, worshipedByWildChildPlayerAttribute);\n }\n\n private foxSniffs({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n const foxPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.FOX);\n const { isPowerlessIfMissesWerewolf: isFoxPowerlessIfMissesWerewolf } = clonedGame.options.roles.fox;\n if (targets?.length !== expectedTargetCount || !foxPlayer) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const foxSniffedPlayers = getFoxSniffedPlayers(targetedPlayer._id, clonedGame);\n const areEveryFoxSniffedPlayersVillagerSided = foxSniffedPlayers.every(player => player.side.current === ROLE_SIDES.VILLAGERS);\n if (isFoxPowerlessIfMissesWerewolf && areEveryFoxSniffedPlayersVillagerSided) {\n const powerlessByFoxPlayerAttribute = createPowerlessByFoxPlayerAttribute();\n return addPlayerAttributeInGame(foxPlayer._id, clonedGame, powerlessByFoxPlayerAttribute);\n }\n return clonedGame;\n }\n \n private ravenMarks({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const ravenMarkByRavenPlayerAttribute = createRavenMarkByRavenPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, ravenMarkByRavenPlayerAttribute);\n }\n \n private guardProtects({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const protectedByGuardPlayerAttribute = createProtectedByGuardPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, protectedByGuardPlayerAttribute);\n }\n\n private async hunterShoots({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const shotByHunterDeath = createPlayerShotByHunterDeath();\n return this.playerKillerService.killOrRevealPlayer(targetedPlayer._id, clonedGame, shotByHunterDeath);\n }\n\n private witchUsesPotions({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n let clonedGame = createGame(game);\n if (!targets) {\n return clonedGame;\n }\n const lifePotionAttribute = createDrankLifePotionByWitchPlayerAttribute();\n const deathPotionAttribute = createDrankDeathPotionByWitchPlayerAttribute();\n for (const target of targets) {\n const { player: targetedPlayer } = target;\n const drankPotionAttribute = target.drankPotion === WITCH_POTIONS.LIFE ? lifePotionAttribute : deathPotionAttribute;\n clonedGame = addPlayerAttributeInGame(targetedPlayer._id, clonedGame, drankPotionAttribute) as GameWithCurrentPlay;\n }\n return clonedGame;\n }\n\n private piedPiperCharms({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n if (targets === undefined) {\n return clonedGame;\n }\n const charmedByPiedPiperPlayerAttribute = createCharmedByPiedPiperPlayerAttribute();\n return addPlayersAttributeInGame(targets.map(({ player }) => player._id), clonedGame, charmedByPiedPiperPlayerAttribute);\n }\n\n private cupidCharms({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 2;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const inLoveByCupidPlayerAttribute = createInLoveByCupidPlayerAttribute();\n return addPlayersAttributeInGame(targets.map(({ player }) => player._id), clonedGame, inLoveByCupidPlayerAttribute);\n }\n\n private seerLooks({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const seenBySeerPlayerAttribute = createSeenBySeerPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, seenBySeerPlayerAttribute);\n }\n\n private whiteWerewolfEats({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const eatenByWhiteWerewolfPlayerAttribute = createEatenByWhiteWerewolfPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, eatenByWhiteWerewolfPlayerAttribute);\n }\n\n private bigBadWolfEats({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const eatenByBigBadWolfPlayerAttribute = createEatenByBigBadWolfPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, eatenByBigBadWolfPlayerAttribute);\n }\n\n private async werewolvesEat({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer, isInfected: isTargetInfected } = targets[0];\n const eatenByWerewolvesPlayerAttribute = createEatenByWerewolvesPlayerAttribute();\n const isAncientKillable = await this.playerKillerService.isAncientKillable(clonedGame, PLAYER_DEATH_CAUSES.EATEN);\n if (isTargetInfected === true && (targetedPlayer.role.current !== ROLE_NAMES.ANCIENT || isAncientKillable)) {\n const playerDataToUpdate: Partial = { side: { ...targetedPlayer.side, current: ROLE_SIDES.WEREWOLVES } };\n return updatePlayerInGame(targetedPlayer._id, playerDataToUpdate, clonedGame);\n }\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, eatenByWerewolvesPlayerAttribute);\n }\n}" + }, + "src/modules/game/providers/services/game-play/game-play-validator.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "1369", + "id": "1605", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(212,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "529" + ], "coveredBy": [ - "193", - "194", - "195" + "0", + "1", + "529", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 220 + "line": 38 }, "start": { - "column": 109, - "line": 212 + "column": 112, + "line": 27 } } }, { - "id": "1370", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1606", + "mutatorName": "BooleanLiteral", + "replacement": "game.currentPlay", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:127:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "0" + ], "coveredBy": [ - "193", - "194", - "195" + "0", + "1", + "529", + "530", + "531" ], "location": { "end": { - "column": 51, - "line": 215 + "column": 26, + "line": 28 }, "start": { "column": 9, - "line": 215 + "line": 28 } } }, { - "id": "1371", + "id": "1607", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "529" + ], "coveredBy": [ - "193", - "194", - "195" + "0", + "1", + "529", + "530", + "531" ], "location": { "end": { - "column": 51, - "line": 215 + "column": 26, + "line": 28 }, "start": { "column": 9, - "line": 215 + "line": 28 } } }, { - "id": "1372", - "mutatorName": "LogicalOperator", - "replacement": "chosenSide === undefined && !dogWolfPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1608", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:127:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "0" + ], "coveredBy": [ - "193", - "194", - "195" + "0", + "1", + "529", + "530", + "531" ], "location": { "end": { - "column": 51, - "line": 215 + "column": 26, + "line": 28 }, "start": { "column": 9, - "line": 215 + "line": 28 } } }, { - "id": "1373", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\n", - "status": "CompileError", + "id": "1609", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:127:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "0" + ], "coveredBy": [ - "193", - "194", - "195" + "0" ], "location": { "end": { - "column": 33, - "line": 215 + "column": 6, + "line": 30 }, "start": { - "column": 9, - "line": 215 + "column": 28, + "line": 28 } } }, { - "id": "1374", - "mutatorName": "EqualityOperator", - "replacement": "chosenSide !== undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,82): error TS2322: Type 'undefined' is not assignable to type 'ROLE_SIDES'.\n", - "status": "CompileError", + "id": "1610", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "193", - "194", - "195" + "0" ], "location": { "end": { - "column": 33, - "line": 215 + "column": 90, + "line": 29 }, "start": { - "column": 9, - "line": 215 + "column": 56, + "line": 29 } } }, { - "id": "1375", - "mutatorName": "BooleanLiteral", - "replacement": "dogWolfPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(219,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", + "id": "1611", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(27,92): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "194", - "195" + "0" ], "location": { "end": { - "column": 51, - "line": 215 + "column": 112, + "line": 29 }, "start": { - "column": 37, - "line": 215 + "column": 92, + "line": 29 } } }, { - "id": "1376", + "id": "1612", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(216,62): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(216,82): error TS2322: Type 'ROLE_SIDES | undefined' is not assignable to type 'ROLE_SIDES'.\n Type 'undefined' is not assignable to type 'ROLE_SIDES'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(217,31): error TS18048: 'dogWolfPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:198:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "6" + ], "coveredBy": [ - "193", - "194" + "2", + "3", + "4", + "5", + "6" ], "location": { "end": { - "column": 6, - "line": 217 + "column": 4, + "line": 49 }, "start": { - "column": 53, - "line": 215 + "column": 120, + "line": 40 } } }, { - "id": "1377", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -115,11 +115,11 @@\n \"current\": \"dog-wolf\",\n \"isRevealed\": false,\n \"original\": \"dog-wolf\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e2d3ebabcf03da0fe539777c\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1007:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "1613", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(45,45): error TS18048: 'game.additionalCards' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "195" - ], + "killedBy": [], "coveredBy": [ - "195" + "2", + "3", + "4", + "5", + "6" ], "location": { "end": { - "column": 105, - "line": 218 + "column": 62, + "line": 42 }, "start": { - "column": 49, - "line": 218 + "column": 9, + "line": 42 } } }, { - "id": "1378", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(218,51): error TS2739: Type '{}' is missing the following properties from type 'PlayerSide': original, current\n", + "id": "1614", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(45,45): error TS18048: 'game.additionalCards' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "195" + "2", + "3", + "4", + "5", + "6" ], "location": { "end": { - "column": 103, - "line": 218 + "column": 62, + "line": 42 }, "start": { - "column": 57, - "line": 218 + "column": 9, + "line": 42 } } }, { - "id": "1379", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(222,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "1615", + "mutatorName": "LogicalOperator", + "replacement": "!game.additionalCards && !mustChooseBetweenWerewolves", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(45,45): error TS18048: 'game.additionalCards' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "196", - "197" + "2", + "3", + "4", + "5", + "6" ], "location": { "end": { - "column": 4, - "line": 231 + "column": 62, + "line": 42 }, "start": { - "column": 109, - "line": 222 + "column": 9, + "line": 42 } } }, { - "id": "1380", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1616", + "mutatorName": "BooleanLiteral", + "replacement": "game.additionalCards", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(45,45): error TS18048: 'game.additionalCards' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "196", - "197" + "2", + "3", + "4", + "5", + "6" ], "location": { "end": { - "column": 48, - "line": 225 + "column": 30, + "line": 42 }, "start": { "column": 9, - "line": 225 + "line": 42 } } }, { - "id": "1381", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1617", + "mutatorName": "BooleanLiteral", + "replacement": "mustChooseBetweenWerewolves", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:198:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "6" + ], "coveredBy": [ - "196", - "197" + "3", + "4", + "5", + "6" ], "location": { "end": { - "column": 48, - "line": 225 + "column": 62, + "line": 42 }, "start": { - "column": 9, - "line": 225 + "column": 34, + "line": 42 } } }, { - "id": "1382", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1618", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(43,45): error TS18048: 'game.additionalCards' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "196", - "197" + "2", + "3" ], "location": { "end": { - "column": 48, - "line": 225 + "column": 6, + "line": 44 }, "start": { - "column": 9, - "line": 225 + "column": 64, + "line": 42 } } }, { - "id": "1383", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(225,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(228,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1619", + "mutatorName": "MethodExpression", + "replacement": "game.additionalCards.some(({\n roleName\n}) => werewolvesRoles.find(role => role.name === roleName))", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:174:105)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "4" + ], "coveredBy": [ - "196", - "197" + "4", + "5", + "6" ], "location": { "end": { - "column": 24, - "line": 225 + "column": 143, + "line": 45 }, "start": { - "column": 9, - "line": 225 + "column": 45, + "line": 45 } } }, { - "id": "1384", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(226,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1620", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:198:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "6" + ], "coveredBy": [ - "196" + "4", + "5", + "6" ], "location": { "end": { - "column": 6, - "line": 227 + "column": 142, + "line": 45 }, "start": { - "column": 50, - "line": 225 + "column": 72, + "line": 45 } } }, { - "id": "1385", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(233,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1621", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:198:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "6" + ], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 4, - "line": 249 + "column": 141, + "line": 45 }, "start": { - "column": 97, - "line": 233 + "column": 111, + "line": 45 } } }, { - "id": "1386", + "id": "1622", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 62, - "line": 238 + "column": 141, + "line": 45 }, "start": { - "column": 9, - "line": 238 + "column": 119, + "line": 45 } } }, { - "id": "1387", + "id": "1623", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 62, - "line": 238 + "column": 141, + "line": 45 }, "start": { - "column": 9, - "line": 238 + "column": 119, + "line": 45 } } }, { - "id": "1388", - "mutatorName": "LogicalOperator", - "replacement": "targets?.length !== expectedTargetCount && !foxPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1624", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== roleName", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:174:105)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "4" + ], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 62, - "line": 238 + "column": 141, + "line": 45 }, "start": { - "column": 9, - "line": 238 + "column": 119, + "line": 45 } } }, { - "id": "1389", + "id": "1625", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:174:105)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "4" + ], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 48, - "line": 238 + "column": 55, + "line": 46 }, "start": { "column": 9, - "line": 238 + "line": 46 } } }, { - "id": "1390", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1626", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 48, - "line": 238 + "column": 55, + "line": 46 }, "start": { "column": 9, - "line": 238 + "line": 46 } } }, { - "id": "1391", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(238,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(241,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1627", + "mutatorName": "LogicalOperator", + "replacement": "areAllAdditionalCardsWerewolves || !chosenCard", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "198", - "199", - "200", - "201", - "202" + "4", + "5", + "6" ], "location": { "end": { - "column": 24, - "line": 238 + "column": 55, + "line": 46 }, "start": { "column": 9, - "line": 238 + "line": 46 } } }, { - "id": "1392", + "id": "1628", "mutatorName": "BooleanLiteral", - "replacement": "foxPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "chosenCard", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:186:105)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "5" + ], "coveredBy": [ - "199", - "200", - "201", - "202" + "5", + "6" ], "location": { "end": { - "column": 62, - "line": 238 + "column": 55, + "line": 46 }, "start": { - "column": 52, - "line": 238 + "column": 44, + "line": 46 } } }, { - "id": "1393", + "id": "1629", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(239,40): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(244,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:198:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "6" + ], "coveredBy": [ - "198", - "199" + "6" ], "location": { "end": { "column": 6, - "line": 240 + "line": 48 }, "start": { - "column": 64, - "line": 238 + "column": 57, + "line": 46 } } }, { - "id": "1394", - "mutatorName": "MethodExpression", - "replacement": "foxSniffedPlayers.some(player => player.side.current === ROLE_SIDES.VILLAGERS)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"52a2c74fc6fb88f88d09bab4\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Guido\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1630", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:225:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "201" + "8" ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "9", + "530", + "531" ], "location": { "end": { - "column": 131, - "line": 243 + "column": 4, + "line": 59 }, "start": { - "column": 52, - "line": 243 + "column": 133, + "line": 51 } } }, { - "id": "1395", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"efc8997ac7ecf14daa68ccc8\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"fox\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tatum\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1631", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: thrown: BadGamePlayPayloadException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:229:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:203:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:33:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "202" + "9" ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "9", + "530", + "531" ], "location": { "end": { - "column": 130, - "line": 243 + "column": 66, + "line": 52 }, "start": { - "column": 76, - "line": 243 + "column": 9, + "line": 52 } } }, { - "id": "1396", + "id": "1632", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:164:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "8" + ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "9", + "530", + "531" ], "location": { "end": { - "column": 130, - "line": 243 + "column": 66, + "line": 52 }, "start": { - "column": 86, - "line": 243 + "column": 9, + "line": 52 } } }, { - "id": "1397", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"bccecceec09ef8ac1ffffbe1\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"fox\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Geoffrey\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1633", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_CARD", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:164:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "202" + "8" ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "9", + "530", + "531" ], "location": { "end": { - "column": 130, - "line": 243 + "column": 66, + "line": 52 }, "start": { - "column": 86, - "line": 243 + "column": 9, + "line": 52 } } }, { - "id": "1398", - "mutatorName": "EqualityOperator", - "replacement": "player.side.current !== ROLE_SIDES.VILLAGERS", - "status": "Timeout", + "id": "1634", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:225:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "8" + ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "530", + "531" ], "location": { "end": { - "column": 130, - "line": 243 + "column": 6, + "line": 57 }, "start": { - "column": 86, - "line": 243 + "column": 68, + "line": 52 } } }, { - "id": "1399", + "id": "1635", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"day\",\n \"players\": Array [\n Player {\n \"_id\": \"5bddca58dabb12808f2cef35\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Antonia\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1097:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:218:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 4, "static": false, "killedBy": [ - "200" + "7" ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "530", + "531" ], "location": { "end": { - "column": 81, - "line": 244 + "column": 21, + "line": 53 }, "start": { - "column": 9, - "line": 244 + "column": 11, + "line": 53 } } }, { - "id": "1400", + "id": "1636", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(246,39): error TS18048: 'foxPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:225:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "8" + ], "coveredBy": [ - "200", - "201", - "202" + "7", + "8", + "530", + "531" ], "location": { "end": { - "column": 81, - "line": 244 + "column": 21, + "line": 53 }, "start": { - "column": 9, - "line": 244 + "column": 11, + "line": 53 } } }, { - "id": "1401", - "mutatorName": "LogicalOperator", - "replacement": "isFoxPowerlessIfMissesWerewolf || areEveryFoxSniffedPlayersVillagerSided", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -87,11 +87,19 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"2a84eef9cdfa526abfbc81a9\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"fox\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Wendy\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1113:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1637", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:225:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 1, "static": false, "killedBy": [ - "201" + "8" ], "coveredBy": [ - "200", - "201", - "202" + "8" ], "location": { "end": { - "column": 81, - "line": 244 + "column": 8, + "line": 55 }, "start": { - "column": 9, - "line": 244 + "column": 23, + "line": 53 } } }, { - "id": "1402", + "id": "1638", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -87,19 +87,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"5dcdddf2afd9347136617e11\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"fox\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Earnest\",\n \"position\": 0,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1141:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:184:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 5, "static": false, "killedBy": [ - "202" + "10" ], "coveredBy": [ - "202" + "10", + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 6, - "line": 247 + "column": 4, + "line": 69 }, "start": { - "column": 83, - "line": 244 + "column": 122, + "line": 61 } } }, { - "id": "1403", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(251,93): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1639", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Life potion can't be applied to this target (`targets.drankPotion`)\"], but it was called with \"There are too much targets which drank life potion (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:194:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "11" + ], "coveredBy": [ - "203", - "204" + "10", + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 4, - "line": 260 + "column": 42, + "line": 62 }, "start": { - "column": 98, - "line": 251 + "column": 9, + "line": 62 } } }, { - "id": "1404", + "id": "1640", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"There are too much targets which drank life potion (`targets.drankPotion`)\"], but it was called with \"Life potion can't be applied to this target (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:185:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "10" + ], "coveredBy": [ - "203", - "204" + "10", + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 48, - "line": 254 + "column": 42, + "line": 62 }, "start": { "column": 9, - "line": 254 + "line": 62 } } }, { - "id": "1405", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1641", + "mutatorName": "EqualityOperator", + "replacement": "drankLifePotionTargets.length >= 1", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Life potion can't be applied to this target (`targets.drankPotion`)\"], but it was called with \"There are too much targets which drank life potion (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:194:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "11" + ], "coveredBy": [ - "203", - "204" + "10", + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 48, - "line": 254 + "column": 42, + "line": 62 }, "start": { "column": 9, - "line": 254 + "line": 62 } } }, { - "id": "1406", + "id": "1642", "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "drankLifePotionTargets.length <= 1", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"There are too much targets which drank life potion (`targets.drankPotion`)\"], but it was called with \"Life potion can't be applied to this target (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:185:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "10" + ], "coveredBy": [ - "203", - "204" + "10", + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 48, - "line": 254 + "column": 42, + "line": 62 }, "start": { "column": 9, - "line": 254 + "line": 62 } } }, { - "id": "1407", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(254,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(257,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1643", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "203", - "204" + "10" ], "location": { "end": { - "column": 24, - "line": 254 + "column": 6, + "line": 64 }, "start": { - "column": 9, - "line": 254 + "column": 44, + "line": 62 } } }, { - "id": "1408", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(255,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1644", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, + "static": false, + "killedBy": [ + "13" + ], + "coveredBy": [ + "11", + "12", + "13", + "14" + ], + "location": { + "end": { + "column": 162, + "line": 66 + }, + "start": { + "column": 9, + "line": 65 + } + } + }, + { + "id": "1645", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:193:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "11" + ], "coveredBy": [ - "203" + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 6, - "line": 256 + "column": 162, + "line": 66 }, "start": { - "column": 50, - "line": 254 + "column": 9, + "line": 65 } } }, { - "id": "1409", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(262,96): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1646", + "mutatorName": "LogicalOperator", + "replacement": "drankLifePotionTargets.length || !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) || !drankLifePotionTargets[0].player.isAlive", + "statusReason": "Error: expect(received).not.toThrow()\n\nError name: \"TypeError\"\nError message: \"Cannot read properties of undefined (reading 'player')\"\n\n 141 | }\n 142 | }\n > 143 | if (stryMutAct_9fa48(\"1505\") ? drankLifePotionTargets.length || !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) || !drankLifePotionTargets[0].player.isAlive : stryMutAct_9fa48(\"1504\") ? false : stryMutAct_9fa48(\"1503\") ? true : (stryCov_9fa48(\"1503\", \"1504\", \"1505\"), drankLifePotionTargets.length && (stryMutAct_9fa48(\"1507\") ? !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) && !drankLifePotionTargets[0].player.isAlive : stryMutAct_9fa48(\"1506\") ? true : (stryCov_9fa48(\"1506\", \"1507\"), (stryMutAct_9fa48(\"1508\") ? doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) : (stryCov_9fa48(\"1508\"), !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game))) || (stryMutAct_9fa48(\"1509\") ? drankLifePotionTargets[0].player.isAlive : (stryCov_9fa48(\"1509\"), !drankLifePotionTargets[0].player.isAlive)))))) {\n | ^\n 144 | if (stryMutAct_9fa48(\"1510\")) {\n 145 | {}\n 146 | } else {\n\n at GamePlayValidatorService.validateDrankLifePotionTargets (src/modules/game/providers/services/game-play/game-play-validator.service.ts:143:136)\n at tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:80\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:96)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "13" + ], "coveredBy": [ - "205", - "206" + "11", + "12", + "13", + "14" ], "location": { "end": { - "column": 4, - "line": 271 + "column": 162, + "line": 66 }, "start": { - "column": 101, - "line": 262 + "column": 9, + "line": 65 } } }, { - "id": "1410", + "id": "1647", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:217:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "14" + ], "coveredBy": [ - "205", - "206" + "11", + "12", + "14" ], "location": { "end": { - "column": 48, - "line": 265 + "column": 161, + "line": 66 }, "start": { - "column": 9, - "line": 265 + "column": 8, + "line": 66 } } }, { - "id": "1411", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1648", + "mutatorName": "LogicalOperator", + "replacement": "!doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) && !drankLifePotionTargets[0].player.isAlive", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "205", - "206" + "11", + "12", + "14" ], "location": { "end": { - "column": 48, - "line": 265 + "column": 161, + "line": 66 }, "start": { - "column": 9, - "line": 265 + "column": 8, + "line": 66 } } }, { - "id": "1412", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1649", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "205", - "206" + "11", + "12", + "14" ], "location": { "end": { - "column": 48, - "line": 265 + "column": 116, + "line": 66 }, "start": { - "column": 9, - "line": 265 + "column": 8, + "line": 66 } } }, { - "id": "1413", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(265,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(268,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1650", + "mutatorName": "BooleanLiteral", + "replacement": "drankLifePotionTargets[0].player.isAlive", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:193:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "11" + ], "coveredBy": [ - "205", - "206" + "11", + "14" ], "location": { "end": { - "column": 24, - "line": 265 + "column": 161, + "line": 66 }, "start": { - "column": 9, - "line": 265 + "column": 120, + "line": 66 } } }, { - "id": "1414", + "id": "1651", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(266,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:193:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "11" + ], "coveredBy": [ - "205" + "11", + "12" ], "location": { "end": { "column": 6, - "line": 267 + "line": 68 }, "start": { - "column": 50, - "line": 265 + "column": 164, + "line": 66 } } }, { - "id": "1415", + "id": "1652", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(273,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "207", - "208" + "15", + "16", + "17", + "18" ], "location": { "end": { "column": 4, - "line": 282 + "line": 78 }, "start": { - "column": 115, - "line": 273 + "column": 112, + "line": 71 } } }, { - "id": "1416", + "id": "1653", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "207", - "208" + "15", + "16", + "17", + "18" ], "location": { "end": { - "column": 48, - "line": 276 + "column": 43, + "line": 72 }, "start": { "column": 9, - "line": 276 + "line": 72 } } }, { - "id": "1417", + "id": "1654", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "207", - "208" + "15", + "16", + "17", + "18" ], "location": { "end": { - "column": 48, - "line": 276 + "column": 43, + "line": 72 }, "start": { "column": 9, - "line": 276 + "line": 72 } } }, { - "id": "1418", + "id": "1655", "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "drankDeathPotionTargets.length >= 1", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Death potion can't be applied to this target (`targets.drankPotion`)\"], but it was called with \"There are too much targets which drank death potion (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:231:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "16" + ], "coveredBy": [ - "207", - "208" + "15", + "16", + "17", + "18" ], "location": { "end": { - "column": 48, - "line": 276 + "column": 43, + "line": 72 }, "start": { "column": 9, - "line": 276 + "line": 72 } } }, { - "id": "1419", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(276,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(279,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1656", + "mutatorName": "EqualityOperator", + "replacement": "drankDeathPotionTargets.length <= 1", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:222:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "15" + ], "coveredBy": [ - "207", - "208" + "15", + "16", + "17", + "18" ], "location": { "end": { - "column": 24, - "line": 276 + "column": 43, + "line": 72 }, "start": { "column": 9, - "line": 276 + "line": 72 } } }, { - "id": "1420", + "id": "1657", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(277,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:222:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "15" + ], "coveredBy": [ - "207" + "15" ], "location": { "end": { "column": 6, - "line": 278 + "line": 74 }, "start": { - "column": 50, - "line": 276 + "column": 45, + "line": 72 } } }, { - "id": "1421", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(284,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1658", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "17" + ], "coveredBy": [ - "209", - "210", - "211" + "16", + "17", + "18" ], "location": { "end": { - "column": 4, - "line": 297 + "column": 85, + "line": 75 }, "start": { - "column": 104, - "line": 284 + "column": 9, + "line": 75 } } }, { - "id": "1422", - "mutatorName": "BooleanLiteral", - "replacement": "targets", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(291,26): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1659", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:230:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "16" + ], "coveredBy": [ - "209", - "210", - "211" + "16", + "17", + "18" ], "location": { "end": { - "column": 17, - "line": 286 + "column": 85, + "line": 75 }, "start": { "column": 9, - "line": 286 + "line": 75 } } }, { - "id": "1423", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(291,26): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1660", + "mutatorName": "LogicalOperator", + "replacement": "drankDeathPotionTargets.length || !drankDeathPotionTargets[0].player.isAlive", + "statusReason": "Error: expect(received).not.toThrow()\n\nError name: \"TypeError\"\nError message: \"Cannot read properties of undefined (reading 'player')\"\n\n 164 | }\n 165 | }\n > 166 | if (stryMutAct_9fa48(\"1528\") ? drankDeathPotionTargets.length || !drankDeathPotionTargets[0].player.isAlive : stryMutAct_9fa48(\"1527\") ? false : stryMutAct_9fa48(\"1526\") ? true : (stryCov_9fa48(\"1526\", \"1527\", \"1528\"), drankDeathPotionTargets.length && (stryMutAct_9fa48(\"1529\") ? drankDeathPotionTargets[0].player.isAlive : (stryCov_9fa48(\"1529\"), !drankDeathPotionTargets[0].player.isAlive)))) {\n | ^\n 167 | if (stryMutAct_9fa48(\"1530\")) {\n 168 | {}\n 169 | } else {\n\n at GamePlayValidatorService.validateDrankDeathPotionTargets (src/modules/game/providers/services/game-play/game-play-validator.service.ts:166:100)\n at tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:81\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:91)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "17" + ], "coveredBy": [ - "209", - "210", - "211" + "16", + "17", + "18" ], "location": { "end": { - "column": 17, - "line": 286 + "column": 85, + "line": 75 }, "start": { "column": 9, - "line": 286 + "line": 75 } } }, { - "id": "1424", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(291,26): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1661", + "mutatorName": "BooleanLiteral", + "replacement": "drankDeathPotionTargets[0].player.isAlive", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "209", - "210", - "211" + "16", + "18" ], "location": { "end": { - "column": 17, - "line": 286 + "column": 85, + "line": 75 }, "start": { - "column": 9, - "line": 286 + "column": 43, + "line": 75 } } }, { - "id": "1425", + "id": "1662", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(289,26): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:230:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "16" + ], "coveredBy": [ - "209" + "16" ], "location": { "end": { "column": 6, - "line": 288 + "line": 77 }, "start": { - "column": 19, - "line": 286 + "column": 87, + "line": 75 } } }, { - "id": "1426", + "id": "1663", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -104,19 +104,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"ecb8616cdfb21572efbfd28f\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-life-potion\",\n- \"remainingPhases\": 1,\n- \"source\": \"witch\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Helmer\",\n \"position\": 3506052442095616,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1302:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "status": "Timeout", "static": false, - "killedBy": [ - "210" - ], + "killedBy": [], "coveredBy": [ - "210", - "211" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 6, - "line": 295 + "column": 4, + "line": 90 }, "start": { - "column": 35, - "line": 291 + "column": 124, + "line": 80 } } }, { - "id": "1427", + "id": "1664", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -133,11 +133,11 @@\n \"_id\": \"eadd67af3db2b6d1cef6aea9\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-death-potion\",\n+ \"name\": \"drank-life-potion\",\n \"remainingPhases\": 1,\n \"source\": \"witch\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1336:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 8, "static": false, "killedBy": [ - "211" + "24" ], "coveredBy": [ - "210", - "211" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 77, - "line": 293 + "column": 159, + "line": 81 }, "start": { "column": 36, - "line": 293 + "line": 81 } } }, { - "id": "1428", + "id": "1665", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -108,11 +108,11 @@\n \"_id\": \"57d00dbcaf4796f3baedff9c\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-life-potion\",\n+ \"name\": \"drank-death-potion\",\n \"remainingPhases\": 1,\n \"source\": \"witch\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1302:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, + "static": false, + "killedBy": [ + "19" + ], + "coveredBy": [ + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" + ], + "location": { + "end": { + "column": 159, + "line": 81 + }, + "start": { + "column": 36, + "line": 81 + } + } + }, + { + "id": "1666", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length >= 0", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" + ], + "location": { + "end": { + "column": 159, + "line": 81 + }, + "start": { + "column": 36, + "line": 81 + } + } + }, + { + "id": "1667", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length <= 0", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 8, "static": false, "killedBy": [ - "210" + "19" ], "coveredBy": [ - "210", - "211" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 77, - "line": 293 + "column": 159, + "line": 81 }, "start": { "column": 36, - "line": 293 + "line": 81 } } }, { - "id": "1429", - "mutatorName": "EqualityOperator", - "replacement": "target.drankPotion !== WITCH_POTIONS.LIFE", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -108,11 +108,11 @@\n \"_id\": \"661bb15cffbe650024f2cea8\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": undefined,\n- \"name\": \"drank-life-potion\",\n+ \"name\": \"drank-death-potion\",\n \"remainingPhases\": 1,\n \"source\": \"witch\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1302:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "1668", + "mutatorName": "MethodExpression", + "replacement": "playTargets", + "status": "Timeout", "static": false, - "killedBy": [ - "210" - ], + "killedBy": [], "coveredBy": [ - "210", - "211" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 77, - "line": 293 + "column": 111, + "line": 82 }, "start": { "column": 36, - "line": 293 + "line": 82 } } }, { - "id": "1430", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(299,98): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1669", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "19" + ], "coveredBy": [ - "212", - "213", - "214" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 4, - "line": 306 + "column": 110, + "line": 82 }, "start": { - "column": 103, - "line": 299 + "column": 55, + "line": 82 } } }, { - "id": "1431", + "id": "1670", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "212", - "213", - "214" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 30, - "line": 301 + "column": 110, + "line": 82 }, "start": { - "column": 9, - "line": 301 + "column": 76, + "line": 82 } } }, { - "id": "1432", + "id": "1671", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "19" + ], "coveredBy": [ - "212", - "213", - "214" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 30, - "line": 301 + "column": 110, + "line": 82 }, "start": { - "column": 9, - "line": 301 + "column": 76, + "line": 82 } } }, { - "id": "1433", + "id": "1672", "mutatorName": "EqualityOperator", - "replacement": "targets !== undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "drankPotion !== WITCH_POTIONS.LIFE", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "212", - "213", - "214" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 30, - "line": 301 + "column": 110, + "line": 82 }, "start": { - "column": 9, - "line": 301 + "column": 76, + "line": 82 } } }, { - "id": "1434", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(303,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1673", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "24" + ], "coveredBy": [ - "212" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 6, - "line": 303 + "column": 161, + "line": 83 }, "start": { - "column": 32, - "line": 301 + "column": 37, + "line": 83 } } }, { - "id": "1435", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(305,38): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", - "status": "CompileError", + "id": "1674", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "21" + ], "coveredBy": [ - "213", - "214" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 76, - "line": 305 + "column": 161, + "line": 83 }, "start": { - "column": 50, - "line": 305 + "column": 37, + "line": 83 } } }, { - "id": "1436", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(308,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1675", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length >= 0", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "24" + ], "coveredBy": [ - "215", - "216" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 4, - "line": 316 + "column": 161, + "line": 83 }, "start": { - "column": 99, - "line": 308 + "column": 37, + "line": 83 } } }, { - "id": "1437", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1676", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length <= 0", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "21" + ], "coveredBy": [ - "215", - "216" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 48, - "line": 311 + "column": 161, + "line": 83 }, "start": { - "column": 9, - "line": 311 + "column": 37, + "line": 83 } } }, { - "id": "1438", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1677", + "mutatorName": "MethodExpression", + "replacement": "playTargets", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "215", - "216" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 48, - "line": 311 + "column": 113, + "line": 84 }, "start": { - "column": 9, - "line": 311 + "column": 37, + "line": 84 } } }, { - "id": "1439", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1678", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "21" + ], "coveredBy": [ - "215", - "216" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 48, - "line": 311 + "column": 112, + "line": 84 }, "start": { - "column": 9, - "line": 311 + "column": 56, + "line": 84 } } }, { - "id": "1440", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(311,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1679", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [[]], but it was called with [{\"player\": {\"_id\": \"6f6798ebceaabbd24c5bb38f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Christop\", \"position\": 911489416298496, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:355:83)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "23" + ], "coveredBy": [ - "215", - "216" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 24, - "line": 311 + "column": 112, + "line": 84 }, "start": { - "column": 9, - "line": 311 + "column": 77, + "line": 84 } } }, { - "id": "1441", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(313,38): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1680", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "21" + ], "coveredBy": [ - "215" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 6, - "line": 313 + "column": 112, + "line": 84 }, "start": { - "column": 50, - "line": 311 + "column": 77, + "line": 84 } } }, { - "id": "1442", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(315,38): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", - "status": "CompileError", + "id": "1681", + "mutatorName": "EqualityOperator", + "replacement": "drankPotion !== WITCH_POTIONS.DEATH", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [[]], but it was called with [{\"player\": {\"_id\": \"e49afe9b5f89c42fca5a0b40\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Tania\", \"position\": 5696500713652224, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:355:83)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "23" + ], "coveredBy": [ - "216" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 76, - "line": 315 + "column": 112, + "line": 84 }, "start": { - "column": 50, - "line": 315 + "column": 77, + "line": 84 } } }, { - "id": "1443", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(318,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1682", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:353:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "23" + ], "coveredBy": [ - "217", - "218", - "573" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 4, - "line": 327 + "column": 125, + "line": 85 }, "start": { - "column": 97, - "line": 318 + "column": 9, + "line": 85 } } }, { - "id": "1444", + "id": "1683", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "217", - "218", - "573" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 48, - "line": 321 + "column": 125, + "line": 85 }, "start": { "column": 9, - "line": 321 + "line": 85 } } }, { - "id": "1445", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1684", + "mutatorName": "LogicalOperator", + "replacement": "hasWitchUsedLifePotion && drankLifePotionTargets.length && hasWitchUsedDeathPotion && drankDeathPotionTargets.length", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "19" + ], "coveredBy": [ - "217", - "218", - "573" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { - "end": { - "column": 48, - "line": 321 + "end": { + "column": 125, + "line": 85 }, "start": { "column": 9, - "line": 321 + "line": 85 } } }, { - "id": "1446", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1685", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "19" + ], "coveredBy": [ - "217", - "218", - "573" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 48, - "line": 321 + "column": 64, + "line": 85 }, "start": { "column": 9, - "line": 321 + "line": 85 } } }, { - "id": "1447", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(321,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(324,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1686", + "mutatorName": "LogicalOperator", + "replacement": "hasWitchUsedLifePotion || drankLifePotionTargets.length", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "217", - "218", - "573" + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 24, - "line": 321 + "column": 64, + "line": 85 }, "start": { "column": 9, - "line": 321 + "line": 85 } } }, { - "id": "1448", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(322,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1687", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "21" + ], "coveredBy": [ - "217" + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 6, - "line": 323 + "column": 125, + "line": 85 }, "start": { - "column": 50, - "line": 321 + "column": 68, + "line": 85 } } }, { - "id": "1449", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(329,100): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1688", + "mutatorName": "LogicalOperator", + "replacement": "hasWitchUsedDeathPotion || drankDeathPotionTargets.length", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "24" + ], "coveredBy": [ - "219", - "220" + "21", + "22", + "23", + "24", + "25", + "26" ], "location": { "end": { - "column": 4, - "line": 338 + "column": 125, + "line": 85 }, "start": { - "column": 105, - "line": 329 + "column": 68, + "line": 85 } } }, { - "id": "1450", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1689", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "219", - "220" + "19", + "20", + "21", + "22" ], "location": { "end": { - "column": 48, - "line": 332 + "column": 6, + "line": 87 }, "start": { - "column": 9, - "line": 332 + "column": 127, + "line": 85 } } }, { - "id": "1451", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1690", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "27" + ], "coveredBy": [ - "219", - "220" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 48, - "line": 332 + "column": 4, + "line": 103 }, "start": { - "column": 9, - "line": 332 + "column": 127, + "line": 92 } } }, { - "id": "1452", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1691", + "mutatorName": "MethodExpression", + "replacement": "playTargets", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:451:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "30" + ], "coveredBy": [ - "219", - "220" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 48, - "line": 332 + "column": 88, + "line": 93 }, "start": { - "column": 9, - "line": 332 + "column": 29, + "line": 93 } } }, { - "id": "1453", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(332,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(335,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1692", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "27" + ], "coveredBy": [ - "219", - "220" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 24, - "line": 332 + "column": 87, + "line": 93 }, "start": { - "column": 9, - "line": 332 + "column": 48, + "line": 93 } } }, { - "id": "1454", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(333,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1693", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:451:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "30" + ], "coveredBy": [ - "219" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 6, - "line": 334 + "column": 87, + "line": 93 }, "start": { - "column": 50, - "line": 332 + "column": 68, + "line": 93 } } }, { - "id": "1455", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(340,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "1694", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "221", - "222" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 4, - "line": 349 + "column": 87, + "line": 93 }, "start": { - "column": 102, - "line": 340 + "column": 68, + "line": 93 } } }, { - "id": "1456", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1695", + "mutatorName": "EqualityOperator", + "replacement": "isInfected !== true", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "27" + ], "coveredBy": [ - "221", - "222" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 48, - "line": 343 + "column": 87, + "line": 93 }, "start": { - "column": 9, - "line": 343 + "column": 68, + "line": 93 } } }, { - "id": "1457", - "mutatorName": "ConditionalExpression", + "id": "1696", + "mutatorName": "BooleanLiteral", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "27" + ], "coveredBy": [ - "221", - "222" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 48, - "line": 343 + "column": 87, + "line": 93 }, "start": { - "column": 9, - "line": 343 + "column": 83, + "line": 93 } } }, { - "id": "1458", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1697", + "mutatorName": "BooleanLiteral", + "replacement": "infectedTargets.length", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "27" + ], "coveredBy": [ - "221", - "222" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 48, - "line": 343 + "column": 32, + "line": 94 }, "start": { "column": 9, - "line": 343 + "line": 94 } } }, { - "id": "1459", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(343,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(346,40): error TS18048: 'targets' is possibly 'undefined'.\n", + "id": "1698", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(88,64): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "221", - "222" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 24, - "line": 343 + "column": 32, + "line": 94 }, "start": { "column": 9, - "line": 343 + "line": 94 } } }, { - "id": "1460", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(344,40): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1699", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "221" + "27", + "28", + "29", + "30", + "31", + "47", + "48", + "49" ], "location": { "end": { - "column": 6, - "line": 345 + "column": 32, + "line": 94 }, "start": { - "column": 50, - "line": 343 + "column": 9, + "line": 94 } } }, { - "id": "1461", + "id": "1700", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(351,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:451:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "30" + ], "coveredBy": [ - "223", - "224", - "225", - "226", - "227" + "30", + "47", + "48", + "49" ], "location": { "end": { - "column": 4, - "line": 365 + "column": 6, + "line": 96 }, "start": { - "column": 116, - "line": 351 + "column": 34, + "line": 94 } } }, { - "id": "1462", + "id": "1701", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], - "coveredBy": [ - "223", - "224", - "225", - "226", - "227" + "killedBy": [ + "31" ], - "location": { - "end": { - "column": 48, - "line": 354 - }, - "start": { - "column": 9, - "line": 354 - } - } - }, - { - "id": "1463", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "223", - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 48, - "line": 354 + "column": 149, + "line": 97 }, "start": { - "column": 9, - "line": 354 + "column": 43, + "line": 97 } } }, { - "id": "1464", - "mutatorName": "EqualityOperator", - "replacement": "targets?.length === expectedTargetCount", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1702", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:443:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "29" + ], "coveredBy": [ - "223", - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 48, - "line": 354 + "column": 149, + "line": 97 }, "start": { - "column": 9, - "line": 354 + "column": 43, + "line": 97 } } }, { - "id": "1465", - "mutatorName": "OptionalChaining", - "replacement": "targets.length", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(354,9): error TS18048: 'targets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-maker.service.ts(357,70): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1703", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords(game._id)).length >= 0", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "31" + ], "coveredBy": [ - "223", - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 24, - "line": 354 + "column": 149, + "line": 97 }, "start": { - "column": 9, - "line": 354 + "column": 43, + "line": 97 } } }, { - "id": "1466", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(355,70): error TS18048: 'targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1704", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords(game._id)).length <= 0", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "223" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 6, - "line": 356 + "column": 149, + "line": 97 }, "start": { - "column": 50, - "line": 354 + "column": 43, + "line": 97 } } }, { - "id": "1467", + "id": "1705", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"20af64bd1b2d9cb44e81b78d\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Nikolas\",\n \"position\": 7697632858210304,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"dfc4749b9af4a7088baafb11\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:471:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "224" + "31" ], "coveredBy": [ - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 111, - "line": 360 + "column": 128, + "line": 99 }, "start": { "column": 9, - "line": 360 + "line": 99 } } }, { - "id": "1468", + "id": "1706", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 111, - "line": 360 + "column": 128, + "line": 99 }, "start": { "column": 9, - "line": 360 + "line": 99 } } }, { - "id": "1469", + "id": "1707", "mutatorName": "LogicalOperator", - "replacement": "isTargetInfected === true || targetedPlayer.role.current !== ROLE_NAMES.ANCIENT || isAncientKillable", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e4c9a7ae072ba1feca069be3\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Fausto\",\n \"position\": 7887685884575744,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"2b6bfa1339db41fd7ef62f01\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "(!vileFatherOfWolvesPlayer || !isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game)) && hasVileFatherOfWolvesInfected", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "224" + "27" ], "coveredBy": [ - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 111, - "line": 360 + "column": 128, + "line": 99 }, "start": { "column": 9, - "line": 360 + "line": 99 } } }, { - "id": "1470", + "id": "1708", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a0ddd7455cf09fcfcd1ddc32\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jalyn\",\n \"position\": 6041125127192576,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"78051bf71cfb6cad762f5f5a\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "224" + "27" ], "coveredBy": [ - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 34, - "line": 360 + "column": 95, + "line": 99 }, "start": { "column": 9, - "line": 360 + "line": 99 } } }, { - "id": "1471", - "mutatorName": "EqualityOperator", - "replacement": "isTargetInfected !== true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"7aac1d0ef9baeb9ca13a0bc1\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Arthur\",\n \"position\": 2499489088667648,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a8dc4b2c48ded3d71aa8b53d\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "1709", + "mutatorName": "LogicalOperator", + "replacement": "!vileFatherOfWolvesPlayer && !isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(88,64): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "224" - ], + "killedBy": [], "coveredBy": [ - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { - "column": 34, - "line": 360 + "column": 95, + "line": 99 }, "start": { "column": 9, - "line": 360 + "line": 99 } } }, { - "id": "1472", + "id": "1710", "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"d0be32bb640f79cdfcbae996\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Guy\",\n \"position\": 3569460365492224,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"5da66fee48b9ba6c2c7dbb36\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1623:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "replacement": "vileFatherOfWolvesPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(88,63): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "224" - ], + "killedBy": [], "coveredBy": [ - "224", - "225", - "226", - "227" + "27", + "28", + "29", + "31" ], "location": { "end": { "column": 34, - "line": 360 + "line": 99 }, "start": { - "column": 30, - "line": 360 + "column": 9, + "line": 99 } } }, { - "id": "1473", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "1711", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "225", - "226", - "227" + "28", + "29", + "31" ], "location": { "end": { - "column": 110, - "line": 360 + "column": 95, + "line": 99 }, "start": { - "column": 39, - "line": 360 + "column": 38, + "line": 99 } } }, { - "id": "1474", - "mutatorName": "LogicalOperator", - "replacement": "targetedPlayer.role.current !== ROLE_NAMES.ANCIENT && isAncientKillable", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -104,22 +104,30 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"cfde3de0fe6a5cd99d569715\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Hailey\",\n \"position\": 5504913238917120,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"0d1b4cadc02ffcf456ae4adb\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1712", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "226" + "27" ], "coveredBy": [ - "225", - "226", - "227" + "27", + "28", + "29" ], "location": { "end": { - "column": 110, - "line": 360 + "column": 6, + "line": 101 }, "start": { - "column": 39, - "line": 360 + "column": 130, + "line": 99 } } }, { - "id": "1475", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -104,22 +104,30 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a8a61d9e6ccced0404c2cc99\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Freddy\",\n \"position\": 4751111753826304,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"addc978d24479ad1aee4f14b\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "1713", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(91,61): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "226" - ], + "killedBy": [], "coveredBy": [ - "225", - "226", - "227" + "31" ], "location": { "end": { - "column": 89, - "line": 360 + "column": 79, + "line": 102 }, "start": { - "column": 39, - "line": 360 + "column": 61, + "line": 102 } } }, { - "id": "1476", - "mutatorName": "EqualityOperator", - "replacement": "targetedPlayer.role.current === ROLE_NAMES.ANCIENT", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n@@ -104,30 +104,22 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"9ddeacb10d71cbf4eadbf5b8\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"eaten\",\n- \"remainingPhases\": 1,\n- \"source\": \"werewolves\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Darrel\",\n \"position\": 6966664165851136,\n \"role\": PlayerRole {\n \"current\": \"ancient\",\n \"isRevealed\": false,\n \"original\": \"ancient\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e7b79efb2e88df1db78ff3ec\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1651:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1714", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:507:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "225" + "33" ], "coveredBy": [ - "225", - "226", - "227" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 89, - "line": 360 + "column": 4, + "line": 120 }, "start": { - "column": 39, - "line": 360 + "column": 131, + "line": 105 } } }, { - "id": "1477", - "mutatorName": "BlockStatement", + "id": "1715", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n@@ -104,22 +104,30 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"89efb33d3ca7c5aa19896b74\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"eaten\",\n+ \"remainingPhases\": 1,\n+ \"source\": \"werewolves\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jalyn\",\n \"position\": 7897643189534720,\n \"role\": PlayerRole {\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"b0700feef9f5a5edce87fa2b\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:501:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "226" + "33" ], "coveredBy": [ - "226", - "227" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { "column": 6, - "line": 363 + "line": 114 }, "start": { - "column": 113, - "line": 360 + "column": 106, + "line": 110 } } }, { - "id": "1478", + "id": "1716", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -115,11 +115,11 @@\n \"current\": \"raven\",\n \"isRevealed\": false,\n \"original\": \"raven\",\n },\n \"side\": PlayerSide {\n- \"current\": \"werewolves\",\n+ \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"8e6ef6cda772568fdabbe75b\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts:1679:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(100,7): error TS2418: Type of computed property's value is '{}', which is not assignable to type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "226" - ], + "killedBy": [], "coveredBy": [ - "226", - "227" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 119, - "line": 361 + "column": 53, + "line": 111 }, "start": { - "column": 51, - "line": 361 + "column": 35, + "line": 111 } } }, { - "id": "1479", + "id": "1717", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-maker.service.ts(361,53): error TS2739: Type '{}' is missing the following properties from type 'PlayerSide': original, current\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(101,7): error TS2418: Type of computed property's value is '{}', which is not assignable to type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "226", - "227" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 117, - "line": 361 + "column": 110, + "line": 112 }, "start": { - "column": 59, - "line": 361 + "column": 34, + "line": 112 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { sample } from \"lodash\";\nimport { createFakeGamePlayAllElectSheriff } from \"../../../../../../tests/factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { roles } from \"../../../../role/constants/role.constant\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../role/enums/role.enum\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { createGamePlayAllVote, createGamePlaySheriffSettlesVotes } from \"../../../helpers/game-play/game-play.factory\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { getFoxSniffedPlayers, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole } from \"../../../helpers/game.helper\";\nimport { addPlayerAttributeInGame, addPlayersAttributeInGame, appendUpcomingPlayInGame, prependUpcomingPlayInGame, removePlayerAttributeByNameInGame, updatePlayerInGame } from \"../../../helpers/game.mutator\";\nimport { createCantVoteByScapegoatPlayerAttribute, createCharmedByPiedPiperPlayerAttribute, createDrankDeathPotionByWitchPlayerAttribute, createDrankLifePotionByWitchPlayerAttribute, createEatenByBigBadWolfPlayerAttribute, createEatenByWerewolvesPlayerAttribute, createEatenByWhiteWerewolfPlayerAttribute, createInLoveByCupidPlayerAttribute, createPowerlessByFoxPlayerAttribute, createProtectedByGuardPlayerAttribute, createRavenMarkByRavenPlayerAttribute, createSeenBySeerPlayerAttribute, createSheriffByAllPlayerAttribute, createSheriffBySheriffPlayerAttribute, createWorshipedByWildChildPlayerAttribute } from \"../../../helpers/player/player-attribute/player-attribute.factory\";\nimport { createPlayerShotByHunterDeath, createPlayerVoteByAllDeath, createPlayerVoteBySheriffDeath, createPlayerVoteScapegoatedByAllDeath } from \"../../../helpers/player/player-death/player-death.factory\";\nimport { isPlayerAliveAndPowerful } from \"../../../helpers/player/player.helper\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerRole } from \"../../../schemas/player/player-role.schema\";\nimport type { PlayerSide } from \"../../../schemas/player/player-side.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport type { GameWithCurrentPlay } from \"../../../types/game-with-current-play\";\nimport type { GameSource } from \"../../../types/game.type\";\nimport { PlayerKillerService } from \"../player/player-killer.service\";\nimport { GamePlayVoteService } from \"./game-play-vote/game-play-vote.service\";\n\n@Injectable()\nexport class GamePlayMakerService {\n private readonly gameSourcePlayMethods: Partial Game | Promise>> = {\n [PLAYER_GROUPS.WEREWOLVES]: async(play, game) => this.werewolvesEat(play, game),\n [ROLE_NAMES.BIG_BAD_WOLF]: (play, game) => this.bigBadWolfEats(play, game),\n [ROLE_NAMES.WHITE_WEREWOLF]: (play, game) => this.whiteWerewolfEats(play, game),\n [ROLE_NAMES.SEER]: (play, game) => this.seerLooks(play, game),\n [ROLE_NAMES.CUPID]: (play, game) => this.cupidCharms(play, game),\n [ROLE_NAMES.PIED_PIPER]: (play, game) => this.piedPiperCharms(play, game),\n [ROLE_NAMES.WITCH]: (play, game) => this.witchUsesPotions(play, game),\n [ROLE_NAMES.HUNTER]: async(play, game) => this.hunterShoots(play, game),\n [ROLE_NAMES.GUARD]: (play, game) => this.guardProtects(play, game),\n [ROLE_NAMES.FOX]: (play, game) => this.foxSniffs(play, game),\n [ROLE_NAMES.WILD_CHILD]: (play, game) => this.wildChildChoosesModel(play, game),\n [ROLE_NAMES.DOG_WOLF]: (play, game) => this.dogWolfChoosesSide(play, game),\n [ROLE_NAMES.SCAPEGOAT]: (play, game) => this.scapegoatBansVoting(play, game),\n [ROLE_NAMES.THIEF]: (play, game) => this.thiefChoosesCard(play, game),\n [PLAYER_GROUPS.ALL]: async(play, game) => this.allPlay(play, game),\n [ROLE_NAMES.RAVEN]: (play, game) => this.ravenMarks(play, game),\n [PLAYER_ATTRIBUTE_NAMES.SHERIFF]: async(play, game) => this.sheriffPlays(play, game),\n };\n\n public constructor(\n private readonly playerKillerService: PlayerKillerService,\n private readonly gamePlayVoteService: GamePlayVoteService,\n ) {}\n\n public async makeGamePlay(play: MakeGamePlayWithRelationsDto, game: Game): Promise {\n if (!game.currentPlay) {\n throw createNoCurrentGamePlayUnexpectedException(\"makeGamePlay\", { gameId: game._id });\n }\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const gameSourcePlayMethod = this.gameSourcePlayMethods[clonedGame.currentPlay.source.name];\n if (gameSourcePlayMethod === undefined) {\n return clonedGame;\n }\n return gameSourcePlayMethod(play, clonedGame);\n }\n\n private async sheriffSettlesVotes({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const targetedPlayer = targets[0].player;\n const voteBySheriffDeath = createPlayerVoteBySheriffDeath();\n return this.playerKillerService.killOrRevealPlayer(targetedPlayer._id, clonedGame, voteBySheriffDeath);\n }\n\n private sheriffDelegates({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n let clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const targetedPlayer = targets[0].player;\n const sheriffPlayer = getPlayerWithActiveAttributeName(clonedGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n if (sheriffPlayer) {\n clonedGame = removePlayerAttributeByNameInGame(sheriffPlayer._id, clonedGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF) as GameWithCurrentPlay;\n }\n const sheriffBySheriffPlayerAttribute = createSheriffBySheriffPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, sheriffBySheriffPlayerAttribute);\n }\n\n private async sheriffPlays(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const sheriffPlayMethods: Partial Game | Promise>> = {\n [GAME_PLAY_ACTIONS.DELEGATE]: () => this.sheriffDelegates(play, clonedGame),\n [GAME_PLAY_ACTIONS.SETTLE_VOTES]: async() => this.sheriffSettlesVotes(play, clonedGame),\n };\n const sheriffPlayMethod = sheriffPlayMethods[clonedGame.currentPlay.action];\n if (sheriffPlayMethod === undefined) {\n return clonedGame;\n }\n return sheriffPlayMethod();\n }\n\n private async handleTieInVotes(game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const scapegoatPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.SCAPEGOAT);\n if (scapegoatPlayer && isPlayerAliveAndPowerful(scapegoatPlayer, game)) {\n const playerVoteScapegoatedByAllDeath = createPlayerVoteScapegoatedByAllDeath();\n return this.playerKillerService.killOrRevealPlayer(scapegoatPlayer._id, clonedGame, playerVoteScapegoatedByAllDeath);\n }\n const sheriffPlayer = getPlayerWithActiveAttributeName(clonedGame, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n if (sheriffPlayer?.isAlive === true) {\n const gamePlaySheriffSettlesVotes = createGamePlaySheriffSettlesVotes();\n return prependUpcomingPlayInGame(gamePlaySheriffSettlesVotes, clonedGame);\n }\n if (clonedGame.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n const gamePlayAllVote = createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n return prependUpcomingPlayInGame(gamePlayAllVote, clonedGame);\n }\n return clonedGame;\n }\n\n private async allVote({ votes, doesJudgeRequestAnotherVote }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n let clonedGame = createGame(game) as GameWithCurrentPlay;\n if (!votes) {\n return clonedGame;\n }\n const nominatedPlayers = this.gamePlayVoteService.getNominatedPlayers(votes, clonedGame);\n if (doesJudgeRequestAnotherVote === true) {\n const gamePlayAllVote = createGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST });\n clonedGame = appendUpcomingPlayInGame(gamePlayAllVote, clonedGame) as GameWithCurrentPlay;\n }\n if (nominatedPlayers.length > 1) {\n return this.handleTieInVotes(clonedGame);\n }\n if (nominatedPlayers.length === 1) {\n const playerVoteByAllDeath = createPlayerVoteByAllDeath();\n return this.playerKillerService.killOrRevealPlayer(nominatedPlayers[0]._id, clonedGame, playerVoteByAllDeath);\n }\n return clonedGame;\n }\n\n private handleTieInSheriffElection(nominatedPlayers: Player[], game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n if (clonedGame.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n const gamePlayAllElectSheriff = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n return prependUpcomingPlayInGame(gamePlayAllElectSheriff, clonedGame);\n }\n const randomNominatedPlayer = sample(nominatedPlayers);\n if (randomNominatedPlayer) {\n const sheriffByAllPlayerAttribute = createSheriffByAllPlayerAttribute();\n return addPlayerAttributeInGame(randomNominatedPlayer._id, clonedGame, sheriffByAllPlayerAttribute);\n }\n return clonedGame;\n }\n\n private allElectSheriff(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const { votes } = play;\n if (!votes) {\n return clonedGame;\n }\n const nominatedPlayers = this.gamePlayVoteService.getNominatedPlayers(votes, clonedGame);\n if (!nominatedPlayers.length) {\n return clonedGame;\n }\n if (nominatedPlayers.length !== 1) {\n return this.handleTieInSheriffElection(nominatedPlayers, clonedGame);\n }\n const sheriffByAllPlayerAttribute = createSheriffByAllPlayerAttribute();\n return addPlayerAttributeInGame(nominatedPlayers[0]._id, clonedGame, sheriffByAllPlayerAttribute);\n }\n\n private async allPlay(play: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const allPlayMethods: Partial Game | Promise>> = {\n [GAME_PLAY_ACTIONS.ELECT_SHERIFF]: () => this.allElectSheriff(play, clonedGame),\n [GAME_PLAY_ACTIONS.VOTE]: async() => this.allVote(play, clonedGame),\n };\n const allPlayMethod = allPlayMethods[clonedGame.currentPlay.action];\n if (allPlayMethod === undefined) {\n return clonedGame;\n }\n return allPlayMethod();\n }\n \n private thiefChoosesCard({ chosenCard }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const thiefPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.THIEF);\n if (!thiefPlayer || !chosenCard) {\n return clonedGame;\n }\n const chosenRole = roles.find(role => role.name === chosenCard.roleName);\n if (!chosenRole) {\n return clonedGame;\n }\n const newThiefSide: PlayerSide = { ...thiefPlayer.side, current: chosenRole.side };\n const newThiefRole: PlayerRole = { ...thiefPlayer.role, current: chosenRole.name };\n const playerDataToUpdate: Partial = { side: newThiefSide, role: newThiefRole };\n return updatePlayerInGame(thiefPlayer._id, playerDataToUpdate, clonedGame);\n }\n \n private scapegoatBansVoting({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n if (!targets) {\n return clonedGame;\n }\n const cantVoteByScapegoatPlayerAttribute = createCantVoteByScapegoatPlayerAttribute(clonedGame);\n return addPlayersAttributeInGame(targets.map(({ player }) => player._id), clonedGame, cantVoteByScapegoatPlayerAttribute);\n }\n \n private dogWolfChoosesSide({ chosenSide }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const dogWolfPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.DOG_WOLF);\n if (chosenSide === undefined || !dogWolfPlayer) {\n return clonedGame;\n }\n const playerDataToUpdate: Partial = { side: { ...dogWolfPlayer.side, current: chosenSide } };\n return updatePlayerInGame(dogWolfPlayer._id, playerDataToUpdate, clonedGame);\n }\n \n private wildChildChoosesModel({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const worshipedByWildChildPlayerAttribute = createWorshipedByWildChildPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, worshipedByWildChildPlayerAttribute);\n }\n\n private foxSniffs({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n const foxPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.FOX);\n const { isPowerlessIfMissesWerewolf: isFoxPowerlessIfMissesWerewolf } = clonedGame.options.roles.fox;\n if (targets?.length !== expectedTargetCount || !foxPlayer) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const foxSniffedPlayers = getFoxSniffedPlayers(targetedPlayer._id, clonedGame);\n const areEveryFoxSniffedPlayersVillagerSided = foxSniffedPlayers.every(player => player.side.current === ROLE_SIDES.VILLAGERS);\n if (isFoxPowerlessIfMissesWerewolf && areEveryFoxSniffedPlayersVillagerSided) {\n const powerlessByFoxPlayerAttribute = createPowerlessByFoxPlayerAttribute();\n return addPlayerAttributeInGame(foxPlayer._id, clonedGame, powerlessByFoxPlayerAttribute);\n }\n return clonedGame;\n }\n \n private ravenMarks({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const ravenMarkByRavenPlayerAttribute = createRavenMarkByRavenPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, ravenMarkByRavenPlayerAttribute);\n }\n \n private guardProtects({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const protectedByGuardPlayerAttribute = createProtectedByGuardPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, protectedByGuardPlayerAttribute);\n }\n\n private async hunterShoots({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const shotByHunterDeath = createPlayerShotByHunterDeath();\n return this.playerKillerService.killOrRevealPlayer(targetedPlayer._id, clonedGame, shotByHunterDeath);\n }\n\n private witchUsesPotions({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n let clonedGame = createGame(game);\n if (!targets) {\n return clonedGame;\n }\n const lifePotionAttribute = createDrankLifePotionByWitchPlayerAttribute();\n const deathPotionAttribute = createDrankDeathPotionByWitchPlayerAttribute();\n for (const target of targets) {\n const { player: targetedPlayer } = target;\n const drankPotionAttribute = target.drankPotion === WITCH_POTIONS.LIFE ? lifePotionAttribute : deathPotionAttribute;\n clonedGame = addPlayerAttributeInGame(targetedPlayer._id, clonedGame, drankPotionAttribute) as GameWithCurrentPlay;\n }\n return clonedGame;\n }\n\n private piedPiperCharms({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n if (targets === undefined) {\n return clonedGame;\n }\n const charmedByPiedPiperPlayerAttribute = createCharmedByPiedPiperPlayerAttribute();\n return addPlayersAttributeInGame(targets.map(({ player }) => player._id), clonedGame, charmedByPiedPiperPlayerAttribute);\n }\n\n private cupidCharms({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 2;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const inLoveByCupidPlayerAttribute = createInLoveByCupidPlayerAttribute();\n return addPlayersAttributeInGame(targets.map(({ player }) => player._id), clonedGame, inLoveByCupidPlayerAttribute);\n }\n\n private seerLooks({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const seenBySeerPlayerAttribute = createSeenBySeerPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, seenBySeerPlayerAttribute);\n }\n\n private whiteWerewolfEats({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const eatenByWhiteWerewolfPlayerAttribute = createEatenByWhiteWerewolfPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, eatenByWhiteWerewolfPlayerAttribute);\n }\n\n private bigBadWolfEats({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Game {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer } = targets[0];\n const eatenByBigBadWolfPlayerAttribute = createEatenByBigBadWolfPlayerAttribute();\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, eatenByBigBadWolfPlayerAttribute);\n }\n\n private async werewolvesEat({ targets }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n const clonedGame = createGame(game);\n const expectedTargetCount = 1;\n if (targets?.length !== expectedTargetCount) {\n return clonedGame;\n }\n const { player: targetedPlayer, isInfected: isTargetInfected } = targets[0];\n const eatenByWerewolvesPlayerAttribute = createEatenByWerewolvesPlayerAttribute();\n const isAncientKillable = await this.playerKillerService.isAncientKillable(clonedGame, PLAYER_DEATH_CAUSES.EATEN);\n if (isTargetInfected === true && (targetedPlayer.role.current !== ROLE_NAMES.ANCIENT || isAncientKillable)) {\n const playerDataToUpdate: Partial = { side: { ...targetedPlayer.side, current: ROLE_SIDES.WEREWOLVES } };\n return updatePlayerInGame(targetedPlayer._id, playerDataToUpdate, clonedGame);\n }\n return addPlayerAttributeInGame(targetedPlayer._id, clonedGame, eatenByWerewolvesPlayerAttribute);\n }\n}" - }, - "src/modules/game/providers/services/game-play/game-play-validator.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1480", - "mutatorName": "BlockStatement", + "id": "1718", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(102,7): error TS2418: Type of computed property's value is '{}', which is not assignable to type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "0", - "1", - "571", - "572", - "573" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 4, - "line": 36 + "column": 81, + "line": 113 }, "start": { - "column": 112, - "line": 25 + "column": 36, + "line": 113 } } }, { - "id": "1481", + "id": "1719", "mutatorName": "BooleanLiteral", - "replacement": "game.currentPlay", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:127:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "targetsBoundaries", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(108,57): error TS2345: Argument of type 'undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "0" - ], + "killedBy": [], "coveredBy": [ - "0", - "1", - "571", - "572", - "573" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 26, - "line": 26 + "column": 27, + "line": 116 }, "start": { "column": 9, - "line": 26 + "line": 116 } } }, { - "id": "1482", + "id": "1720", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, - "static": false, - "killedBy": [ - "571" - ], - "coveredBy": [ - "0", - "1", - "571", - "572", - "573" - ], - "location": { - "end": { - "column": 26, - "line": 26 - }, - "start": { - "column": 9, - "line": 26 - } - } - }, - { - "id": "1483", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(108,57): error TS2345: Argument of type '{ min: number; max: number; } | undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type 'undefined' is not assignable to type '{ min: number; max: number; }'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "0", - "1", - "571", - "572", - "573" - ], - "location": { - "end": { - "column": 26, - "line": 26 - }, - "start": { - "column": 9, - "line": 26 - } - } - }, - { - "id": "1484", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:127:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, - "static": false, - "killedBy": [ - "0" - ], - "coveredBy": [ - "0" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 6, - "line": 28 + "column": 27, + "line": 116 }, "start": { - "column": 28, - "line": 26 + "column": 9, + "line": 116 } } }, { - "id": "1485", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "status": "Timeout", + "id": "1721", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(108,57): error TS2345: Argument of type '{ min: number; max: number; } | undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type 'undefined' is not assignable to type '{ min: number; max: number; }'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "0" + "32", + "33", + "34", + "35", + "36", + "37" ], "location": { "end": { - "column": 90, - "line": 27 + "column": 27, + "line": 116 }, "start": { - "column": 56, - "line": 27 + "column": 9, + "line": 116 } } }, { - "id": "1486", - "mutatorName": "ObjectLiteral", + "id": "1722", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(27,92): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; }'.\n Property 'gameId' is missing in type '{}' but required in type '{ gameId: ObjectId; }'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(106,57): error TS2345: Argument of type '{ min: number; max: number; } | undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type 'undefined' is not assignable to type '{ min: number; max: number; }'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "0" + "32" ], "location": { "end": { - "column": 112, - "line": 27 + "column": 6, + "line": 118 }, "start": { - "column": 92, - "line": 27 + "column": 29, + "line": 116 } } }, { - "id": "1487", + "id": "1723", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:149:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 12, "static": false, "killedBy": [ - "2" + "39" ], "coveredBy": [ - "2", - "3", - "4", - "5", - "572", - "573" + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { "column": 4, - "line": 48 + "line": 142 }, "start": { - "column": 133, - "line": 38 + "column": 144, + "line": 122 } } }, { - "id": "1488", + "id": "1724", "mutatorName": "BooleanLiteral", - "replacement": "chosenCard", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "playTargets.length", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:549:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 12, "static": false, "killedBy": [ - "572" + "38" ], "coveredBy": [ - "2", - "3", - "4", - "5", - "572", - "573" + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 20, - "line": 39 + "column": 28, + "line": 124 }, "start": { "column": 9, - "line": 39 + "line": 124 } } }, { - "id": "1489", + "id": "1725", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:164:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 12, "static": false, "killedBy": [ - "4" + "39" ], "coveredBy": [ - "2", - "3", - "4", - "5", - "572", - "573" + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 20, - "line": 39 + "column": 28, + "line": 124 }, "start": { "column": 9, - "line": 39 + "line": 124 } } }, { - "id": "1490", + "id": "1726", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:149:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:549:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 12, "static": false, "killedBy": [ - "2" + "38" ], "coveredBy": [ - "2", - "3", - "4", - "5", - "572", - "573" + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 20, - "line": 39 + "column": 28, + "line": 124 }, "start": { "column": 9, - "line": 39 + "line": 124 } } }, { - "id": "1491", + "id": "1727", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:549:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 1, "static": false, "killedBy": [ - "572" + "38" ], "coveredBy": [ - "2", - "3", - "572", - "573" + "38" ], "location": { "end": { "column": 6, - "line": 44 + "line": 126 }, "start": { - "column": 22, - "line": 39 + "column": 30, + "line": 124 } } }, { - "id": "1492", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "1728", + "mutatorName": "BooleanLiteral", + "replacement": "!pureWolvesAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 11, "static": false, "killedBy": [ - "572" + "39" ], "coveredBy": [ - "2", - "3", - "572", - "573" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 68, - "line": 40 + "column": 145, + "line": 129 }, "start": { - "column": 11, - "line": 40 + "column": 49, + "line": 129 } } }, { - "id": "1493", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1729", + "mutatorName": "BooleanLiteral", + "replacement": "pureWolvesAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], - "coveredBy": [ - "2", - "3", - "572", - "573" + "killedBy": [ + "39" ], - "location": { - "end": { - "column": 68, - "line": 40 - }, - "start": { - "column": 11, - "line": 40 - } - } - }, - { - "id": "1494", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_CARD", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "2", - "3", - "572", - "573" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 68, - "line": 40 + "column": 145, + "line": 129 }, "start": { - "column": 11, - "line": 40 + "column": 50, + "line": 129 } } }, { - "id": "1495", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:149:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1730", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:637:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 11, "static": false, "killedBy": [ - "2" + "48" ], "coveredBy": [ - "2" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 8, - "line": 42 + "column": 144, + "line": 129 }, "start": { - "column": 70, - "line": 40 + "column": 83, + "line": 129 } } }, { - "id": "1496", + "id": "1731", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:172:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 9, "static": false, "killedBy": [ - "5" + "39" ], "coveredBy": [ - "4", - "5" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49" ], "location": { "end": { - "column": 66, - "line": 45 + "column": 144, + "line": 129 }, "start": { - "column": 9, - "line": 45 + "column": 96, + "line": 129 } } }, { - "id": "1497", + "id": "1732", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:164:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:637:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "4" + "48" ], "coveredBy": [ - "4", - "5" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49" ], "location": { "end": { - "column": 66, - "line": 45 + "column": 144, + "line": 129 }, "start": { - "column": 9, - "line": 45 + "column": 96, + "line": 129 } } }, { - "id": "1498", + "id": "1733", "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_CARD", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:164:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "_id.toString() !== targetedPlayer._id.toString()", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:637:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "4" + "48" ], "coveredBy": [ - "4", - "5" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "48", + "49" ], "location": { "end": { - "column": 66, - "line": 45 + "column": 144, + "line": 129 }, "start": { - "column": 9, - "line": 45 + "column": 96, + "line": 129 } } }, { - "id": "1499", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:164:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1734", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Big bad wolf can't eat this target\"], but it was called with \"Werewolves can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:597:43)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 11, "static": false, "killedBy": [ - "4" + "41" ], "coveredBy": [ - "4" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 6, - "line": 47 + "column": 106, + "line": 130 }, "start": { - "column": 68, - "line": 45 + "column": 9, + "line": 130 } } }, { - "id": "1500", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:184:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1735", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 11, "static": false, "killedBy": [ - "6" + "39" ], "coveredBy": [ - "6", - "7", - "8", - "9", - "10" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 4, - "line": 58 + "column": 106, + "line": 130 }, "start": { - "column": 122, - "line": 50 + "column": 9, + "line": 130 } } }, { - "id": "1501", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Life potion can't be applied to this target (`targets.drankPotion`)\"], but it was called with \"There are too much targets which drank life potion (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:194:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1736", + "mutatorName": "LogicalOperator", + "replacement": "game.currentPlay.source.name === PLAYER_GROUPS.WEREWOLVES || !isTargetedPlayerInPureWolvesTargets", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Big bad wolf can't eat this target\"], but it was called with \"Werewolves can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:597:43)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 11, "static": false, "killedBy": [ - "7" + "41" ], "coveredBy": [ - "6", - "7", - "8", - "9", - "10" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 42, - "line": 51 + "column": 106, + "line": 130 }, "start": { "column": 9, - "line": 51 + "line": 130 } } }, { - "id": "1502", + "id": "1737", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"There are too much targets which drank life potion (`targets.drankPotion`)\"], but it was called with \"Life potion can't be applied to this target (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:185:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "6" - ], + "killedBy": [], "coveredBy": [ - "6", - "7", - "8", - "9", - "10" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 42, - "line": 51 + "column": 66, + "line": 130 }, "start": { "column": 9, - "line": 51 + "line": 130 } } }, { - "id": "1503", + "id": "1738", "mutatorName": "EqualityOperator", - "replacement": "drankLifePotionTargets.length >= 1", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Life potion can't be applied to this target (`targets.drankPotion`)\"], but it was called with \"There are too much targets which drank life potion (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:194:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "game.currentPlay.source.name !== PLAYER_GROUPS.WEREWOLVES", + "status": "Timeout", "static": false, - "killedBy": [ - "7" - ], + "killedBy": [], "coveredBy": [ - "6", - "7", - "8", - "9", - "10" + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 42, - "line": 51 + "column": 66, + "line": 130 }, "start": { "column": 9, - "line": 51 + "line": 130 } } }, { - "id": "1504", - "mutatorName": "EqualityOperator", - "replacement": "drankLifePotionTargets.length <= 1", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"There are too much targets which drank life potion (`targets.drankPotion`)\"], but it was called with \"Life potion can't be applied to this target (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:185:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "1739", + "mutatorName": "BooleanLiteral", + "replacement": "isTargetedPlayerInPureWolvesTargets", + "status": "Timeout", "static": false, - "killedBy": [ - "6" - ], + "killedBy": [], "coveredBy": [ - "6", - "7", - "8", - "9", - "10" + "39", + "40", + "49" ], "location": { "end": { - "column": 42, - "line": 51 + "column": 106, + "line": 130 }, "start": { - "column": 9, - "line": 51 + "column": 70, + "line": 130 } } }, { - "id": "1505", + "id": "1740", "mutatorName": "BlockStatement", "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "6" + "39", + "40" ], "location": { "end": { "column": 6, - "line": 53 + "line": 132 }, "start": { - "column": 44, - "line": 51 + "column": 108, + "line": 130 } } }, { - "id": "1506", + "id": "1741", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"White werewolf can't eat this target\"], but it was called with \"Big bad wolf can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:639:43)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 9, "static": false, "killedBy": [ - "9" + "44" ], "coveredBy": [ - "7", - "8", - "9", - "10" + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 162, - "line": 55 + "column": 105, + "line": 133 }, "start": { "column": 9, - "line": 54 + "line": 133 } } }, { - "id": "1507", + "id": "1742", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:193:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 9, "static": false, "killedBy": [ - "7" + "41" ], "coveredBy": [ - "7", - "8", - "9", - "10" + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 162, - "line": 55 + "column": 105, + "line": 133 }, "start": { "column": 9, - "line": 54 + "line": 133 } } }, { - "id": "1508", + "id": "1743", "mutatorName": "LogicalOperator", - "replacement": "drankLifePotionTargets.length || !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) || !drankLifePotionTargets[0].player.isAlive", - "statusReason": "Error: expect(received).not.toThrow()\n\nError name: \"TypeError\"\nError message: \"Cannot read properties of undefined (reading 'player')\"\n\n 141 | }\n 142 | }\n > 143 | if (stryMutAct_9fa48(\"1505\") ? drankLifePotionTargets.length || !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) || !drankLifePotionTargets[0].player.isAlive : stryMutAct_9fa48(\"1504\") ? false : stryMutAct_9fa48(\"1503\") ? true : (stryCov_9fa48(\"1503\", \"1504\", \"1505\"), drankLifePotionTargets.length && (stryMutAct_9fa48(\"1507\") ? !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) && !drankLifePotionTargets[0].player.isAlive : stryMutAct_9fa48(\"1506\") ? true : (stryCov_9fa48(\"1506\", \"1507\"), (stryMutAct_9fa48(\"1508\") ? doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) : (stryCov_9fa48(\"1508\"), !doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game))) || (stryMutAct_9fa48(\"1509\") ? drankLifePotionTargets[0].player.isAlive : (stryCov_9fa48(\"1509\"), !drankLifePotionTargets[0].player.isAlive)))))) {\n | ^\n 144 | if (stryMutAct_9fa48(\"1510\")) {\n 145 | {}\n 146 | } else {\n\n at GamePlayValidatorService.validateDrankLifePotionTargets (src/modules/game/providers/services/game-play/game-play-validator.service.ts:143:136)\n at tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:80\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:96)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:209:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "game.currentPlay.source.name === ROLE_NAMES.BIG_BAD_WOLF || !isTargetedPlayerInPureWolvesTargets", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"White werewolf can't eat this target\"], but it was called with \"Big bad wolf can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:639:43)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 9, "static": false, "killedBy": [ - "9" + "44" ], "coveredBy": [ - "7", - "8", - "9", - "10" + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 162, - "line": 55 + "column": 105, + "line": 133 }, "start": { "column": 9, - "line": 54 + "line": 133 } } }, { - "id": "1509", + "id": "1744", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:217:116)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"White werewolf can't eat this target\"], but it was called with \"Big bad wolf can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:639:43)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 9, "static": false, "killedBy": [ - "10" + "44" ], "coveredBy": [ - "7", - "8", - "10" + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 161, - "line": 55 + "column": 65, + "line": 133 }, "start": { - "column": 8, - "line": 55 + "column": 9, + "line": 133 } } }, { - "id": "1510", - "mutatorName": "LogicalOperator", - "replacement": "!doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) && !drankLifePotionTargets[0].player.isAlive", - "status": "Timeout", + "id": "1745", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.source.name !== ROLE_NAMES.BIG_BAD_WOLF", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "41" + ], "coveredBy": [ - "7", - "8", - "10" + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 161, - "line": 55 + "column": 65, + "line": 133 }, "start": { - "column": 8, - "line": 55 + "column": 9, + "line": 133 } } }, { - "id": "1511", + "id": "1746", "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game)", - "status": "Timeout", + "replacement": "isTargetedPlayerInPureWolvesTargets", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "41" + ], "coveredBy": [ - "7", - "8", - "10" + "41", + "42", + "43", + "48" ], "location": { "end": { - "column": 116, - "line": 55 + "column": 105, + "line": 133 }, "start": { - "column": 8, - "line": 55 + "column": 69, + "line": 133 } } }, { - "id": "1512", + "id": "1747", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, + "static": false, + "killedBy": [ + "41" + ], + "coveredBy": [ + "41", + "42", + "43" + ], + "location": { + "end": { + "column": 6, + "line": 135 + }, + "start": { + "column": 107, + "line": 133 + } + } + }, + { + "id": "1748", "mutatorName": "BooleanLiteral", - "replacement": "drankLifePotionTargets[0].player.isAlive", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:193:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "!whiteWerewolfAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "7" + "44" ], "coveredBy": [ - "7", - "10" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 161, - "line": 55 + "column": 151, + "line": 137 }, "start": { - "column": 120, - "line": 55 + "column": 52, + "line": 137 } } }, { - "id": "1513", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:193:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1749", + "mutatorName": "BooleanLiteral", + "replacement": "whiteWerewolfAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "7" + "44" ], "coveredBy": [ - "7", - "8" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 6, - "line": 57 + "column": 151, + "line": 137 }, "start": { - "column": 164, - "line": 55 + "column": 53, + "line": 137 } } }, { - "id": "1514", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "1750", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "47" + ], "coveredBy": [ - "11", - "12", - "13", - "14" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 4, - "line": 67 + "column": 150, + "line": 137 }, "start": { - "column": 112, - "line": 60 + "column": 89, + "line": 137 } } }, { - "id": "1515", + "id": "1751", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "44" + ], "coveredBy": [ - "11", - "12", - "13", - "14" + "44", + "45", + "47" ], "location": { "end": { - "column": 43, - "line": 61 + "column": 150, + "line": 137 }, "start": { - "column": 9, - "line": 61 + "column": 102, + "line": 137 } } }, { - "id": "1516", + "id": "1752", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "47" + ], "coveredBy": [ - "11", - "12", - "13", - "14" + "44", + "45", + "47" ], "location": { "end": { - "column": 43, - "line": 61 + "column": 150, + "line": 137 }, "start": { - "column": 9, - "line": 61 + "column": 102, + "line": 137 } } }, { - "id": "1517", + "id": "1753", "mutatorName": "EqualityOperator", - "replacement": "drankDeathPotionTargets.length >= 1", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Death potion can't be applied to this target (`targets.drankPotion`)\"], but it was called with \"There are too much targets which drank death potion (`targets.drankPotion`)\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:231:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "_id.toString() !== targetedPlayer._id.toString()", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "12" + "44" ], "coveredBy": [ - "11", - "12", - "13", - "14" + "44", + "45", + "47" ], "location": { "end": { - "column": 43, - "line": 61 + "column": 150, + "line": 137 }, "start": { - "column": 9, - "line": 61 + "column": 102, + "line": 137 } } }, { - "id": "1518", - "mutatorName": "EqualityOperator", - "replacement": "drankDeathPotionTargets.length <= 1", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:222:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1754", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "11" + "47" ], "coveredBy": [ - "11", - "12", - "13", - "14" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 43, - "line": 61 + "column": 110, + "line": 138 }, "start": { "column": 9, - "line": 61 + "line": 138 } } }, { - "id": "1519", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:222:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1755", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "44", + "45", + "46", + "47", + "48", + "49" + ], + "location": { + "end": { + "column": 110, + "line": 138 + }, + "start": { + "column": 9, + "line": 138 + } + } + }, + { + "id": "1756", + "mutatorName": "LogicalOperator", + "replacement": "game.currentPlay.source.name === ROLE_NAMES.WHITE_WEREWOLF || !isTargetedPlayerInWhiteWerewolfTargets", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 6, "static": false, "killedBy": [ - "11" + "47" ], "coveredBy": [ - "11" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 6, - "line": 63 + "column": 110, + "line": 138 }, "start": { - "column": 45, - "line": 61 + "column": 9, + "line": 138 } } }, { - "id": "1520", + "id": "1757", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:631:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "13" + "48" ], "coveredBy": [ - "12", - "13", - "14" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 85, - "line": 64 + "column": 67, + "line": 138 }, "start": { "column": 9, - "line": 64 + "line": 138 } } }, { - "id": "1521", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:230:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1758", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.source.name !== ROLE_NAMES.WHITE_WEREWOLF", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "12" + "44" ], "coveredBy": [ - "12", - "13", - "14" + "44", + "45", + "46", + "47", + "48", + "49" ], "location": { "end": { - "column": 85, - "line": 64 + "column": 67, + "line": 138 }, "start": { "column": 9, - "line": 64 + "line": 138 } } }, { - "id": "1522", - "mutatorName": "LogicalOperator", - "replacement": "drankDeathPotionTargets.length || !drankDeathPotionTargets[0].player.isAlive", - "statusReason": "Error: expect(received).not.toThrow()\n\nError name: \"TypeError\"\nError message: \"Cannot read properties of undefined (reading 'player')\"\n\n 164 | }\n 165 | }\n > 166 | if (stryMutAct_9fa48(\"1528\") ? drankDeathPotionTargets.length || !drankDeathPotionTargets[0].player.isAlive : stryMutAct_9fa48(\"1527\") ? false : stryMutAct_9fa48(\"1526\") ? true : (stryCov_9fa48(\"1526\", \"1527\", \"1528\"), drankDeathPotionTargets.length && (stryMutAct_9fa48(\"1529\") ? drankDeathPotionTargets[0].player.isAlive : (stryCov_9fa48(\"1529\"), !drankDeathPotionTargets[0].player.isAlive)))) {\n | ^\n 167 | if (stryMutAct_9fa48(\"1530\")) {\n 168 | {}\n 169 | } else {\n\n at GamePlayValidatorService.validateDrankDeathPotionTargets (src/modules/game/providers/services/game-play/game-play-validator.service.ts:166:100)\n at tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:81\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:91)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:235:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1759", + "mutatorName": "BooleanLiteral", + "replacement": "isTargetedPlayerInWhiteWerewolfTargets", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 4, "static": false, "killedBy": [ - "13" + "44" ], "coveredBy": [ - "12", - "13", - "14" + "44", + "45", + "46", + "47" ], "location": { "end": { - "column": 85, - "line": 64 + "column": 110, + "line": 138 }, "start": { - "column": 9, - "line": 64 + "column": 71, + "line": 138 } } }, { - "id": "1523", - "mutatorName": "BooleanLiteral", - "replacement": "drankDeathPotionTargets[0].player.isAlive", - "status": "Timeout", + "id": "1760", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "44" + ], "coveredBy": [ - "12", - "14" + "44", + "45", + "46" ], "location": { "end": { - "column": 85, - "line": 64 + "column": 6, + "line": 140 }, "start": { - "column": 43, - "line": 64 + "column": 112, + "line": 138 } } }, { - "id": "1524", + "id": "1761", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:230:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:647:118)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 2, "static": false, "killedBy": [ - "12" + "50" ], "coveredBy": [ - "12" + "50", + "51" ], "location": { "end": { - "column": 6, - "line": 66 + "column": 4, + "line": 150 }, "start": { - "column": 87, - "line": 64 + "column": 98, + "line": 144 } } }, { - "id": "1525", - "mutatorName": "BlockStatement", + "id": "1762", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(132,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "50", + "51" ], "location": { "end": { - "column": 4, - "line": 79 + "column": 75, + "line": 145 }, "start": { - "column": 124, - "line": 69 + "column": 57, + "line": 145 } } }, { - "id": "1526", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "1763", + "mutatorName": "BooleanLiteral", + "replacement": "targetedPlayer.isAlive", + "status": "Timeout", "static": false, - "killedBy": [ - "20" - ], + "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "50", + "51" ], "location": { "end": { - "column": 159, - "line": 70 + "column": 32, + "line": 147 }, "start": { - "column": 36, - "line": 70 + "column": 9, + "line": 147 } } }, { - "id": "1527", + "id": "1764", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:654:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "15" + "51" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "50", + "51" ], "location": { "end": { - "column": 159, - "line": 70 + "column": 32, + "line": 147 }, "start": { - "column": 36, - "line": 70 + "column": 9, + "line": 147 } } }, { - "id": "1528", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length >= 0", - "status": "Timeout", + "id": "1765", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:647:118)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "50" + ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "50", + "51" ], "location": { "end": { - "column": 159, - "line": 70 + "column": 32, + "line": 147 }, "start": { - "column": 36, - "line": 70 + "column": 9, + "line": 147 } } }, { - "id": "1529", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length <= 0", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1766", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:647:118)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 1, "static": false, "killedBy": [ - "15" + "50" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "50" ], "location": { "end": { - "column": 159, - "line": 70 + "column": 6, + "line": 149 }, "start": { - "column": 36, - "line": 70 + "column": 34, + "line": 147 } } }, { - "id": "1530", - "mutatorName": "MethodExpression", - "replacement": "playTargets", - "status": "Timeout", + "id": "1767", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "52" + ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 111, - "line": 71 + "column": 4, + "line": 157 }, "start": { - "column": 36, - "line": 71 + "column": 113, + "line": 152 } } }, { - "id": "1531", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "1768", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(140,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "15" - ], + "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 110, - "line": 71 + "column": 93, + "line": 153 }, "start": { - "column": 55, - "line": 71 + "column": 57, + "line": 153 } } }, { - "id": "1532", + "id": "1769", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 110, - "line": 71 + "column": 58, + "line": 154 }, "start": { - "column": 76, - "line": 71 + "column": 9, + "line": 154 } } }, { - "id": "1533", + "id": "1770", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "15" + "52" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 110, - "line": 71 + "column": 58, + "line": 154 }, "start": { - "column": 76, - "line": 71 + "column": 9, + "line": 154 } } }, { - "id": "1534", - "mutatorName": "EqualityOperator", - "replacement": "drankPotion !== WITCH_POTIONS.LIFE", - "status": "Timeout", + "id": "1771", + "mutatorName": "MethodExpression", + "replacement": "playTargets.every(({\n player\n}) => !player.isAlive)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "52" + ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 110, - "line": 71 + "column": 58, + "line": 154 }, "start": { - "column": 76, - "line": 71 + "column": 9, + "line": 154 } } }, { - "id": "1535", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1772", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "20" + "52" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 161, - "line": 72 + "column": 57, + "line": 154 }, "start": { - "column": 37, - "line": 72 + "column": 26, + "line": 154 } } }, { - "id": "1536", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1773", + "mutatorName": "BooleanLiteral", + "replacement": "player.isAlive", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:691:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "17" + "53" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52", + "53" ], "location": { "end": { - "column": 161, - "line": 72 + "column": 57, + "line": 154 }, "start": { - "column": 37, - "line": 72 + "column": 42, + "line": 154 } } }, { - "id": "1537", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length >= 0", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1774", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 1, "static": false, "killedBy": [ - "20" + "52" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "52" ], "location": { "end": { - "column": 161, - "line": 72 + "column": 6, + "line": 156 }, "start": { - "column": 37, - "line": 72 + "column": 60, + "line": 154 } } }, { - "id": "1538", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length <= 0", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1775", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "17" - ], - "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54" + ], + "coveredBy": [ + "54", + "55" ], "location": { "end": { - "column": 161, - "line": 72 + "column": 4, + "line": 164 }, "start": { - "column": 37, - "line": 72 + "column": 97, + "line": 159 } } }, { - "id": "1539", - "mutatorName": "MethodExpression", - "replacement": "playTargets", - "status": "Timeout", + "id": "1776", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(147,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54", + "55" ], "location": { "end": { - "column": 113, - "line": 73 + "column": 75, + "line": 160 }, "start": { - "column": 37, - "line": 73 + "column": 57, + "line": 160 } } }, { - "id": "1540", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "1777", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "17" - ], + "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54", + "55" ], "location": { "end": { - "column": 112, - "line": 73 + "column": 58, + "line": 161 }, "start": { - "column": 56, - "line": 73 + "column": 9, + "line": 161 } } }, { - "id": "1541", + "id": "1778", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [[]], but it was called with [{\"player\": {\"_id\": \"6f6798ebceaabbd24c5bb38f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Christop\", \"position\": 911489416298496, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:355:83)", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "19" + "54" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54", + "55" ], "location": { "end": { - "column": 112, - "line": 73 + "column": 58, + "line": 161 }, "start": { - "column": 77, - "line": 73 + "column": 9, + "line": 161 } } }, { - "id": "1542", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "1779", + "mutatorName": "MethodExpression", + "replacement": "playTargets.every(({\n player\n}) => !player.isAlive)", + "status": "Timeout", "static": false, - "killedBy": [ - "17" - ], + "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54", + "55" ], "location": { "end": { - "column": 112, - "line": 73 + "column": 58, + "line": 161 }, "start": { - "column": 77, - "line": 73 + "column": 9, + "line": 161 } } }, { - "id": "1543", - "mutatorName": "EqualityOperator", - "replacement": "drankPotion !== WITCH_POTIONS.DEATH", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [[]], but it was called with [{\"player\": {\"_id\": \"e49afe9b5f89c42fca5a0b40\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Tania\", \"position\": 5696500713652224, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:355:83)", + "id": "1780", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "19" + "54" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54", + "55" ], "location": { "end": { - "column": 112, - "line": 73 + "column": 57, + "line": 161 }, "start": { - "column": 77, - "line": 73 + "column": 26, + "line": 161 } } }, { - "id": "1544", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:353:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1781", + "mutatorName": "BooleanLiteral", + "replacement": "player.isAlive", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:712:121)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "19" + "55" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54", + "55" ], "location": { "end": { - "column": 125, - "line": 74 + "column": 57, + "line": 161 }, "start": { - "column": 9, - "line": 74 + "column": 42, + "line": 161 } } }, { - "id": "1545", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1782", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "54" + ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "54" ], "location": { "end": { - "column": 125, - "line": 74 + "column": 6, + "line": 163 }, "start": { - "column": 9, - "line": 74 + "column": 60, + "line": 161 } } }, { - "id": "1546", - "mutatorName": "LogicalOperator", - "replacement": "hasWitchUsedLifePotion && drankLifePotionTargets.length && hasWitchUsedDeathPotion && drankDeathPotionTargets.length", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1783", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:720:115)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "15" + "56" ], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "56", + "57" ], "location": { "end": { - "column": 125, - "line": 74 + "column": 4, + "line": 172 }, "start": { - "column": 9, - "line": 74 + "column": 95, + "line": 166 } } }, { - "id": "1547", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:280:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "1784", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(154,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "15" - ], + "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "56", + "57" ], "location": { "end": { - "column": 64, - "line": 74 + "column": 75, + "line": 167 }, "start": { - "column": 9, - "line": 74 + "column": 57, + "line": 167 } } }, { - "id": "1548", - "mutatorName": "LogicalOperator", - "replacement": "hasWitchUsedLifePotion || drankLifePotionTargets.length", + "id": "1785", + "mutatorName": "BooleanLiteral", + "replacement": "targetedPlayer.isAlive", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "15", - "16", - "17", - "18", - "19", - "20", - "21", - "22" + "56", + "57" ], "location": { "end": { - "column": 64, - "line": 74 + "column": 32, + "line": 169 }, "start": { "column": 9, - "line": 74 + "line": 169 } } }, { - "id": "1549", + "id": "1786", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:319:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:727:119)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 2, "static": false, "killedBy": [ - "17" + "57" ], "coveredBy": [ - "17", - "18", - "19", - "20", - "21", - "22" + "56", + "57" ], "location": { "end": { - "column": 125, - "line": 74 + "column": 32, + "line": 169 }, "start": { - "column": 68, - "line": 74 + "column": 9, + "line": 169 } } }, { - "id": "1550", - "mutatorName": "LogicalOperator", - "replacement": "hasWitchUsedDeathPotion || drankDeathPotionTargets.length", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:367:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1787", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:720:115)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 2, "static": false, "killedBy": [ - "20" + "56" ], "coveredBy": [ - "17", - "18", - "19", - "20", - "21", - "22" + "56", + "57" ], "location": { "end": { - "column": 125, - "line": 74 + "column": 32, + "line": 169 }, "start": { - "column": 68, - "line": 74 + "column": 9, + "line": 169 } } }, { - "id": "1551", + "id": "1788", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:720:115)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "56" + ], "coveredBy": [ - "15", - "16", - "17", - "18" + "56" ], "location": { "end": { "column": 6, - "line": 76 + "line": 171 }, "start": { - "column": 127, - "line": 74 + "column": 34, + "line": 169 } } }, { - "id": "1552", + "id": "1789", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:847:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 4, "static": false, "killedBy": [ - "23" + "58" ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59", + "60", + "531" ], "location": { "end": { "column": 4, - "line": 92 + "line": 181 }, "start": { - "column": 127, - "line": 81 + "column": 108, + "line": 174 } } }, { - "id": "1553", - "mutatorName": "MethodExpression", - "replacement": "playTargets", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:451:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "1790", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(175,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "26" - ], + "killedBy": [], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59", + "60", + "531" ], "location": { "end": { - "column": 88, - "line": 82 + "column": 75, + "line": 175 }, "start": { - "column": 29, - "line": 82 + "column": 57, + "line": 175 } } }, { - "id": "1554", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1791", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:754:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 4, "static": false, "killedBy": [ - "23" + "60" ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59", + "60", + "531" ], "location": { "end": { - "column": 87, - "line": 82 + "column": 74, + "line": 178 }, "start": { - "column": 48, - "line": 82 + "column": 9, + "line": 178 } } }, { - "id": "1555", + "id": "1792", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:451:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:847:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 4, "static": false, "killedBy": [ - "26" + "58" ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59", + "60", + "531" ], "location": { "end": { - "column": 87, - "line": 82 + "column": 74, + "line": 178 }, "start": { - "column": 68, - "line": 82 + "column": 9, + "line": 178 } } }, { - "id": "1556", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1793", + "mutatorName": "LogicalOperator", + "replacement": "!targetedPlayer.isAlive && targetedPlayer._id === seerPlayer?._id", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:736:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "58" + ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59", + "60", + "531" ], "location": { "end": { - "column": 87, - "line": 82 + "column": 74, + "line": 178 }, "start": { - "column": 68, - "line": 82 + "column": 9, + "line": 178 } } }, { - "id": "1557", - "mutatorName": "EqualityOperator", - "replacement": "isInfected !== true", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1794", + "mutatorName": "BooleanLiteral", + "replacement": "targetedPlayer.isAlive", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:736:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 4, "static": false, "killedBy": [ - "23" + "58" ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59", + "60", + "531" ], "location": { "end": { - "column": 87, - "line": 82 + "column": 32, + "line": 178 }, "start": { - "column": 68, - "line": 82 + "column": 9, + "line": 178 } } }, { - "id": "1558", - "mutatorName": "BooleanLiteral", + "id": "1795", + "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:746:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 3, "static": false, "killedBy": [ - "23" + "59" ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "59", + "60", + "531" ], "location": { "end": { - "column": 87, - "line": 82 + "column": 74, + "line": 178 }, "start": { - "column": 83, - "line": 82 + "column": 36, + "line": 178 } } }, { - "id": "1559", - "mutatorName": "BooleanLiteral", - "replacement": "infectedTargets.length", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:406:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1796", + "mutatorName": "EqualityOperator", + "replacement": "targetedPlayer._id !== seerPlayer?._id", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:746:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 3, "static": false, "killedBy": [ - "23" + "59" ], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "59", + "60", + "531" ], "location": { "end": { - "column": 32, - "line": 83 + "column": 74, + "line": 178 }, "start": { - "column": 9, - "line": 83 + "column": 36, + "line": 178 } } }, { - "id": "1560", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(88,64): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "1797", + "mutatorName": "OptionalChaining", + "replacement": "seerPlayer._id", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(178,59): error TS18048: 'seerPlayer' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "59", + "60", + "531" ], "location": { "end": { - "column": 32, - "line": 83 + "column": 74, + "line": 178 }, "start": { - "column": 9, - "line": 83 + "column": 59, + "line": 178 } } }, { - "id": "1561", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "1798", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "23", - "24", - "25", - "26", - "27", - "43", - "44", - "45" + "58", + "59" ], "location": { "end": { - "column": 32, - "line": 83 + "column": 6, + "line": 180 }, "start": { - "column": 9, - "line": 83 + "column": 76, + "line": 178 } } }, { - "id": "1562", + "id": "1799", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:451:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:762:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "26" + "61" ], "coveredBy": [ - "26", - "43", - "44", - "45" + "61", + "62", + "63" ], "location": { "end": { - "column": 6, - "line": 85 + "column": 4, + "line": 188 }, "start": { - "column": 34, - "line": 83 + "column": 97, + "line": 183 } } }, { - "id": "1563", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "1800", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(171,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "27" - ], + "killedBy": [], "coveredBy": [ - "23", - "24", - "25", - "27" + "61", + "62", + "63" ], "location": { "end": { - "column": 149, - "line": 86 + "column": 75, + "line": 184 }, "start": { - "column": 43, - "line": 86 + "column": 57, + "line": 184 } } }, { - "id": "1564", + "id": "1801", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:443:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:121)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "25" + "62" ], "coveredBy": [ - "23", - "24", - "25", - "27" + "61", + "62", + "63" ], "location": { "end": { - "column": 149, - "line": 86 + "column": 61, + "line": 185 }, "start": { - "column": 43, - "line": 86 + "column": 9, + "line": 185 } } }, { - "id": "1565", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords(game._id)).length >= 0", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1802", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:762:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "27" + "61" ], "coveredBy": [ - "23", - "24", - "25", - "27" + "61", + "62", + "63" ], "location": { "end": { - "column": 149, - "line": 86 + "column": 61, + "line": 185 }, "start": { - "column": 43, - "line": 86 + "column": 9, + "line": 185 } } }, { - "id": "1566", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords(game._id)).length <= 0", - "status": "Timeout", + "id": "1803", + "mutatorName": "LogicalOperator", + "replacement": "playTargets.length || !playTargets[0].player.isAlive", + "statusReason": "Error: expect(received).not.toThrow()\n\nError name: \"TypeError\"\nError message: \"Cannot read properties of undefined (reading 'player')\"\n\n 429 | max: 1\n 430 | }));\n > 431 | if (stryMutAct_9fa48(\"1659\") ? playTargets.length || !playTargets[0].player.isAlive : stryMutAct_9fa48(\"1658\") ? false : stryMutAct_9fa48(\"1657\") ? true : (stryCov_9fa48(\"1657\", \"1658\", \"1659\"), playTargets.length && (stryMutAct_9fa48(\"1660\") ? playTargets[0].player.isAlive : (stryCov_9fa48(\"1660\"), !playTargets[0].player.isAlive)))) {\n | ^\n 432 | if (stryMutAct_9fa48(\"1661\")) {\n 433 | {}\n 434 | } else {\n\n at GamePlayValidatorService.validateGamePlayRavenTargets (src/modules/game/providers/services/game-play/game-play-validator.service.ts:431:76)\n at tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:78\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:121)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:121)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "62" + ], "coveredBy": [ - "23", - "24", - "25", - "27" + "61", + "62", + "63" ], "location": { "end": { - "column": 149, - "line": 86 + "column": 61, + "line": 185 }, "start": { - "column": 43, - "line": 86 + "column": 9, + "line": 185 } } }, { - "id": "1567", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:471:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1804", + "mutatorName": "BooleanLiteral", + "replacement": "playTargets[0].player.isAlive", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:762:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "27" + "61" ], "coveredBy": [ - "23", - "24", - "25", - "27" + "61", + "63" ], "location": { "end": { - "column": 128, - "line": 88 + "column": 61, + "line": 185 }, "start": { - "column": 9, - "line": 88 + "column": 31, + "line": 185 } } }, { - "id": "1568", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "1805", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "23", - "24", - "25", - "27" + "61" ], "location": { "end": { - "column": 128, - "line": 88 + "column": 6, + "line": 187 }, "start": { - "column": 9, - "line": 88 + "column": 63, + "line": 185 } } }, { - "id": "1569", - "mutatorName": "LogicalOperator", - "replacement": "(!vileFatherOfWolvesPlayer || !isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game)) && hasVileFatherOfWolvesInfected", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1806", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:790:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "23" + "64" ], "coveredBy": [ - "23", - "24", - "25", - "27" + "64", + "65", + "66" ], "location": { "end": { - "column": 128, - "line": 88 + "column": 4, + "line": 197 }, "start": { - "column": 9, - "line": 88 + "column": 113, + "line": 190 } } }, { - "id": "1570", + "id": "1807", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(178,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "64", + "65", + "66" + ], + "location": { + "end": { + "column": 75, + "line": 191 + }, + "start": { + "column": 57, + "line": 191 + } + } + }, + { + "id": "1808", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:802:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "23" + "66" ], "coveredBy": [ - "23", - "24", - "25", - "27" + "64", + "65", + "66" ], "location": { "end": { - "column": 95, - "line": 88 + "column": 79, + "line": 194 }, "start": { "column": 9, - "line": 88 + "line": 194 } } }, { - "id": "1571", - "mutatorName": "LogicalOperator", - "replacement": "!vileFatherOfWolvesPlayer && !isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(88,64): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "1809", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "64" + ], "coveredBy": [ - "23", - "24", - "25", - "27" + "64", + "65", + "66" ], "location": { "end": { - "column": 95, - "line": 88 + "column": 79, + "line": 194 }, "start": { "column": 9, - "line": 88 + "line": 194 } } }, { - "id": "1572", - "mutatorName": "BooleanLiteral", - "replacement": "vileFatherOfWolvesPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(88,63): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "1810", + "mutatorName": "LogicalOperator", + "replacement": "!targetedPlayer.isAlive && targetedPlayer._id === wildChildPlayer?._id", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "64" + ], "coveredBy": [ - "23", - "24", - "25", - "27" + "64", + "65", + "66" ], "location": { "end": { - "column": 34, - "line": 88 + "column": 79, + "line": 194 }, "start": { "column": 9, - "line": 88 + "line": 194 } } }, { - "id": "1573", + "id": "1811", "mutatorName": "BooleanLiteral", - "replacement": "isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game)", - "status": "Timeout", + "replacement": "targetedPlayer.isAlive", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "64" + ], "coveredBy": [ - "24", - "25", - "27" + "64", + "65", + "66" ], "location": { "end": { - "column": 95, - "line": 88 + "column": 32, + "line": 194 }, "start": { - "column": 38, - "line": 88 + "column": 9, + "line": 194 } } }, { - "id": "1574", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:412:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1812", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:794:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "23" + "65" ], "coveredBy": [ - "23", - "24", - "25" + "65", + "66" ], "location": { "end": { - "column": 6, - "line": 90 + "column": 79, + "line": 194 }, "start": { - "column": 130, - "line": 88 + "column": 36, + "line": 194 } } }, { - "id": "1575", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(91,61): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "id": "1813", + "mutatorName": "EqualityOperator", + "replacement": "targetedPlayer._id !== wildChildPlayer?._id", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "27" + "65", + "66" ], "location": { "end": { "column": 79, - "line": 91 + "line": 194 }, "start": { - "column": 61, - "line": 91 + "column": 36, + "line": 194 } } }, { - "id": "1576", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:507:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "1814", + "mutatorName": "OptionalChaining", + "replacement": "wildChildPlayer._id", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(181,59): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "29" - ], - "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "killedBy": [], + "coveredBy": [ + "65", + "66" ], "location": { "end": { - "column": 4, - "line": 109 + "column": 79, + "line": 194 }, "start": { - "column": 131, - "line": 94 + "column": 59, + "line": 194 } } }, { - "id": "1577", - "mutatorName": "ObjectLiteral", + "id": "1815", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:501:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 2, "static": false, "killedBy": [ - "29" + "64" ], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "64", + "65" ], "location": { "end": { "column": 6, - "line": 103 + "line": 196 }, "start": { - "column": 106, - "line": 99 + "column": 81, + "line": 194 } } }, { - "id": "1578", - "mutatorName": "ObjectLiteral", + "id": "1816", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(100,7): error TS2418: Type of computed property's value is '{}', which is not assignable to type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "67", + "68", + "69" ], "location": { "end": { - "column": 53, - "line": 100 + "column": 4, + "line": 208 }, "start": { - "column": 35, - "line": 100 + "column": 113, + "line": 199 } } }, { - "id": "1579", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(101,7): error TS2418: Type of computed property's value is '{}', which is not assignable to type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "id": "1817", + "mutatorName": "MethodExpression", + "replacement": "Math.max(charmedPeopleCountPerNight, leftToCharmByPiedPiperPlayersCount)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [[{\"player\": {\"_id\": \"edcbc247e7d8a8d00d0e6e42\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Garry\", \"position\": 3485423980511232, \"role\": {\"current\": \"wild-child\", \"isRevealed\": false, \"original\": \"wild-child\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}, {\"player\": {\"_id\": \"d3ebeddcee9cd51ea85d84b8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Bailee\", \"position\": 6315954348752896, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}}], {\"max\": 2, \"min\": 2}], but it was called with [{\"player\": {\"_id\": \"edcbc247e7d8a8d00d0e6e42\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Garry\", \"position\": 3485423980511232, \"role\": {\"current\": \"wild-child\", \"isRevealed\": false, \"original\": \"wild-child\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}, {\"player\": {\"_id\": \"d3ebeddcee9cd51ea85d84b8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Bailee\", \"position\": 6315954348752896, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:847:53)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "68" + ], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "67", + "68", + "69" ], "location": { "end": { - "column": 110, - "line": 101 + "column": 98, + "line": 203 }, "start": { - "column": 34, - "line": 101 + "column": 26, + "line": 203 } } }, { - "id": "1580", + "id": "1818", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(102,7): error TS2418: Type of computed property's value is '{}', which is not assignable to type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(191,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "67", + "68", + "69" ], "location": { "end": { - "column": 81, - "line": 102 + "column": 97, + "line": 204 }, "start": { - "column": 36, - "line": 102 + "column": 57, + "line": 204 } } }, { - "id": "1581", - "mutatorName": "BooleanLiteral", - "replacement": "targetsBoundaries", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(108,57): error TS2345: Argument of type 'undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n", - "status": "CompileError", + "id": "1819", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:846:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "68" + ], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "67", + "68", + "69" ], "location": { "end": { - "column": 27, - "line": 105 + "column": 111, + "line": 205 }, "start": { "column": 9, - "line": 105 + "line": 205 } } }, { - "id": "1582", + "id": "1820", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(108,57): error TS2345: Argument of type '{ min: number; max: number; } | undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type 'undefined' is not assignable to type '{ min: number; max: number; }'.\n", - "status": "CompileError", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "67" + ], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "67", + "68", + "69" ], "location": { "end": { - "column": 27, - "line": 105 + "column": 111, + "line": 205 }, "start": { "column": 9, - "line": 105 + "line": 205 } } }, { - "id": "1583", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(108,57): error TS2345: Argument of type '{ min: number; max: number; } | undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type 'undefined' is not assignable to type '{ min: number; max: number; }'.\n", - "status": "CompileError", + "id": "1821", + "mutatorName": "MethodExpression", + "replacement": "playTargets.every(({\n player\n}) => !leftToCharmByPiedPiperPlayers.find(({\n _id\n}) => player._id === _id))", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "67" + ], "coveredBy": [ - "28", - "29", - "30", - "31", - "32", - "33" + "67", + "68", + "69" ], "location": { "end": { - "column": 27, - "line": 105 + "column": 111, + "line": 205 }, "start": { "column": 9, - "line": 105 + "line": 205 } } }, { - "id": "1584", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(106,57): error TS2345: Argument of type '{ min: number; max: number; } | undefined' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type 'undefined' is not assignable to type '{ min: number; max: number; }'.\n", - "status": "CompileError", + "id": "1822", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "67" + ], "coveredBy": [ - "28" + "67", + "68", + "69" ], "location": { "end": { - "column": 6, - "line": 107 + "column": 110, + "line": 205 }, "start": { - "column": 29, - "line": 105 + "column": 26, + "line": 205 } } }, { - "id": "1585", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1823", + "mutatorName": "BooleanLiteral", + "replacement": "leftToCharmByPiedPiperPlayers.find(({\n _id\n}) => player._id === _id)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:846:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 12, + "testsCompleted": 3, "static": false, "killedBy": [ - "35" + "68" ], "coveredBy": [ - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "67", + "68", + "69" ], "location": { "end": { - "column": 4, - "line": 131 + "column": 110, + "line": 205 }, "start": { - "column": 144, - "line": 111 + "column": 42, + "line": 205 } } }, { - "id": "1586", - "mutatorName": "BooleanLiteral", - "replacement": "playTargets.length", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:549:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 12, + "id": "1824", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, - "killedBy": [ - "34" - ], + "killedBy": [], "coveredBy": [ - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "67", + "68", + "69" ], "location": { "end": { - "column": 28, - "line": 113 + "column": 109, + "line": 205 }, "start": { - "column": 9, - "line": 113 + "column": 78, + "line": 205 } } }, { - "id": "1587", + "id": "1825", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 12, + "status": "Timeout", "static": false, - "killedBy": [ - "35" - ], + "killedBy": [], "coveredBy": [ - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "67", + "68", + "69" ], "location": { "end": { - "column": 28, - "line": 113 + "column": 109, + "line": 205 }, "start": { - "column": 9, - "line": 113 + "column": 91, + "line": 205 } } }, { - "id": "1588", + "id": "1826", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:549:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:846:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 12, + "testsCompleted": 3, "static": false, "killedBy": [ - "34" + "68" ], "coveredBy": [ - "34", - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "67", + "68", + "69" ], "location": { "end": { - "column": 28, - "line": 113 + "column": 109, + "line": 205 }, "start": { - "column": 9, - "line": 113 + "column": 91, + "line": 205 } } }, { - "id": "1589", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:549:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1827", + "mutatorName": "EqualityOperator", + "replacement": "player._id !== _id", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 3, "static": false, "killedBy": [ - "34" + "67" ], "coveredBy": [ - "34" + "67", + "68", + "69" ], "location": { "end": { - "column": 6, - "line": 115 + "column": 109, + "line": 205 }, "start": { - "column": 30, - "line": 113 + "column": 91, + "line": 205 } } }, { - "id": "1590", - "mutatorName": "BooleanLiteral", - "replacement": "!pureWolvesAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1828", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 1, "static": false, "killedBy": [ - "35" + "67" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "67" ], "location": { "end": { - "column": 145, - "line": 118 + "column": 6, + "line": 207 }, "start": { - "column": 49, - "line": 118 + "column": 113, + "line": 205 } } }, { - "id": "1591", - "mutatorName": "BooleanLiteral", - "replacement": "pureWolvesAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1829", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 4, "static": false, "killedBy": [ - "35" + "70" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 145, - "line": 118 + "column": 4, + "line": 219 }, "start": { - "column": 50, - "line": 118 + "column": 124, + "line": 210 } } }, { - "id": "1592", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:637:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "1830", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(199,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "44" - ], + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 144, - "line": 118 + "column": 75, + "line": 212 }, "start": { - "column": 83, - "line": 118 + "column": 57, + "line": 212 } } }, { - "id": "1594", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:637:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "1831", + "mutatorName": "OptionalChaining", + "replacement": "lastGuardHistoryRecord?.play.targets[0]", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(201,33): error TS18048: 'lastGuardHistoryRecord.play.targets' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "44" - ], + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 144, - "line": 118 + "column": 74, + "line": 214 }, "start": { - "column": 96, - "line": 118 + "column": 33, + "line": 214 } } }, { - "id": "1595", - "mutatorName": "EqualityOperator", - "replacement": "_id.toString() !== targetedPlayer._id.toString()", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:637:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "1832", + "mutatorName": "OptionalChaining", + "replacement": "lastGuardHistoryRecord.play", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(201,33): error TS18047: 'lastGuardHistoryRecord' is possibly 'null'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "44" - ], + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 144, - "line": 118 + "column": 61, + "line": 214 }, "start": { - "column": 96, - "line": 118 + "column": 33, + "line": 214 } } }, { - "id": "1596", + "id": "1833", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Big bad wolf can't eat this target\"], but it was called with \"Werewolves can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:597:43)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:890:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 4, "static": false, "killedBy": [ - "37" + "72" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 106, - "line": 119 + "column": 103, + "line": 216 }, "start": { "column": 9, - "line": 119 + "line": 216 } } }, { - "id": "1597", + "id": "1834", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "status": "Timeout", "static": false, - "killedBy": [ - "35" - ], + "killedBy": [], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 106, - "line": 119 + "column": 103, + "line": 216 }, "start": { "column": 9, - "line": 119 + "line": 216 } } }, { - "id": "1601", - "mutatorName": "BooleanLiteral", - "replacement": "isTargetedPlayerInPureWolvesTargets", - "status": "Timeout", + "id": "1835", + "mutatorName": "LogicalOperator", + "replacement": "!targetedPlayer.isAlive && !canProtectTwice && lastProtectedPlayer?._id === targetedPlayer._id", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "70" + ], "coveredBy": [ - "35", - "36", - "45" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 106, - "line": 119 + "column": 103, + "line": 216 }, "start": { - "column": 70, - "line": 119 + "column": 9, + "line": 216 } } }, { - "id": "1602", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "1836", + "mutatorName": "BooleanLiteral", + "replacement": "targetedPlayer.isAlive", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "70" + ], "coveredBy": [ - "35", - "36" + "70", + "71", + "72", + "73" ], "location": { "end": { - "column": 6, - "line": 121 + "column": 32, + "line": 216 }, "start": { - "column": 108, - "line": 119 + "column": 9, + "line": 216 } } }, { - "id": "1603", + "id": "1837", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"White werewolf can't eat this target\"], but it was called with \"Big bad wolf can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:639:43)", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:879:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 3, "static": false, "killedBy": [ - "40" + "71" ], "coveredBy": [ - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "71", + "72", + "73" ], "location": { "end": { - "column": 105, - "line": 122 + "column": 103, + "line": 216 }, "start": { - "column": 9, - "line": 122 + "column": 36, + "line": 216 } } }, { - "id": "1604", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1838", + "mutatorName": "LogicalOperator", + "replacement": "!canProtectTwice || lastProtectedPlayer?._id === targetedPlayer._id", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:890:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 3, "static": false, "killedBy": [ - "37" + "72" ], "coveredBy": [ - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "71", + "72", + "73" ], "location": { "end": { - "column": 105, - "line": 122 + "column": 103, + "line": 216 }, "start": { - "column": 9, - "line": 122 + "column": 36, + "line": 216 } } }, { - "id": "1605", - "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.source.name === ROLE_NAMES.BIG_BAD_WOLF || !isTargetedPlayerInPureWolvesTargets", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"White werewolf can't eat this target\"], but it was called with \"Big bad wolf can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:639:43)", - "status": "Killed", - "testsCompleted": 9, + "id": "1839", + "mutatorName": "BooleanLiteral", + "replacement": "canProtectTwice", + "status": "Timeout", "static": false, - "killedBy": [ - "40" - ], + "killedBy": [], "coveredBy": [ - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "71", + "72", + "73" ], "location": { "end": { - "column": 105, - "line": 122 + "column": 52, + "line": 216 }, "start": { - "column": 9, - "line": 122 + "column": 36, + "line": 216 } } }, { - "id": "1606", + "id": "1840", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"White werewolf can't eat this target\"], but it was called with \"Big bad wolf can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:639:43)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:900:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 2, "static": false, "killedBy": [ - "40" + "73" ], "coveredBy": [ - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "71", + "73" ], "location": { "end": { - "column": 65, - "line": 122 + "column": 103, + "line": 216 }, "start": { - "column": 9, - "line": 122 + "column": 56, + "line": 216 } } }, { - "id": "1607", + "id": "1841", "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.source.name !== ROLE_NAMES.BIG_BAD_WOLF", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "lastProtectedPlayer?._id !== targetedPlayer._id", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:879:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 2, "static": false, "killedBy": [ - "37" + "71" ], "coveredBy": [ - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "71", + "73" ], "location": { "end": { - "column": 65, - "line": 122 + "column": 103, + "line": 216 }, "start": { - "column": 9, - "line": 122 + "column": 56, + "line": 216 } } }, { - "id": "1608", - "mutatorName": "BooleanLiteral", - "replacement": "isTargetedPlayerInPureWolvesTargets", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "1842", + "mutatorName": "OptionalChaining", + "replacement": "lastProtectedPlayer._id", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(203,56): error TS18048: 'lastProtectedPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "37" - ], + "killedBy": [], "coveredBy": [ - "37", - "38", - "39", - "44" + "71", + "73" ], "location": { "end": { - "column": 105, - "line": 122 + "column": 80, + "line": 216 }, "start": { - "column": 69, - "line": 122 + "column": 56, + "line": 216 } } }, { - "id": "1609", + "id": "1843", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:596:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "37" + "70" ], "coveredBy": [ - "37", - "38", - "39" + "70", + "71" ], "location": { "end": { "column": 6, - "line": 124 + "line": 218 }, "start": { - "column": 107, - "line": 122 + "column": 105, + "line": 216 } } }, { - "id": "1610", - "mutatorName": "BooleanLiteral", - "replacement": "!whiteWerewolfAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1844", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 5, "static": false, "killedBy": [ - "40" + "75" ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "74", + "75", + "76", + "77", + "78" ], "location": { "end": { - "column": 151, - "line": 126 + "column": 4, + "line": 233 }, "start": { - "column": 52, - "line": 126 + "column": 141, + "line": 221 } } }, { - "id": "1611", - "mutatorName": "BooleanLiteral", - "replacement": "whiteWerewolfAvailableTargets.find(({\n _id\n}) => _id.toString() === targetedPlayer._id.toString())", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "1845", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(209,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", + "status": "CompileError", "static": false, - "killedBy": [ - "40" - ], + "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "74", + "75", + "76", + "77", + "78" ], "location": { "end": { - "column": 151, - "line": 126 + "column": 75, + "line": 222 }, "start": { - "column": 53, - "line": 126 + "column": 57, + "line": 222 } } }, { - "id": "1612", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1846", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 5, "static": false, "killedBy": [ - "43" + "74" ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "74", + "75", + "76", + "77", + "78" ], "location": { "end": { - "column": 150, - "line": 126 + "column": 90, + "line": 224 }, "start": { - "column": 89, - "line": 126 + "column": 9, + "line": 224 } } }, { - "id": "1613", + "id": "1847", "mutatorName": "ConditionalExpression", - "replacement": "true", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "40", - "41", - "43" + "74", + "75", + "76", + "77", + "78" ], "location": { "end": { - "column": 150, - "line": 126 + "column": 90, + "line": 224 }, "start": { - "column": 102, - "line": 126 + "column": 9, + "line": 224 } } }, { - "id": "1614", + "id": "1848", + "mutatorName": "LogicalOperator", + "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.DELEGATE || !targetedPlayer.isAlive", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "74", + "75", + "76", + "77", + "78" + ], + "location": { + "end": { + "column": 90, + "line": 224 + }, + "start": { + "column": 9, + "line": 224 + } + } + }, + { + "id": "1849", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8410489/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Sheriff can't break the tie in votes with this target\"], but it was called with \"Sheriff can't delegate his role to this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:933:43)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "43" + "77" ], "coveredBy": [ - "40", - "41", - "43" + "74", + "75", + "76", + "77", + "78" ], "location": { "end": { - "column": 150, - "line": 126 + "column": 63, + "line": 224 }, "start": { - "column": 102, - "line": 126 + "column": 9, + "line": 224 } } }, { - "id": "1616", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1850", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.DELEGATE", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, + "static": false, + "killedBy": [ + "75" + ], + "coveredBy": [ + "74", + "75", + "76", + "77", + "78" + ], + "location": { + "end": { + "column": 63, + "line": 224 + }, + "start": { + "column": 9, + "line": 224 + } + } + }, + { + "id": "1851", + "mutatorName": "BooleanLiteral", + "replacement": "targetedPlayer.isAlive", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 2, "static": false, "killedBy": [ - "43" + "75" ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "75", + "76" ], "location": { "end": { - "column": 110, - "line": 127 + "column": 90, + "line": 224 }, "start": { - "column": 9, - "line": 127 + "column": 67, + "line": 224 } } }, { - "id": "1617", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1852", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "75" + ], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "75" ], "location": { "end": { - "column": 110, - "line": 127 + "column": 6, + "line": 226 }, "start": { - "column": 9, - "line": 127 + "column": 92, + "line": 224 } } }, { - "id": "1618", + "id": "1853", "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.source.name === ROLE_NAMES.WHITE_WEREWOLF || !isTargetedPlayerInWhiteWerewolfTargets", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:629:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "replacement": "lastTieInVotesRecord?.play.voting?.nominatedPlayers && []", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(216,51): error TS18048: 'lastTieInVotesRecordNominatedPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "43" - ], + "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 110, - "line": 127 + "column": 107, + "line": 228 }, "start": { - "column": 9, - "line": 127 + "column": 50, + "line": 228 } } }, { - "id": "1619", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:631:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "1854", + "mutatorName": "OptionalChaining", + "replacement": "lastTieInVotesRecord?.play.voting.nominatedPlayers", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(215,50): error TS18048: 'lastTieInVotesRecord.play.voting' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "44" - ], + "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 67, - "line": 127 + "column": 101, + "line": 228 }, "start": { - "column": 9, - "line": 127 + "column": 50, + "line": 228 } } }, { - "id": "1620", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.source.name !== ROLE_NAMES.WHITE_WEREWOLF", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "1855", + "mutatorName": "OptionalChaining", + "replacement": "lastTieInVotesRecord.play", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(215,50): error TS18047: 'lastTieInVotesRecord' is possibly 'null'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "40" - ], + "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43", - "44", - "45" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 67, - "line": 127 + "column": 76, + "line": 228 }, "start": { - "column": 9, - "line": 127 + "column": 50, + "line": 228 } } }, { - "id": "1621", - "mutatorName": "BooleanLiteral", - "replacement": "isTargetedPlayerInWhiteWerewolfTargets", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "1856", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(216,88): error TS2349: This expression is not callable.\n Each member of the union type '{ (predicate: (value: Player, index: number, obj: Player[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Player, index: number, obj: Player[]) => unknown, thisArg?: any): Player | undefined; } | { ...; }' has signatures, but none of those signatures are compatible with each other.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "40" - ], + "killedBy": [], "coveredBy": [ - "40", - "41", - "42", - "43" + "74", + "76" ], "location": { "end": { - "column": 110, - "line": 127 + "column": 107, + "line": 228 }, "start": { - "column": 71, - "line": 127 + "column": 105, + "line": 228 } } }, { - "id": "1622", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6472783/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:638:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1857", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:942:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 4, "static": false, "killedBy": [ - "40" + "78" ], "coveredBy": [ - "40", - "41", - "42" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 6, - "line": 129 + "column": 132, + "line": 229 }, "start": { - "column": 112, - "line": 127 + "column": 93, + "line": 229 } } }, { - "id": "1623", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:647:118)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1858", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:932:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "46" + "77" ], "coveredBy": [ - "46", - "47" + "77", + "78" ], "location": { "end": { - "column": 4, - "line": 139 + "column": 132, + "line": 229 }, "start": { - "column": 98, - "line": 133 + "column": 106, + "line": 229 } } }, { - "id": "1624", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(132,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "id": "1859", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:942:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "78" + ], "coveredBy": [ - "46", - "47" + "77", + "78" ], "location": { "end": { - "column": 75, - "line": 134 + "column": 132, + "line": 229 }, "start": { - "column": 57, - "line": 134 + "column": 106, + "line": 229 } } }, { - "id": "1625", - "mutatorName": "BooleanLiteral", - "replacement": "targetedPlayer.isAlive", + "id": "1860", + "mutatorName": "EqualityOperator", + "replacement": "_id !== targetedPlayer._id", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "46", - "47" + "77", + "78" ], "location": { "end": { - "column": 32, - "line": 136 + "column": 132, + "line": 229 }, "start": { - "column": 9, - "line": 136 + "column": 106, + "line": 229 } } }, { - "id": "1626", + "id": "1861", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:654:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "47" + "74" ], "coveredBy": [ - "46", - "47" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 32, - "line": 136 + "column": 109, + "line": 230 }, "start": { "column": 9, - "line": 136 + "line": 230 } } }, { - "id": "1627", + "id": "1862", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:647:118)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "status": "Timeout", "static": false, - "killedBy": [ - "46" - ], + "killedBy": [], "coveredBy": [ - "46", - "47" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 32, - "line": 136 + "column": 109, + "line": 230 }, "start": { "column": 9, - "line": 136 + "line": 230 } } }, { - "id": "1628", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:647:118)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "1863", + "mutatorName": "LogicalOperator", + "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.SETTLE_VOTES || !isSheriffTargetInLastNominatedPlayers", + "status": "Timeout", "static": false, - "killedBy": [ - "46" - ], + "killedBy": [], "coveredBy": [ - "46" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 6, - "line": 138 + "column": 109, + "line": 230 }, "start": { - "column": 34, - "line": 136 + "column": 9, + "line": 230 } } }, { - "id": "1629", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1864", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "48" + "74" ], "coveredBy": [ - "48", - "49" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 4, - "line": 146 + "column": 67, + "line": 230 }, "start": { - "column": 113, - "line": 141 + "column": 9, + "line": 230 } } }, { - "id": "1630", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(140,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "id": "1865", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.SETTLE_VOTES", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "74" + ], "coveredBy": [ - "48", - "49" + "74", + "76", + "77", + "78" ], "location": { "end": { - "column": 93, - "line": 142 + "column": 67, + "line": 230 }, "start": { - "column": 57, - "line": 142 + "column": 9, + "line": 230 } } }, { - "id": "1631", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "1866", + "mutatorName": "BooleanLiteral", + "replacement": "isSheriffTargetInLastNominatedPlayers", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:932:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "77" + ], "coveredBy": [ - "48", - "49" + "77", + "78" ], "location": { "end": { - "column": 58, - "line": 143 + "column": 109, + "line": 230 }, "start": { - "column": 9, - "line": 143 + "column": 71, + "line": 230 } } }, { - "id": "1632", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1867", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:932:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "48" + "77" ], "coveredBy": [ - "48", - "49" + "77" ], "location": { "end": { - "column": 58, - "line": 143 + "column": 6, + "line": 232 }, "start": { - "column": 9, - "line": 143 + "column": 111, + "line": 230 } } }, { - "id": "1633", - "mutatorName": "MethodExpression", - "replacement": "playTargets.every(({\n player\n}) => !player.isAlive)", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1868", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:954:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 32, "static": false, "killedBy": [ - "48" + "79" ], "coveredBy": [ - "48", - "49" + "31", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "79", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 58, - "line": 143 + "column": 4, + "line": 242 }, "start": { - "column": 9, - "line": 143 + "column": 150, + "line": 235 } } }, { - "id": "1634", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1869", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 32, "static": false, "killedBy": [ - "48" + "31" ], "coveredBy": [ - "48", - "49" + "31", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "79", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 57, - "line": 143 + "column": 50, + "line": 236 }, "start": { - "column": 26, - "line": 143 + "column": 9, + "line": 236 } } }, { - "id": "1635", - "mutatorName": "BooleanLiteral", - "replacement": "player.isAlive", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:691:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1870", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:954:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 32, "static": false, "killedBy": [ - "49" + "79" ], "coveredBy": [ - "48", - "49" + "31", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "79", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 57, - "line": 143 + "column": 50, + "line": 236 }, "start": { - "column": 42, - "line": 143 + "column": 9, + "line": 236 } } }, { - "id": "1636", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:673:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1871", + "mutatorName": "EqualityOperator", + "replacement": "playTargets.length <= lengthBoundaries.min", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:534:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 32, "static": false, "killedBy": [ - "48" + "31" ], "coveredBy": [ - "48" + "31", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "79", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 6, - "line": 145 + "column": 50, + "line": 236 }, "start": { - "column": 60, - "line": 143 + "column": 9, + "line": 236 } } }, { - "id": "1637", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1872", + "mutatorName": "EqualityOperator", + "replacement": "playTargets.length >= lengthBoundaries.min", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 32, "static": false, "killedBy": [ - "50" + "31" ], "coveredBy": [ + "31", "50", - "51" + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "79", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 4, - "line": 153 + "column": 50, + "line": 236 }, "start": { - "column": 97, - "line": 148 + "column": 9, + "line": 236 } } }, { - "id": "1638", - "mutatorName": "ObjectLiteral", + "id": "1873", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(147,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:954:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "79" + ], "coveredBy": [ - "50", - "51" + "79" ], "location": { "end": { - "column": 75, - "line": 149 + "column": 6, + "line": 238 }, "start": { - "column": 57, - "line": 149 + "column": 52, + "line": 236 } } }, { - "id": "1639", + "id": "1874", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 31, "static": false, - "killedBy": [], + "killedBy": [ + "31" + ], "coveredBy": [ + "31", "50", - "51" + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 58, - "line": 150 + "column": 50, + "line": 239 }, "start": { "column": 9, - "line": 150 + "line": 239 } } }, { - "id": "1640", + "id": "1875", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:965:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 31, "static": false, "killedBy": [ - "50" - ], - "coveredBy": [ - "50", - "51" + "80" ], - "location": { - "end": { - "column": 58, - "line": 150 - }, - "start": { - "column": 9, - "line": 150 - } - } - }, - { - "id": "1641", - "mutatorName": "MethodExpression", - "replacement": "playTargets.every(({\n player\n}) => !player.isAlive)", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ + "31", "50", - "51" + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 58, - "line": 150 + "column": 50, + "line": 239 }, "start": { "column": 9, - "line": 150 + "line": 239 } } }, { - "id": "1642", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1876", + "mutatorName": "EqualityOperator", + "replacement": "playTargets.length >= lengthBoundaries.max", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:534:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 31, "static": false, "killedBy": [ - "50" + "31" ], "coveredBy": [ + "31", "50", - "51" + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 57, - "line": 150 + "column": 50, + "line": 239 }, "start": { - "column": 26, - "line": 150 + "column": 9, + "line": 239 } } }, { - "id": "1643", - "mutatorName": "BooleanLiteral", - "replacement": "player.isAlive", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:712:121)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1877", + "mutatorName": "EqualityOperator", + "replacement": "playTargets.length <= lengthBoundaries.max", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 31, "static": false, "killedBy": [ - "51" + "31" ], "coveredBy": [ + "31", "50", - "51" + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "70", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "78", + "80", + "81", + "82", + "531" ], "location": { "end": { - "column": 57, - "line": 150 + "column": 50, + "line": 239 }, "start": { - "column": 42, - "line": 150 + "column": 9, + "line": 239 } } }, { - "id": "1644", + "id": "1878", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:702:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "status": "Timeout", "static": false, - "killedBy": [ - "50" - ], + "killedBy": [], "coveredBy": [ - "50" + "80" ], "location": { "end": { "column": 6, - "line": 152 + "line": 241 }, "start": { - "column": 60, - "line": 150 + "column": 52, + "line": 239 } } }, { - "id": "1645", + "id": "1879", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:720:115)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 16, "static": false, "killedBy": [ - "52" + "84" ], "coveredBy": [ - "52", - "53" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { "column": 4, - "line": 161 + "line": 265 }, "start": { - "column": 95, - "line": 155 + "column": 140, + "line": 244 } } }, { - "id": "1646", + "id": "1880", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(154,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], - "coveredBy": [ - "52", - "53" + "killedBy": [ + "84" ], - "location": { - "end": { - "column": 75, - "line": 156 - }, - "start": { - "column": 57, - "line": 156 - } - } - }, - { - "id": "1647", - "mutatorName": "BooleanLiteral", - "replacement": "targetedPlayer.isAlive", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "52", - "53" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 32, - "line": 158 + "column": 6, + "line": 260 }, "start": { - "column": 9, - "line": 158 + "column": 102, + "line": 245 } } }, { - "id": "1648", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:727:119)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1881", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 16, "static": false, "killedBy": [ - "53" + "84" ], "coveredBy": [ - "52", - "53" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 32, - "line": 158 + "column": 106, + "line": 246 }, "start": { - "column": 9, - "line": 158 + "column": 41, + "line": 246 } } }, { - "id": "1649", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:720:115)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1882", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1067:85)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 16, "static": false, "killedBy": [ - "52" + "85" ], "coveredBy": [ - "52", - "53" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 32, - "line": 158 + "column": 103, + "line": 247 }, "start": { - "column": 9, - "line": 158 + "column": 35, + "line": 247 } } }, { - "id": "1650", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:720:115)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1883", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1085:85)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 16, "static": false, "killedBy": [ - "52" + "86" ], "coveredBy": [ - "52" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 6, - "line": 160 + "column": 102, + "line": 248 }, "start": { "column": 34, - "line": 158 + "line": 248 } } }, { - "id": "1651", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "1884", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1103:85)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], - "coveredBy": [ - "54", - "55", - "56", - "573" + "killedBy": [ + "87" ], - "location": { - "end": { - "column": 4, - "line": 170 - }, - "start": { - "column": 108, - "line": 163 - } - } - }, - { - "id": "1652", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(162,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "54", - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 75, - "line": 164 + "column": 104, + "line": 249 }, "start": { - "column": 57, - "line": 164 + "column": 36, + "line": 249 } } }, { - "id": "1653", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:754:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1885", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1122:80)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 16, "static": false, "killedBy": [ - "56" + "88" ], "coveredBy": [ - "54", - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 74, - "line": 167 + "column": 90, + "line": 250 }, "start": { - "column": 9, - "line": 167 + "column": 27, + "line": 250 } } }, { - "id": "1654", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1886", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1141:84)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "89" + ], "coveredBy": [ - "54", - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 74, - "line": 167 + "column": 94, + "line": 251 }, "start": { - "column": 9, - "line": 167 + "column": 32, + "line": 251 } } }, { - "id": "1655", - "mutatorName": "LogicalOperator", - "replacement": "!targetedPlayer.isAlive && targetedPlayer._id === seerPlayer?._id", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:736:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1887", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1160:84)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 16, "static": false, "killedBy": [ - "54" + "90" ], "coveredBy": [ - "54", - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 74, - "line": 167 + "column": 94, + "line": 252 }, "start": { - "column": 9, - "line": 167 + "column": 32, + "line": 252 } } }, { - "id": "1656", - "mutatorName": "BooleanLiteral", - "replacement": "targetedPlayer.isAlive", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:736:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1888", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1179:80)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 16, "static": false, "killedBy": [ - "54" + "91" ], "coveredBy": [ - "54", - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 32, - "line": 167 + "column": 79, + "line": 253 }, "start": { - "column": 9, - "line": 167 + "column": 27, + "line": 253 } } }, { - "id": "1657", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:746:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1889", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1198:79)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 16, "static": false, "killedBy": [ - "55" + "92" ], "coveredBy": [ - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 74, - "line": 167 + "column": 83, + "line": 254 }, "start": { - "column": 36, - "line": 167 + "column": 26, + "line": 254 } } }, { - "id": "1658", - "mutatorName": "EqualityOperator", - "replacement": "targetedPlayer._id !== seerPlayer?._id", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:746:122)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1890", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1217:78)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 16, "static": false, "killedBy": [ - "55" + "93" ], "coveredBy": [ - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 74, - "line": 167 + "column": 75, + "line": 255 }, "start": { - "column": 36, - "line": 167 + "column": 25, + "line": 255 } } }, { - "id": "1659", - "mutatorName": "OptionalChaining", - "replacement": "seerPlayer._id", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(165,59): error TS18048: 'seerPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1891", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1236:80)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "94" + ], "coveredBy": [ - "55", - "56", - "573" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 74, - "line": 167 + "column": 79, + "line": 256 }, "start": { - "column": 59, - "line": 167 + "column": 27, + "line": 256 } } }, { - "id": "1660", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "1892", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1366:84)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "95" + ], "coveredBy": [ - "54", - "55" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 6, - "line": 169 + "column": 93, + "line": 257 }, "start": { - "column": 76, - "line": 167 + "column": 31, + "line": 257 } } }, { - "id": "1661", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:762:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1893", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1274:81)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 16, "static": false, "killedBy": [ - "57" + "96" ], "coveredBy": [ - "57", - "58", - "59" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 4, - "line": 177 + "column": 81, + "line": 258 }, "start": { - "column": 97, - "line": 172 + "column": 28, + "line": 258 } } }, { - "id": "1662", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(171,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "id": "1894", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1293:80)", + "status": "Killed", + "testsCompleted": 16, "static": false, - "killedBy": [], + "killedBy": [ + "97" + ], "coveredBy": [ - "57", - "58", - "59" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 75, - "line": 173 + "column": 90, + "line": 259 }, "start": { - "column": 57, - "line": 173 + "column": 27, + "line": 259 } } }, { - "id": "1663", + "id": "1895", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:121)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(263,13): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "58" - ], + "killedBy": [], "coveredBy": [ - "57", - "58", - "59" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 61, - "line": 174 + "column": 39, + "line": 262 }, "start": { "column": 9, - "line": 174 + "line": 262 } } }, { - "id": "1664", + "id": "1896", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:762:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(263,13): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "57" - ], + "killedBy": [], "coveredBy": [ - "57", - "58", - "59" + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 61, - "line": 174 + "column": 39, + "line": 262 }, "start": { "column": 9, - "line": 174 + "line": 262 } } }, { - "id": "1665", - "mutatorName": "LogicalOperator", - "replacement": "playTargets.length || !playTargets[0].player.isAlive", - "statusReason": "Error: expect(received).not.toThrow()\n\nError name: \"TypeError\"\nError message: \"Cannot read properties of undefined (reading 'player')\"\n\n 429 | max: 1\n 430 | }));\n > 431 | if (stryMutAct_9fa48(\"1659\") ? playTargets.length || !playTargets[0].player.isAlive : stryMutAct_9fa48(\"1658\") ? false : stryMutAct_9fa48(\"1657\") ? true : (stryCov_9fa48(\"1657\", \"1658\", \"1659\"), playTargets.length && (stryMutAct_9fa48(\"1660\") ? playTargets[0].player.isAlive : (stryCov_9fa48(\"1660\"), !playTargets[0].player.isAlive)))) {\n | ^\n 432 | if (stryMutAct_9fa48(\"1661\")) {\n 433 | {}\n 434 | } else {\n\n at GamePlayValidatorService.validateGamePlayRavenTargets (src/modules/game/providers/services/game-play/game-play-validator.service.ts:431:76)\n at tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:78\n at Object. (../../node_modules/expect/build/toThrowMatchers.js:74:11)\n at Object.throwingMatcher [as toThrow] (../../node_modules/expect/build/index.js:320:21)\n at Object. (tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:121)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:769:121)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1897", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 15, "static": false, "killedBy": [ - "58" + "84" ], "coveredBy": [ - "57", - "58", - "59" + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "531" ], "location": { "end": { - "column": 61, - "line": 174 + "column": 6, + "line": 264 }, "start": { - "column": 9, - "line": 174 + "column": 41, + "line": 262 } } }, { - "id": "1666", - "mutatorName": "BooleanLiteral", - "replacement": "playTargets[0].player.isAlive", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:762:117)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1898", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "57" + "98" ], "coveredBy": [ - "57", - "59" + "98", + "99", + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 61, - "line": 174 + "column": 4, + "line": 277 }, "start": { - "column": 31, - "line": 174 + "column": 133, + "line": 267 } } }, { - "id": "1667", - "mutatorName": "BlockStatement", - "replacement": "{}", + "id": "1899", + "mutatorName": "MethodExpression", + "replacement": "playTargets.every(({\n isInfected\n}) => isInfected)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "57" + "98", + "99", + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 6, - "line": 176 + "column": 82, + "line": 269 }, "start": { - "column": 63, - "line": 174 + "column": 34, + "line": 269 } } }, { - "id": "1668", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:790:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1900", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "60" - ], - "coveredBy": [ - "60", - "61", - "62" + "98" ], - "location": { - "end": { - "column": 4, - "line": 186 - }, - "start": { - "column": 113, - "line": 179 - } - } - }, - { - "id": "1669", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(178,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "60", - "61", - "62" + "98", + "99", + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 75, - "line": 180 + "column": 81, + "line": 269 }, "start": { - "column": 57, - "line": 180 + "column": 51, + "line": 269 } } }, { - "id": "1670", + "id": "1901", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:802:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "62" + "100" ], "coveredBy": [ - "60", - "61", - "62" + "98", + "99", + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 79, - "line": 183 + "column": 133, + "line": 270 }, "start": { "column": 9, - "line": 183 + "line": 270 } } }, { - "id": "1671", + "id": "1902", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "60" + "98" ], "coveredBy": [ - "60", - "61", - "62" + "98", + "99", + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 79, - "line": 183 + "column": 133, + "line": 270 }, "start": { "column": 9, - "line": 183 + "line": 270 } } }, { - "id": "1672", + "id": "1903", "mutatorName": "LogicalOperator", - "replacement": "!targetedPlayer.isAlive && targetedPlayer._id === wildChildPlayer?._id", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "replacement": "isSomeTargetInfected || currentPlayAction !== GAME_PLAY_ACTIONS.EAT || currentPlaySource.name !== PLAYER_GROUPS.WEREWOLVES", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(274,38): error TS2367: This comparison appears to be unintentional because the types 'GAME_PLAY_ACTIONS.EAT' and 'GAME_PLAY_ACTIONS.USE_POTIONS' have no overlap.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(274,93): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS' and 'ROLE_NAMES' have no overlap.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "60" - ], + "killedBy": [], "coveredBy": [ - "60", - "61", - "62" + "98", + "99", + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 79, - "line": 183 + "column": 133, + "line": 270 }, "start": { "column": 9, - "line": 183 + "line": 270 } } }, { - "id": "1673", - "mutatorName": "BooleanLiteral", - "replacement": "targetedPlayer.isAlive", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1904", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "60" + "100" ], "coveredBy": [ - "60", - "61", - "62" + "98", + "99", + "100" ], "location": { "end": { - "column": 32, - "line": 183 + "column": 132, + "line": 270 }, "start": { - "column": 9, - "line": 183 + "column": 34, + "line": 270 } } }, { - "id": "1674", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:794:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1905", + "mutatorName": "LogicalOperator", + "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.EAT && currentPlaySource.name !== PLAYER_GROUPS.WEREWOLVES", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "61" + "98" ], "coveredBy": [ - "61", - "62" + "98", + "99", + "100" ], "location": { "end": { - "column": 79, - "line": 183 + "column": 132, + "line": 270 }, "start": { - "column": 36, - "line": 183 + "column": 34, + "line": 270 } } }, { - "id": "1675", - "mutatorName": "EqualityOperator", - "replacement": "targetedPlayer._id !== wildChildPlayer?._id", - "status": "Timeout", + "id": "1906", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "98" + ], "coveredBy": [ - "61", - "62" + "98", + "99", + "100" ], "location": { "end": { - "column": 79, - "line": 183 + "column": 77, + "line": 270 }, "start": { - "column": 36, - "line": 183 + "column": 34, + "line": 270 } } }, { - "id": "1676", - "mutatorName": "OptionalChaining", - "replacement": "wildChildPlayer._id", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(181,59): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1907", + "mutatorName": "EqualityOperator", + "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.EAT", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "98" + ], "coveredBy": [ - "61", - "62" + "98", + "99", + "100" ], "location": { "end": { - "column": 79, - "line": 183 + "column": 77, + "line": 270 }, "start": { - "column": 59, - "line": 183 + "column": 34, + "line": 270 } } }, { - "id": "1677", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:784:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1908", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1325:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "60" + "99" ], "coveredBy": [ - "60", - "61" + "99", + "100" ], "location": { "end": { - "column": 6, - "line": 185 + "column": 132, + "line": 270 }, "start": { "column": 81, - "line": 183 - } - } - }, - { - "id": "1678", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "63", - "64", - "65" - ], - "location": { - "end": { - "column": 4, - "line": 197 - }, - "start": { - "column": 113, - "line": 188 + "line": 270 } } }, { - "id": "1679", - "mutatorName": "MethodExpression", - "replacement": "Math.max(charmedPeopleCountPerNight, leftToCharmByPiedPiperPlayersCount)", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [[{\"player\": {\"_id\": \"edcbc247e7d8a8d00d0e6e42\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Garry\", \"position\": 3485423980511232, \"role\": {\"current\": \"wild-child\", \"isRevealed\": false, \"original\": \"wild-child\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}, {\"player\": {\"_id\": \"d3ebeddcee9cd51ea85d84b8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Bailee\", \"position\": 6315954348752896, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}}], {\"max\": 2, \"min\": 2}], but it was called with [{\"player\": {\"_id\": \"edcbc247e7d8a8d00d0e6e42\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Garry\", \"position\": 3485423980511232, \"role\": {\"current\": \"wild-child\", \"isRevealed\": false, \"original\": \"wild-child\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}}, {\"player\": {\"_id\": \"d3ebeddcee9cd51ea85d84b8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Bailee\", \"position\": 6315954348752896, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:847:53)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1909", + "mutatorName": "EqualityOperator", + "replacement": "currentPlaySource.name === PLAYER_GROUPS.WEREWOLVES", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1325:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "64" + "99" ], "coveredBy": [ - "63", - "64", - "65" + "99", + "100" ], "location": { "end": { - "column": 98, - "line": 192 + "column": 132, + "line": 270 }, "start": { - "column": 26, - "line": 192 + "column": 81, + "line": 270 } } }, { - "id": "1680", - "mutatorName": "ObjectLiteral", + "id": "1910", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(191,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "98" + ], "coveredBy": [ - "63", - "64", - "65" + "98", + "99" ], "location": { "end": { - "column": 97, - "line": 193 + "column": 6, + "line": 272 }, "start": { - "column": 57, - "line": 193 + "column": 135, + "line": 270 } } }, { - "id": "1681", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:846:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1911", + "mutatorName": "MethodExpression", + "replacement": "playTargets.every(({\n drankPotion\n}) => drankPotion)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1461:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "64" + "101" ], "coveredBy": [ - "63", - "64", - "65" + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 111, - "line": 194 + "column": 88, + "line": 273 }, "start": { - "column": 9, - "line": 194 + "column": 38, + "line": 273 } } }, { - "id": "1682", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1912", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1461:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "63" + "101" ], "coveredBy": [ - "63", - "64", - "65" + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 111, - "line": 194 + "column": 87, + "line": 273 }, "start": { - "column": 9, - "line": 194 + "column": 55, + "line": 273 } } }, { - "id": "1683", - "mutatorName": "MethodExpression", - "replacement": "playTargets.every(({\n player\n}) => !leftToCharmByPiedPiperPlayers.find(({\n _id\n}) => player._id === _id))", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1913", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "63" + "100" ], "coveredBy": [ - "63", - "64", - "65" + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 111, - "line": 194 + "column": 137, + "line": 274 }, "start": { "column": 9, - "line": 194 + "line": 274 } } }, { - "id": "1684", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1914", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1350:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "63" + "101" ], "coveredBy": [ - "63", - "64", - "65" + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 110, - "line": 194 + "column": 137, + "line": 274 }, "start": { - "column": 26, - "line": 194 + "column": 9, + "line": 274 } } }, { - "id": "1685", - "mutatorName": "BooleanLiteral", - "replacement": "leftToCharmByPiedPiperPlayers.find(({\n _id\n}) => player._id === _id)", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:846:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1915", + "mutatorName": "LogicalOperator", + "replacement": "hasSomePlayerDrankPotion || currentPlayAction !== GAME_PLAY_ACTIONS.USE_POTIONS || currentPlaySource.name !== ROLE_NAMES.WITCH", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "64" + "100" ], "coveredBy": [ - "63", - "64", - "65" + "100", + "101", + "102", + "103", + "531" ], "location": { "end": { - "column": 110, - "line": 194 + "column": 137, + "line": 274 }, "start": { - "column": 42, - "line": 194 + "column": 9, + "line": 274 } } }, { - "id": "1686", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "1916", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1374:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "103" + ], "coveredBy": [ - "63", - "64", - "65" + "101", + "102", + "103" ], "location": { "end": { - "column": 109, - "line": 194 + "column": 136, + "line": 274 }, "start": { - "column": 78, - "line": 194 + "column": 38, + "line": 274 } } }, { - "id": "1687", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "1917", + "mutatorName": "LogicalOperator", + "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.USE_POTIONS && currentPlaySource.name !== ROLE_NAMES.WITCH", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "63", - "64", - "65" + "101", + "102", + "103" ], "location": { "end": { - "column": 109, - "line": 194 + "column": 136, + "line": 274 }, "start": { - "column": 91, - "line": 194 + "column": 38, + "line": 274 } } }, { - "id": "1688", + "id": "1918", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:846:131)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1350:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "64" + "101" ], "coveredBy": [ - "63", - "64", - "65" + "101", + "102", + "103" ], "location": { "end": { - "column": 109, - "line": 194 + "column": 89, + "line": 274 }, "start": { - "column": 91, - "line": 194 + "column": 38, + "line": 274 } } }, { - "id": "1689", + "id": "1919", "mutatorName": "EqualityOperator", - "replacement": "player._id !== _id", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.USE_POTIONS", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1350:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "63" + "101" ], "coveredBy": [ - "63", - "64", - "65" + "101", + "102", + "103" ], "location": { "end": { - "column": 109, - "line": 194 + "column": 89, + "line": 274 }, "start": { - "column": 91, - "line": 194 + "column": 38, + "line": 274 } } }, { - "id": "1690", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:828:127)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1920", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1362:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 2, "static": false, "killedBy": [ - "63" + "102" ], "coveredBy": [ - "63" + "102", + "103" ], "location": { "end": { - "column": 6, - "line": 196 + "column": 136, + "line": 274 }, "start": { - "column": 113, - "line": 194 + "column": 93, + "line": 274 } } }, { - "id": "1691", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1921", + "mutatorName": "EqualityOperator", + "replacement": "currentPlaySource.name === ROLE_NAMES.WITCH", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1362:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "66" + "102" ], "coveredBy": [ - "66", - "67", - "68", - "69" + "102", + "103" ], "location": { "end": { - "column": 4, - "line": 208 + "column": 136, + "line": 274 }, "start": { - "column": 124, - "line": 199 + "column": 93, + "line": 274 } } }, { - "id": "1692", - "mutatorName": "ObjectLiteral", + "id": "1922", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(199,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "66", - "67", - "68", - "69" + "101", + "102" ], "location": { "end": { - "column": 75, - "line": 201 + "column": 6, + "line": 276 }, "start": { - "column": 57, - "line": 201 + "column": 139, + "line": 274 } } }, { - "id": "1693", - "mutatorName": "OptionalChaining", - "replacement": "lastGuardHistoryRecord?.play.targets[0]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(201,33): error TS18048: 'lastGuardHistoryRecord.play.targets' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "1923", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1412:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], - "coveredBy": [ - "66", - "67", - "68", - "69" + "killedBy": [ + "106" ], - "location": { - "end": { - "column": 74, - "line": 203 - }, - "start": { - "column": 33, - "line": 203 - } - } - }, - { - "id": "1694", - "mutatorName": "OptionalChaining", - "replacement": "lastGuardHistoryRecord.play", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(201,33): error TS18047: 'lastGuardHistoryRecord' is possibly 'null'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "66", - "67", - "68", - "69" + "104", + "105", + "106", + "107", + "108", + "530", + "531" ], "location": { "end": { - "column": 61, - "line": 203 + "column": 4, + "line": 291 }, "start": { - "column": 33, - "line": 203 + "column": 162, + "line": 279 } } }, { - "id": "1695", + "id": "1924", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:890:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(289,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(290,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "68" - ], + "killedBy": [], "coveredBy": [ - "66", - "67", - "68", - "69" + "104", + "105", + "106", + "107", + "108", + "530", + "531" ], "location": { "end": { - "column": 103, - "line": 205 + "column": 62, + "line": 280 }, "start": { "column": 9, - "line": 205 + "line": 280 } } }, { - "id": "1696", + "id": "1925", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(289,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(290,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "66", - "67", - "68", - "69" + "104", + "105", + "106", + "107", + "108", + "530", + "531" ], "location": { "end": { - "column": 103, - "line": 205 + "column": 62, + "line": 280 }, "start": { "column": 9, - "line": 205 + "line": 280 } } }, { - "id": "1697", + "id": "1926", "mutatorName": "LogicalOperator", - "replacement": "!targetedPlayer.isAlive && !canProtectTwice && lastProtectedPlayer?._id === targetedPlayer._id", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "66" - ], - "coveredBy": [ - "66", - "67", - "68", - "69" - ], - "location": { - "end": { - "column": 103, - "line": 205 - }, - "start": { - "column": 9, - "line": 205 - } - } - }, - { - "id": "1698", - "mutatorName": "BooleanLiteral", - "replacement": "targetedPlayer.isAlive", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "replacement": "playTargets === undefined && playTargets.length === 0", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(280,38): error TS18048: 'playTargets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(289,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(290,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "66" - ], + "killedBy": [], "coveredBy": [ - "66", - "67", - "68", - "69" + "104", + "105", + "106", + "107", + "108", + "530", + "531" ], "location": { "end": { - "column": 32, - "line": 205 + "column": 62, + "line": 280 }, "start": { "column": 9, - "line": 205 + "line": 280 } } }, { - "id": "1699", + "id": "1927", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:879:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, - "static": false, - "killedBy": [ - "67" - ], - "coveredBy": [ - "67", - "68", - "69" - ], - "location": { - "end": { - "column": 103, - "line": 205 - }, - "start": { - "column": 36, - "line": 205 - } - } - }, - { - "id": "1700", - "mutatorName": "LogicalOperator", - "replacement": "!canProtectTwice || lastProtectedPlayer?._id === targetedPlayer._id", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:890:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(280,18): error TS18048: 'playTargets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(289,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(290,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "68" - ], + "killedBy": [], "coveredBy": [ - "67", - "68", - "69" + "104", + "105", + "106", + "107", + "108", + "530", + "531" ], "location": { "end": { - "column": 103, - "line": 205 + "column": 34, + "line": 280 }, "start": { - "column": 36, - "line": 205 + "column": 9, + "line": 280 } } }, { - "id": "1701", - "mutatorName": "BooleanLiteral", - "replacement": "canProtectTwice", - "status": "Timeout", + "id": "1928", + "mutatorName": "EqualityOperator", + "replacement": "playTargets !== undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(280,38): error TS18048: 'playTargets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(289,48): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(290,46): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "67", - "68", - "69" + "104", + "105", + "106", + "107", + "108", + "530", + "531" ], "location": { "end": { - "column": 52, - "line": 205 + "column": 34, + "line": 280 }, "start": { - "column": 36, - "line": 205 + "column": 9, + "line": 280 } } }, { - "id": "1702", + "id": "1929", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:900:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1516:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "69" + "105" ], "coveredBy": [ - "67", - "69" + "105", + "106", + "107", + "108", + "531" ], "location": { "end": { - "column": 103, - "line": 205 + "column": 62, + "line": 280 }, "start": { - "column": 56, - "line": 205 + "column": 38, + "line": 280 } } }, { - "id": "1703", + "id": "1930", "mutatorName": "EqualityOperator", - "replacement": "lastProtectedPlayer?._id !== targetedPlayer._id", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:879:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "playTargets.length !== 0", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1405:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "67" + "105" ], "coveredBy": [ - "67", - "69" + "105", + "106", + "107", + "108", + "531" ], "location": { "end": { - "column": 103, - "line": 205 + "column": 62, + "line": 280 }, "start": { - "column": 56, - "line": 205 + "column": 38, + "line": 280 } } }, { - "id": "1704", - "mutatorName": "OptionalChaining", - "replacement": "lastProtectedPlayer._id", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(203,56): error TS18048: 'lastProtectedPlayer' is possibly 'undefined'.\n", + "id": "1931", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(284,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(285,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "67", - "69" + "104", + "105", + "106", + "530" ], "location": { "end": { - "column": 80, - "line": 205 + "column": 6, + "line": 285 }, "start": { - "column": 56, - "line": 205 + "column": 64, + "line": 280 } } }, { - "id": "1705", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:868:123)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1932", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1398:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "66" + "104" ], "coveredBy": [ - "66", - "67" + "104", + "105", + "106", + "530" ], "location": { "end": { - "column": 6, - "line": 207 + "column": 67, + "line": 281 }, "start": { - "column": 105, - "line": 205 + "column": 11, + "line": 281 } } }, { - "id": "1706", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1933", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1412:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 4, "static": false, "killedBy": [ - "71" + "106" ], "coveredBy": [ - "70", - "71", - "72", - "73", - "74" + "104", + "105", + "106", + "530" ], "location": { "end": { - "column": 4, - "line": 222 + "column": 67, + "line": 281 }, "start": { - "column": 141, - "line": 210 + "column": 11, + "line": 281 } } }, { - "id": "1707", - "mutatorName": "ObjectLiteral", + "id": "1934", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(209,57): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ min: number; max: number; }'.\n Type '{}' is missing the following properties from type '{ min: number; max: number; }': min, max\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "70", - "71", - "72", - "73", - "74" - ], - "location": { - "end": { - "column": 75, - "line": 211 - }, - "start": { - "column": 57, - "line": 211 - } - } - }, - { - "id": "1708", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1412:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 1, "static": false, "killedBy": [ - "70" + "106" ], "coveredBy": [ - "70", - "71", - "72", - "73", - "74" + "106" ], "location": { "end": { - "column": 90, - "line": 213 + "column": 8, + "line": 283 }, "start": { - "column": 9, - "line": 213 + "column": 69, + "line": 281 } } }, { - "id": "1709", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "1935", + "mutatorName": "BooleanLiteral", + "replacement": "[...requiredTargetsActions, ...optionalTargetsActions].includes(game.currentPlay.action)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "70", - "71", - "72", - "73", - "74" + "107", + "108", + "531" ], "location": { "end": { - "column": 90, - "line": 213 + "column": 98, + "line": 286 }, "start": { "column": 9, - "line": 213 + "line": 286 } } }, { - "id": "1710", - "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.DELEGATE || !targetedPlayer.isAlive", - "status": "Timeout", + "id": "1936", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(289,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(290,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "70", - "71", - "72", - "73", - "74" + "107", + "108", + "531" ], "location": { "end": { - "column": 90, - "line": 213 + "column": 98, + "line": 286 }, "start": { "column": 9, - "line": 213 + "line": 286 } } }, { - "id": "1711", + "id": "1937", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Sheriff can't break the tie in votes with this target\"], but it was called with \"Sheriff can't delegate his role to this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:933:43)", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1420:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 3, "static": false, "killedBy": [ - "73" + "107" ], "coveredBy": [ - "70", - "71", - "72", - "73", - "74" + "107", + "108", + "531" ], "location": { "end": { - "column": 63, - "line": 213 + "column": 98, + "line": 286 }, "start": { "column": 9, - "line": 213 + "line": 286 } } }, { - "id": "1712", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.DELEGATE", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "1938", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(286,22): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/game-play.enum\").GAME_PLAY_ACTIONS' is not assignable to parameter of type 'never'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "71" - ], + "killedBy": [], "coveredBy": [ - "70", - "71", - "72", - "73", - "74" + "107", + "108", + "531" ], "location": { "end": { - "column": 63, - "line": 213 + "column": 64, + "line": 286 }, "start": { - "column": 9, - "line": 213 + "column": 10, + "line": 286 } } }, { - "id": "1713", - "mutatorName": "BooleanLiteral", - "replacement": "targetedPlayer.isAlive", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1939", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1420:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "71" + "107" ], "coveredBy": [ - "71", - "72" + "107" ], "location": { "end": { - "column": 90, - "line": 213 + "column": 6, + "line": 288 }, "start": { - "column": 67, - "line": 213 + "column": 100, + "line": 286 } } }, { - "id": "1714", + "id": "1940", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:915:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 3, "static": false, "killedBy": [ - "71" + "109" ], "coveredBy": [ - "71" + "109", + "110", + "111" ], "location": { "end": { - "column": 6, - "line": 215 + "column": 4, + "line": 299 }, "start": { - "column": 92, - "line": 213 + "column": 154, + "line": 293 } } }, { - "id": "1715", + "id": "1941", "mutatorName": "LogicalOperator", "replacement": "lastTieInVotesRecord?.play.voting?.nominatedPlayers && []", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(216,51): error TS18048: 'lastTieInVotesRecordNominatedPlayers' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(283,33): error TS18048: 'lastTieInVotesRecordNominatedPlayers' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(283,123): error TS2339: Property '_id' does not exist on type 'never'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "70", - "72", - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { "column": 107, - "line": 217 + "line": 295 }, "start": { "column": 50, - "line": 217 + "line": 295 } } }, { - "id": "1716", + "id": "1942", "mutatorName": "OptionalChaining", "replacement": "lastTieInVotesRecord?.play.voting.nominatedPlayers", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(215,50): error TS18048: 'lastTieInVotesRecord.play.voting' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(282,50): error TS18048: 'lastTieInVotesRecord.play.voting' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "70", - "72", - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { "column": 101, - "line": 217 + "line": 295 }, "start": { "column": 50, - "line": 217 + "line": 295 } } }, { - "id": "1717", + "id": "1943", "mutatorName": "OptionalChaining", "replacement": "lastTieInVotesRecord.play", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(215,50): error TS18047: 'lastTieInVotesRecord' is possibly 'null'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(282,50): error TS18047: 'lastTieInVotesRecord' is possibly 'null'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "70", - "72", - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { "column": 76, - "line": 217 + "line": 295 }, "start": { "column": 50, - "line": 217 + "line": 295 } } }, { - "id": "1718", + "id": "1944", "mutatorName": "ArrayDeclaration", "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(216,88): error TS2349: This expression is not callable.\n Each member of the union type '{ (predicate: (value: Player, index: number, obj: Player[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Player, index: number, obj: Player[]) => unknown, thisArg?: any): Player | undefined; } | { ...; }' has signatures, but none of those signatures are compatible with each other.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(283,70): error TS2349: This expression is not callable.\n Each member of the union type '{ (predicate: (value: Player, index: number, obj: Player[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Player, index: number, obj: Player[]) => unknown, thisArg?: any): Player | undefined; } | { ...; }' has signatures, but none of those signatures are compatible with each other.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "70", - "72" + "109" ], "location": { "end": { "column": 107, - "line": 217 + "line": 295 }, "start": { "column": 105, - "line": 217 - } - } - }, - { - "id": "1719", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:942:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "74" - ], - "coveredBy": [ - "70", - "72", - "73", - "74" - ], - "location": { - "end": { - "column": 132, - "line": 218 - }, - "start": { - "column": 93, - "line": 218 + "line": 295 } } }, { - "id": "1720", + "id": "1945", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:932:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "status": "Timeout", "static": false, - "killedBy": [ - "73" - ], + "killedBy": [], "coveredBy": [ - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { - "column": 132, - "line": 218 + "column": 139, + "line": 296 }, "start": { - "column": 106, - "line": 218 + "column": 9, + "line": 296 } } }, { - "id": "1721", + "id": "1946", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:942:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "74" + "109" ], "coveredBy": [ - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { - "column": 132, - "line": 218 + "column": 139, + "line": 296 }, "start": { - "column": 106, - "line": 218 + "column": 9, + "line": 296 } } }, { - "id": "1722", - "mutatorName": "EqualityOperator", - "replacement": "_id !== targetedPlayer._id", - "status": "Timeout", + "id": "1947", + "mutatorName": "MethodExpression", + "replacement": "playVotes.every(vote => !lastTieInVotesRecordNominatedPlayers.find(player => vote.target._id.toString() === player._id.toString()))", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1463:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "110" + ], "coveredBy": [ - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { - "column": 132, - "line": 218 + "column": 139, + "line": 296 }, "start": { - "column": 106, - "line": 218 + "column": 9, + "line": 296 } } }, { - "id": "1723", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1948", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "70" + "109" ], "coveredBy": [ - "70", - "72", - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { - "column": 109, - "line": 219 + "column": 138, + "line": 296 }, "start": { - "column": 9, - "line": 219 + "column": 24, + "line": 296 } } }, { - "id": "1724", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "1949", + "mutatorName": "BooleanLiteral", + "replacement": "lastTieInVotesRecordNominatedPlayers.find(player => vote.target._id.toString() === player._id.toString())", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "109" + ], "coveredBy": [ - "70", - "72", - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { - "column": 109, - "line": 219 + "column": 138, + "line": 296 }, "start": { - "column": 9, - "line": 219 + "column": 32, + "line": 296 } } }, { - "id": "1725", - "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.SETTLE_VOTES || !isSheriffTargetInLastNominatedPlayers", + "id": "1950", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "70", - "72", - "73", - "74" + "109", + "110", + "111" ], "location": { "end": { - "column": 109, - "line": 219 + "column": 137, + "line": 296 }, "start": { - "column": 9, - "line": 219 + "column": 75, + "line": 296 } } }, { - "id": "1726", + "id": "1951", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1463:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "70" + "110" ], "coveredBy": [ - "70", - "72", - "73", - "74" + "110", + "111" ], "location": { "end": { - "column": 67, - "line": 219 + "column": 137, + "line": 296 }, "start": { - "column": 9, - "line": 219 + "column": 85, + "line": 296 } } }, { - "id": "1727", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.SETTLE_VOTES", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:908:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1952", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1479:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "70" + "111" ], "coveredBy": [ - "70", - "72", - "73", - "74" + "110", + "111" ], "location": { "end": { - "column": 67, - "line": 219 + "column": 137, + "line": 296 }, "start": { - "column": 9, - "line": 219 + "column": 85, + "line": 296 } } }, { - "id": "1728", - "mutatorName": "BooleanLiteral", - "replacement": "isSheriffTargetInLastNominatedPlayers", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:932:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1953", + "mutatorName": "EqualityOperator", + "replacement": "vote.target._id.toString() !== player._id.toString()", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1463:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "73" + "110" ], "coveredBy": [ - "73", - "74" + "110", + "111" ], "location": { "end": { - "column": 109, - "line": 219 + "column": 137, + "line": 296 }, "start": { - "column": 71, - "line": 219 + "column": 85, + "line": 296 } } }, { - "id": "1729", + "id": "1954", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:932:125)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 2, "static": false, "killedBy": [ - "73" + "109" ], "coveredBy": [ - "73" + "109", + "110" ], "location": { "end": { "column": 6, - "line": 221 + "line": 298 }, "start": { - "column": 111, - "line": 219 + "column": 141, + "line": 296 } } }, { - "id": "1730", + "id": "1955", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:954:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 32, + "testsCompleted": 5, "static": false, "killedBy": [ - "75" + "112" ], "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "78", - "573" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { "column": 4, - "line": 231 + "line": 311 }, "start": { - "column": 150, - "line": 224 + "column": 129, + "line": 301 } } }, { - "id": "1731", + "id": "1956", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"One target can't be voted because he's dead\"\nReceived: \"One source is not able to vote because he's dead or doesn't have the ability to do so\"\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1539:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 32, + "testsCompleted": 5, "static": false, "killedBy": [ - "27" + "114" ], "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "78", - "573" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 50, - "line": 225 + "column": 145, + "line": 302 }, "start": { "column": 9, - "line": 225 + "line": 302 } } }, { - "id": "1732", + "id": "1957", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:954:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 32, + "testsCompleted": 5, "static": false, "killedBy": [ - "75" + "112" ], "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "78", - "573" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 50, - "line": 225 + "column": 145, + "line": 302 }, "start": { "column": 9, - "line": 225 + "line": 302 } } }, { - "id": "1733", - "mutatorName": "EqualityOperator", - "replacement": "playTargets.length <= lengthBoundaries.min", + "id": "1958", + "mutatorName": "MethodExpression", + "replacement": "playVotes.every(({\n source\n}) => !source.isAlive || doesPlayerHaveActiveAttributeWithName(source, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game))", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "78", - "573" - ], - "location": { - "end": { - "column": 50, - "line": 225 - }, - "start": { - "column": 9, - "line": 225 - } - } - }, - { - "id": "1734", - "mutatorName": "EqualityOperator", - "replacement": "playTargets.length >= lengthBoundaries.min", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 32, - "static": false, - "killedBy": [ - "27" - ], - "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "75", - "76", - "77", - "78", - "573" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 50, - "line": 225 + "column": 145, + "line": 302 }, "start": { "column": 9, - "line": 225 + "line": 302 } } }, { - "id": "1735", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:954:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1959", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 5, "static": false, "killedBy": [ - "75" + "112" ], "coveredBy": [ - "75" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 6, - "line": 227 + "column": 144, + "line": 302 }, "start": { - "column": 52, - "line": 225 + "column": 24, + "line": 302 } } }, { - "id": "1736", + "id": "1960", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 31, + "testsCompleted": 5, "static": false, "killedBy": [ - "27" + "530" ], "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "76", - "77", - "78", - "573" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 50, - "line": 228 + "column": 144, + "line": 302 }, "start": { - "column": 9, - "line": 228 + "column": 40, + "line": 302 } } }, { - "id": "1737", + "id": "1961", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:965:142)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 31, - "static": false, - "killedBy": [ - "76" - ], - "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "76", - "77", - "78", - "573" - ], - "location": { - "end": { - "column": 50, - "line": 228 - }, - "start": { - "column": 9, - "line": 228 - } - } - }, - { - "id": "1738", - "mutatorName": "EqualityOperator", - "replacement": "playTargets.length >= lengthBoundaries.max", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:753:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 31, - "static": false, - "killedBy": [ - "573" - ], - "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "76", - "77", - "78", - "573" + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, + "static": false, + "killedBy": [ + "112" + ], + "coveredBy": [ + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 50, - "line": 228 + "column": 144, + "line": 302 }, "start": { - "column": 9, - "line": 228 + "column": 40, + "line": 302 } } }, { - "id": "1739", - "mutatorName": "EqualityOperator", - "replacement": "playTargets.length <= lengthBoundaries.max", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:465:126)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1962", + "mutatorName": "LogicalOperator", + "replacement": "!source.isAlive && doesPlayerHaveActiveAttributeWithName(source, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1608:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 31, + "testsCompleted": 5, "static": false, "killedBy": [ - "27" + "112" ], "coveredBy": [ - "27", - "46", - "47", - "48", - "49", - "50", - "51", - "52", - "53", - "54", - "55", - "56", - "57", - "58", - "59", - "60", - "61", - "62", - "66", - "67", - "68", - "69", - "70", - "71", - "72", - "73", - "74", - "76", - "77", - "78", - "573" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 50, - "line": 228 + "column": 144, + "line": 302 }, "start": { - "column": 9, - "line": 228 + "column": 40, + "line": 302 } } }, { - "id": "1740", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "1963", + "mutatorName": "BooleanLiteral", + "replacement": "source.isAlive", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"One target can't be voted because he's dead\"\nReceived: \"One source is not able to vote because he's dead or doesn't have the ability to do so\"\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1644:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "114" + ], "coveredBy": [ - "76" + "112", + "113", + "114", + "115", + "530" ], "location": { "end": { - "column": 6, - "line": 230 + "column": 55, + "line": 302 }, "start": { - "column": 52, - "line": 228 + "column": 40, + "line": 302 } } }, { - "id": "1741", + "id": "1964", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "80" + "112" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "112", + "113" ], "location": { "end": { - "column": 4, - "line": 254 + "column": 6, + "line": 304 }, "start": { - "column": 140, - "line": 233 + "column": 147, + "line": 302 } } }, { - "id": "1742", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", - "status": "Killed", - "testsCompleted": 16, + "id": "1965", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "80" - ], + "killedBy": [], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "114", + "115", + "530" ], "location": { "end": { - "column": 6, - "line": 249 + "column": 56, + "line": 305 }, "start": { - "column": 102, - "line": 234 + "column": 9, + "line": 305 } } }, { - "id": "1743", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", + "id": "1966", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1538:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 3, "static": false, "killedBy": [ - "80" + "114" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "114", + "115", + "530" ], "location": { "end": { - "column": 106, - "line": 235 + "column": 56, + "line": 305 }, "start": { - "column": 41, - "line": 235 + "column": 9, + "line": 305 } } }, { - "id": "1744", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1067:85)", - "status": "Killed", - "testsCompleted": 16, + "id": "1967", + "mutatorName": "MethodExpression", + "replacement": "playVotes.every(({\n target\n}) => !target.isAlive)", + "status": "Timeout", "static": false, - "killedBy": [ - "81" - ], + "killedBy": [], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "114", + "115", + "530" ], "location": { "end": { - "column": 103, - "line": 236 + "column": 56, + "line": 305 }, "start": { - "column": 35, - "line": 236 + "column": 9, + "line": 305 } } }, { - "id": "1745", + "id": "1968", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1085:85)", - "status": "Killed", - "testsCompleted": 16, + "status": "Timeout", "static": false, - "killedBy": [ - "82" - ], + "killedBy": [], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "114", + "115", + "530" ], "location": { "end": { - "column": 102, - "line": 237 + "column": 55, + "line": 305 }, "start": { - "column": 34, - "line": 237 + "column": 24, + "line": 305 } } }, { - "id": "1746", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1103:85)", + "id": "1969", + "mutatorName": "BooleanLiteral", + "replacement": "target.isAlive", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"One vote has the same source and target\"\nReceived: \"One target can't be voted because he's dead\"\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1556:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 3, "static": false, "killedBy": [ - "83" + "115" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "114", + "115", + "530" ], "location": { "end": { - "column": 104, - "line": 238 + "column": 55, + "line": 305 }, "start": { - "column": 36, - "line": 238 + "column": 40, + "line": 305 } } }, { - "id": "1747", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1122:80)", + "id": "1970", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1538:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 1, "static": false, "killedBy": [ - "84" + "114" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "114" ], "location": { "end": { - "column": 90, - "line": 239 + "column": 6, + "line": 307 }, "start": { - "column": 27, - "line": 239 + "column": 58, + "line": 305 } } }, { - "id": "1748", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1141:84)", + "id": "1971", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "85" + "530" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 94, - "line": 240 + "column": 74, + "line": 308 }, "start": { - "column": 32, - "line": 240 + "column": 9, + "line": 308 } } }, { - "id": "1749", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1160:84)", + "id": "1972", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "86" + "115" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 94, - "line": 241 + "column": 74, + "line": 308 }, "start": { - "column": 32, - "line": 241 + "column": 9, + "line": 308 } } }, { - "id": "1750", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1179:80)", + "id": "1973", + "mutatorName": "MethodExpression", + "replacement": "playVotes.every(({\n source,\n target\n}) => source._id === target._id)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1660:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "87" + "115" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 79, - "line": 242 + "column": 74, + "line": 308 }, "start": { - "column": 27, - "line": 242 + "column": 9, + "line": 308 } } }, { - "id": "1751", + "id": "1974", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1198:79)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "88" + "115" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 83, - "line": 243 + "column": 73, + "line": 308 }, - "start": { - "column": 26, - "line": 243 + "start": { + "column": 24, + "line": 308 } } }, { - "id": "1752", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1217:78)", + "id": "1975", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "89" + "530" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 75, - "line": 244 + "column": 73, + "line": 308 }, "start": { - "column": 25, - "line": 244 + "column": 48, + "line": 308 } } }, { - "id": "1753", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1236:80)", + "id": "1976", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 2, "static": false, "killedBy": [ - "90" + "115" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 79, - "line": 245 + "column": 73, + "line": 308 }, "start": { - "column": 27, - "line": 245 + "column": 48, + "line": 308 } } }, { - "id": "1754", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "1977", + "mutatorName": "EqualityOperator", + "replacement": "source._id !== target._id", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115", + "530" ], "location": { "end": { - "column": 93, - "line": 246 + "column": 73, + "line": 308 }, "start": { - "column": 31, - "line": 246 + "column": 48, + "line": 308 } } }, { - "id": "1755", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1274:81)", + "id": "1978", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 1, "static": false, "killedBy": [ - "92" + "115" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "115" ], "location": { "end": { - "column": 81, - "line": 247 + "column": 6, + "line": 310 }, "start": { - "column": 28, - "line": 247 + "column": 76, + "line": 308 } } }, { - "id": "1756", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1293:80)", + "id": "1979", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 16, + "testsCompleted": 8, "static": false, "killedBy": [ - "93" + "529" ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 90, - "line": 248 + "column": 4, + "line": 322 }, "start": { - "column": 27, - "line": 248 + "column": 87, + "line": 313 } } }, { - "id": "1757", + "id": "1980", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(250,13): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "117" + ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 39, - "line": 251 + "column": 151, + "line": 316 }, "start": { - "column": 9, - "line": 251 + "column": 51, + "line": 316 } } }, { - "id": "1758", + "id": "1981", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(250,13): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1628:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "121" + ], "coveredBy": [ - "79", - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 39, - "line": 251 + "column": 151, + "line": 316 }, "start": { - "column": 9, - "line": 251 + "column": 51, + "line": 316 } } }, { - "id": "1759", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1049:82)", + "id": "1982", + "mutatorName": "LogicalOperator", + "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.VOTE || currentPlayCause === GAME_PLAY_CAUSES.ANGEL_PRESENCE", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 15, + "testsCompleted": 8, "static": false, "killedBy": [ - "80" + "117" ], "coveredBy": [ - "80", - "81", - "82", - "83", - "84", - "85", - "86", - "87", - "88", - "89", - "90", - "91", - "92", - "93", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 6, - "line": 253 + "column": 151, + "line": 316 }, "start": { - "column": 41, - "line": 251 + "column": 51, + "line": 316 } } }, { - "id": "1760", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1983", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1587:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 8, "static": false, "killedBy": [ - "94" + "118" ], "coveredBy": [ - "94", - "95", - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 4, - "line": 266 + "column": 95, + "line": 316 }, "start": { - "column": 133, - "line": 256 + "column": 51, + "line": 316 } } }, { - "id": "1761", - "mutatorName": "MethodExpression", - "replacement": "playTargets.every(({\n isInfected\n}) => isInfected)", - "status": "Timeout", + "id": "1984", + "mutatorName": "EqualityOperator", + "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.VOTE", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1587:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "118" + ], "coveredBy": [ - "94", - "95", - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 82, - "line": 258 + "column": 95, + "line": 316 }, "start": { - "column": 34, - "line": 258 + "column": 51, + "line": 316 } } }, { - "id": "1762", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1985", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 5, "static": false, "killedBy": [ - "94" + "117" ], "coveredBy": [ - "94", - "95", - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "119", + "121", + "529" ], "location": { "end": { - "column": 81, - "line": 258 + "column": 151, + "line": 316 }, "start": { - "column": 51, - "line": 258 + "column": 99, + "line": 316 } } }, { - "id": "1763", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "id": "1986", + "mutatorName": "EqualityOperator", + "replacement": "currentPlayCause !== GAME_PLAY_CAUSES.ANGEL_PRESENCE", + "status": "Timeout", "static": false, - "killedBy": [ - "96" - ], + "killedBy": [], "coveredBy": [ - "94", - "95", - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "119", + "121", + "529" ], "location": { "end": { - "column": 133, - "line": 259 + "column": 151, + "line": 316 }, "start": { - "column": 9, - "line": 259 + "column": 99, + "line": 316 } } }, { - "id": "1764", + "id": "1987", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "replacement": "true", + "statusReason": "undefined TypeError: Cannot read properties of undefined (reading 'close')\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:72:15)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusHook (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:280:40)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:153:7)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "RuntimeError", "static": false, - "killedBy": [ - "94" - ], + "killedBy": [], "coveredBy": [ - "94", - "95", - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 133, - "line": 259 + "column": 135, + "line": 317 }, "start": { - "column": 9, - "line": 259 + "column": 41, + "line": 317 } } }, { - "id": "1765", - "mutatorName": "LogicalOperator", - "replacement": "isSomeTargetInfected || currentPlayAction !== GAME_PLAY_ACTIONS.EAT || currentPlaySource.name !== PLAYER_GROUPS.WEREWOLVES", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(261,38): error TS2367: This comparison appears to be unintentional because the types 'GAME_PLAY_ACTIONS.EAT' and 'GAME_PLAY_ACTIONS.USE_POTIONS' have no overlap.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(261,93): error TS2367: This comparison appears to be unintentional because the types 'PLAYER_GROUPS' and 'ROLE_NAMES' have no overlap.\n", - "status": "CompileError", + "id": "1988", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1729:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "120" + ], "coveredBy": [ - "94", - "95", - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 133, - "line": 259 + "column": 135, + "line": 317 }, "start": { - "column": 9, - "line": 259 + "column": 41, + "line": 317 } } }, { - "id": "1766", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1989", + "mutatorName": "LogicalOperator", + "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.ELECT_SHERIFF && isCurrentPlayVoteCauseOfAngelPresence", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1614:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 8, "static": false, "killedBy": [ - "96" + "120" ], "coveredBy": [ - "94", - "95", - "96" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 132, - "line": 259 + "column": 135, + "line": 317 }, "start": { - "column": 34, - "line": 259 + "column": 41, + "line": 317 } } }, { - "id": "1767", - "mutatorName": "LogicalOperator", - "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.EAT && currentPlaySource.name !== PLAYER_GROUPS.WEREWOLVES", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1990", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1614:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 8, "static": false, "killedBy": [ - "94" + "120" ], "coveredBy": [ - "94", - "95", - "96" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 132, - "line": 259 + "column": 94, + "line": 317 }, "start": { - "column": 34, - "line": 259 + "column": 41, + "line": 317 } } }, { - "id": "1768", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1991", + "mutatorName": "EqualityOperator", + "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.ELECT_SHERIFF", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 8, "static": false, "killedBy": [ - "94" + "117" ], "coveredBy": [ - "94", - "95", - "96" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 77, - "line": 259 + "column": 94, + "line": 317 }, "start": { - "column": 34, - "line": 259 + "column": 41, + "line": 317 } } }, { - "id": "1769", - "mutatorName": "EqualityOperator", - "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.EAT", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1992", + "mutatorName": "MethodExpression", + "replacement": "game.players.every(player => player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game))", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1610:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 8, "static": false, "killedBy": [ - "94" + "119" ], "coveredBy": [ - "94", - "95", - "96" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 77, - "line": 259 + "column": 164, + "line": 318 }, "start": { - "column": 34, - "line": 259 + "column": 31, + "line": 318 } } }, { - "id": "1770", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1325:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1993", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1610:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 8, "static": false, "killedBy": [ - "95" + "119" ], "coveredBy": [ - "95", - "96" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 132, - "line": 259 + "column": 163, + "line": 318 }, "start": { - "column": 81, - "line": 259 + "column": 49, + "line": 318 } } }, { - "id": "1771", - "mutatorName": "EqualityOperator", - "replacement": "currentPlaySource.name === PLAYER_GROUPS.WEREWOLVES", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1325:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1994", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1676:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 8, "static": false, "killedBy": [ - "95" + "116" ], "coveredBy": [ - "95", - "96" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 132, - "line": 259 + "column": 163, + "line": 318 }, "start": { - "column": 81, - "line": 259 + "column": 59, + "line": 318 } } }, { - "id": "1772", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1311:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "1995", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1610:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 8, "static": false, "killedBy": [ - "94" + "119" ], "coveredBy": [ - "94", - "95" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 6, - "line": 261 + "column": 163, + "line": 318 }, "start": { - "column": 135, - "line": 259 + "column": 59, + "line": 318 } } }, { - "id": "1773", - "mutatorName": "MethodExpression", - "replacement": "playTargets.every(({\n drankPotion\n}) => drankPotion)", - "status": "Timeout", + "id": "1996", + "mutatorName": "LogicalOperator", + "replacement": "player.isAlive || !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1571:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "116" + ], "coveredBy": [ - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 88, - "line": 262 + "column": 163, + "line": 318 }, "start": { - "column": 38, - "line": 262 + "column": 59, + "line": 318 } } }, { - "id": "1774", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "1997", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1676:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "116" + ], "coveredBy": [ - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 87, - "line": 262 + "column": 163, + "line": 318 }, "start": { - "column": 55, - "line": 262 + "column": 77, + "line": 318 } } }, { - "id": "1775", + "id": "1998", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "96" - ], + "killedBy": [], "coveredBy": [ - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 137, - "line": 263 + "column": 154, + "line": 319 }, "start": { "column": 9, - "line": 263 + "line": 319 } } }, { - "id": "1776", + "id": "1999", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1350:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "97" - ], + "killedBy": [], "coveredBy": [ - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 137, - "line": 263 + "column": 154, + "line": 319 }, "start": { "column": 9, - "line": 263 + "line": 319 } } }, { - "id": "1777", + "id": "2000", "mutatorName": "LogicalOperator", - "replacement": "hasSomePlayerDrankPotion || currentPlayAction !== GAME_PLAY_ACTIONS.USE_POTIONS || currentPlaySource.name !== ROLE_NAMES.WITCH", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1339:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "canSomePlayerVote || !canVotesBeSkipped && requiredVotesActions.includes(currentPlayAction) || canVotesBeSkipped && isCurrentPlayVoteInevitable", + "status": "Timeout", "static": false, - "killedBy": [ - "96" - ], + "killedBy": [], "coveredBy": [ - "96", - "97", - "98", - "99", - "573" + "116", + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 137, - "line": 263 + "column": 154, + "line": 319 }, "start": { "column": 9, - "line": 263 + "line": 319 } } }, { - "id": "1778", + "id": "2001", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1374:136)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1689:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "99" + "117" ], "coveredBy": [ - "97", - "98", - "99" + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 136, - "line": 263 + "column": 153, + "line": 319 }, "start": { - "column": 38, - "line": 263 + "column": 31, + "line": 319 } } }, { - "id": "1779", + "id": "2002", "mutatorName": "LogicalOperator", - "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.USE_POTIONS && currentPlaySource.name !== ROLE_NAMES.WITCH", - "status": "Timeout", + "replacement": "!canVotesBeSkipped && requiredVotesActions.includes(currentPlayAction) && canVotesBeSkipped && isCurrentPlayVoteInevitable", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "529" + ], "coveredBy": [ - "97", - "98", - "99" + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 136, - "line": 263 + "column": 153, + "line": 319 }, "start": { - "column": 38, - "line": 263 + "column": 31, + "line": 319 } } }, { - "id": "1780", + "id": "2003", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1350:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "97" + "529" ], "coveredBy": [ - "97", - "98", - "99" + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 89, - "line": 263 + "column": 101, + "line": 319 }, "start": { - "column": 38, - "line": 263 + "column": 31, + "line": 319 } } }, { - "id": "1781", - "mutatorName": "EqualityOperator", - "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.USE_POTIONS", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1350:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2004", + "mutatorName": "LogicalOperator", + "replacement": "!canVotesBeSkipped || requiredVotesActions.includes(currentPlayAction)", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "97" + "117" ], "coveredBy": [ - "97", - "98", - "99" + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 89, - "line": 263 + "column": 101, + "line": 319 }, "start": { - "column": 38, - "line": 263 + "column": 31, + "line": 319 } } }, { - "id": "1782", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1362:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2005", + "mutatorName": "BooleanLiteral", + "replacement": "canVotesBeSkipped", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "98" + "529" ], "coveredBy": [ - "98", - "99" + "117", + "118", + "119", + "120", + "121", + "529", + "531" ], "location": { "end": { - "column": 136, - "line": 263 + "column": 49, + "line": 319 }, "start": { - "column": 93, - "line": 263 + "column": 31, + "line": 319 } } }, { - "id": "1783", - "mutatorName": "EqualityOperator", - "replacement": "currentPlaySource.name === ROLE_NAMES.WITCH", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1362:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2006", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1614:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "98" + "120" ], "coveredBy": [ - "98", - "99" + "117", + "118", + "120", + "121", + "531" ], "location": { "end": { - "column": 136, - "line": 263 + "column": 153, + "line": 319 }, "start": { - "column": 93, - "line": 263 + "column": 105, + "line": 319 } } }, { - "id": "1784", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2007", + "mutatorName": "LogicalOperator", + "replacement": "canVotesBeSkipped || isCurrentPlayVoteInevitable", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1689:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "117" + ], "coveredBy": [ - "97", - "98" + "117", + "118", + "120", + "121", + "531" ], "location": { "end": { - "column": 6, - "line": 265 + "column": 153, + "line": 319 }, "start": { - "column": 139, - "line": 263 + "column": 105, + "line": 319 } } }, { - "id": "1785", + "id": "2008", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1412:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 4, "static": false, "killedBy": [ - "102" + "529" ], "coveredBy": [ - "100", - "101", - "102", - "103", - "104", - "572", - "573" + "119", + "120", + "121", + "529" ], "location": { "end": { - "column": 4, - "line": 280 + "column": 6, + "line": 321 }, "start": { - "column": 162, - "line": 268 + "column": 156, + "line": 319 } } }, { - "id": "1786", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(276,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(277,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", - "status": "CompileError", + "id": "2009", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1672:94)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "123" + ], "coveredBy": [ - "100", - "101", - "102", - "103", - "104", - "572", - "573" + "122", + "123", + "124", + "125", + "126", + "127", + "529", + "530", + "531" ], "location": { "end": { - "column": 62, - "line": 269 + "column": 4, + "line": 336 }, "start": { - "column": 9, - "line": 269 + "column": 156, + "line": 324 } } }, { - "id": "1787", + "id": "2010", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(276,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(277,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(332,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(334,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "100", - "101", - "102", - "103", - "104", - "572", - "573" + "122", + "123", + "124", + "125", + "126", + "127", + "529", + "530", + "531" ], "location": { "end": { - "column": 62, - "line": 269 + "column": 45, + "line": 325 }, "start": { "column": 9, - "line": 269 + "line": 325 } } }, { - "id": "1788", - "mutatorName": "LogicalOperator", - "replacement": "playTargets === undefined && playTargets.length === 0", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(267,38): error TS18048: 'playTargets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(276,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(277,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "id": "2011", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(332,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(334,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "100", - "101", - "102", - "103", - "104", - "572", - "573" + "122", + "123", + "124", + "125", + "126", + "127", + "529", + "530", + "531" ], "location": { "end": { - "column": 62, - "line": 269 + "column": 45, + "line": 325 }, "start": { "column": 9, - "line": 269 + "line": 325 } } }, { - "id": "1789", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(267,18): error TS18048: 'playTargets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(276,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(277,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "id": "2012", + "mutatorName": "LogicalOperator", + "replacement": "!playVotes && playVotes.length === 0", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(325,23): error TS18048: 'playVotes' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(332,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(334,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "100", - "101", - "102", - "103", - "104", - "572", - "573" + "122", + "123", + "124", + "125", + "126", + "127", + "529", + "530", + "531" ], "location": { "end": { - "column": 34, - "line": 269 + "column": 45, + "line": 325 }, "start": { "column": 9, - "line": 269 + "line": 325 } } }, { - "id": "1790", - "mutatorName": "EqualityOperator", - "replacement": "playTargets !== undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(267,38): error TS18048: 'playTargets' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(276,48): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(277,46): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "id": "2013", + "mutatorName": "BooleanLiteral", + "replacement": "playVotes", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(325,22): error TS18048: 'playVotes' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(332,63): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(334,66): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "100", - "101", - "102", - "103", - "104", - "572", - "573" + "122", + "123", + "124", + "125", + "126", + "127", + "529", + "530", + "531" ], "location": { "end": { - "column": 34, - "line": 269 + "column": 19, + "line": 325 }, "start": { "column": 9, - "line": 269 + "line": 325 } } }, { - "id": "1791", + "id": "2014", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: thrown: BadGamePlayPayloadException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1665:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1633:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:33:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "124" + ], "coveredBy": [ - "101", - "102", - "103", - "104", - "573" + "124", + "125", + "126", + "127", + "530" ], "location": { "end": { - "column": 62, - "line": 269 + "column": 45, + "line": 325 }, "start": { - "column": 38, - "line": 269 + "column": 23, + "line": 325 } } }, { - "id": "1792", + "id": "2015", "mutatorName": "EqualityOperator", - "replacement": "playTargets.length !== 0", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1405:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "playVotes.length !== 0", + "statusReason": "Error: thrown: BadGamePlayPayloadException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1665:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1633:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:33:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "101" + "124" ], "coveredBy": [ - "101", - "102", - "103", - "104", - "573" + "124", + "125", + "126", + "127", + "530" ], "location": { "end": { - "column": 62, - "line": 269 + "column": 45, + "line": 325 }, "start": { - "column": 38, - "line": 269 + "column": 23, + "line": 325 } } }, { - "id": "1793", + "id": "2016", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(271,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(272,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(329,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(331,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "100", - "101", - "102", - "572" + "122", + "123", + "124", + "529", + "531" ], "location": { "end": { "column": 6, - "line": 274 + "line": 328 }, "start": { - "column": 64, - "line": 269 + "column": 47, + "line": 325 } } }, { - "id": "1794", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1398:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2017", + "mutatorName": "BooleanLiteral", + "replacement": "requiredVotesActions.includes(game.currentPlay.action)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1791:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "100" + "125" ], "coveredBy": [ - "100", - "101", - "102", - "572" + "125", + "126", + "127", + "530" ], "location": { "end": { - "column": 67, - "line": 270 + "column": 64, + "line": 329 }, "start": { - "column": 11, - "line": 270 + "column": 9, + "line": 329 } } }, { - "id": "1795", + "id": "2018", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(332,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(334,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "125", + "126", + "127", + "530" + ], + "location": { + "end": { + "column": 64, + "line": 329 + }, + "start": { + "column": 9, + "line": 329 + } + } + }, + { + "id": "2019", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1412:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1791:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "102" + "125" ], "coveredBy": [ - "100", - "101", - "102", - "572" + "125", + "126", + "127", + "530" ], "location": { "end": { - "column": 67, - "line": 270 + "column": 64, + "line": 329 }, "start": { - "column": 11, - "line": 270 + "column": 9, + "line": 329 } } }, { - "id": "1796", + "id": "2020", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1412:101)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1676:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "102" + "125" ], "coveredBy": [ - "102" + "125" ], "location": { "end": { - "column": 8, - "line": 272 + "column": 6, + "line": 331 }, "start": { - "column": 69, - "line": 270 + "column": 66, + "line": 329 } } }, { - "id": "1797", - "mutatorName": "BooleanLiteral", - "replacement": "[...requiredTargetsActions, ...optionalTargetsActions].includes(game.currentPlay.action)", - "status": "Timeout", + "id": "2021", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "103", - "104", - "573" + "126", + "127", + "530" ], "location": { "end": { - "column": 98, - "line": 275 + "column": 80, + "line": 333 }, "start": { "column": 9, - "line": 275 + "line": 333 } } }, { - "id": "1798", + "id": "2022", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(276,48): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(277,46): error TS2345: Argument of type 'MakeGamePlayTargetWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayTargetWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayTargetWithRelationsDto[]'.\n", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(334,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "103", - "104", - "573" + "126", + "127", + "530" ], "location": { "end": { - "column": 98, - "line": 275 + "column": 80, + "line": 333 }, "start": { "column": 9, - "line": 275 + "line": 333 } } }, { - "id": "1799", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1420:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2023", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1800:99)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "103" + "126" ], "coveredBy": [ - "103", - "104", - "573" + "126", + "127", + "530" ], "location": { "end": { - "column": 98, - "line": 275 + "column": 80, + "line": 333 }, "start": { "column": 9, - "line": 275 - } - } - }, - { - "id": "1800", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(273,22): error TS2345: Argument of type 'import(\"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/src/modules/game/enums/game-play.enum\").GAME_PLAY_ACTIONS' is not assignable to parameter of type 'never'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "103", - "104", - "573" - ], - "location": { - "end": { - "column": 64, - "line": 275 - }, - "start": { - "column": 10, - "line": 275 + "line": 333 } } }, { - "id": "1801", + "id": "2024", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1420:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1685:99)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "103" + "126" ], "coveredBy": [ - "103" + "126" ], "location": { "end": { "column": 6, - "line": 277 + "line": 335 }, "start": { - "column": 100, - "line": 275 + "column": 82, + "line": 333 } } }, { - "id": "1802", + "id": "2025", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1816:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "105" + "128" ], "coveredBy": [ - "105", - "106", - "107" + "128", + "129", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 288 - }, - "start": { - "column": 154, - "line": 282 - } - } - }, - { - "id": "1803", - "mutatorName": "LogicalOperator", - "replacement": "lastTieInVotesRecord?.play.voting?.nominatedPlayers && []", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(283,33): error TS18048: 'lastTieInVotesRecordNominatedPlayers' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(283,123): error TS2339: Property '_id' does not exist on type 'never'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "105", - "106", - "107" - ], - "location": { - "end": { - "column": 107, - "line": 284 + "line": 345 }, "start": { - "column": 50, - "line": 284 + "column": 133, + "line": 338 } } }, { - "id": "1804", - "mutatorName": "OptionalChaining", - "replacement": "lastTieInVotesRecord?.play.voting.nominatedPlayers", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(282,50): error TS18048: 'lastTieInVotesRecord.play.voting' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2026", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` can't be set on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], - "coveredBy": [ - "105", - "106", - "107" + "killedBy": [ + "529" ], - "location": { - "end": { - "column": 101, - "line": 284 - }, - "start": { - "column": 50, - "line": 284 - } - } - }, - { - "id": "1805", - "mutatorName": "OptionalChaining", - "replacement": "lastTieInVotesRecord.play", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(282,50): error TS18047: 'lastTieInVotesRecord' is possibly 'null'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "105", - "106", - "107" + "128", + "129", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 76, - "line": 284 + "column": 94, + "line": 339 }, - "start": { - "column": 50, - "line": 284 + "start": { + "column": 9, + "line": 339 } } }, { - "id": "1806", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(283,70): error TS2349: This expression is not callable.\n Each member of the union type '{ (predicate: (value: Player, index: number, obj: Player[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: Player, index: number, obj: Player[]) => unknown, thisArg?: any): Player | undefined; } | { ...; }' has signatures, but none of those signatures are compatible with each other.\n", - "status": "CompileError", + "id": "2027", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1709:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "129" + ], "coveredBy": [ - "105" + "128", + "129", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 107, - "line": 284 + "column": 94, + "line": 339 }, "start": { - "column": 105, - "line": 284 + "column": 9, + "line": 339 } } }, { - "id": "1807", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2028", + "mutatorName": "LogicalOperator", + "replacement": "chosenSide !== undefined || game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_SIDE", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` can't be set on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "529" + ], "coveredBy": [ - "105", - "106", - "107" + "128", + "129", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 139, - "line": 285 + "column": 94, + "line": 339 }, "start": { "column": 9, - "line": 285 + "line": 339 } } }, { - "id": "1808", + "id": "2029", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1717:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "105" + "130" ], "coveredBy": [ - "105", - "106", - "107" + "128", + "129", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 139, - "line": 285 + "column": 33, + "line": 339 }, "start": { "column": 9, - "line": 285 + "line": 339 } } }, { - "id": "1809", - "mutatorName": "MethodExpression", - "replacement": "playVotes.every(vote => !lastTieInVotesRecordNominatedPlayers.find(player => vote.target._id.toString() === player._id.toString()))", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1463:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2030", + "mutatorName": "EqualityOperator", + "replacement": "chosenSide === undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` can't be set on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "106" + "529" ], "coveredBy": [ - "105", - "106", - "107" + "128", + "129", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 139, - "line": 285 + "column": 33, + "line": 339 }, "start": { "column": 9, - "line": 285 + "line": 339 } } }, { - "id": "1810", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2031", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1724:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "105" + "131" ], "coveredBy": [ - "105", - "106", - "107" + "129", + "131" ], "location": { "end": { - "column": 138, - "line": 285 + "column": 94, + "line": 339 }, "start": { - "column": 24, - "line": 285 + "column": 37, + "line": 339 } } }, { - "id": "1811", - "mutatorName": "BooleanLiteral", - "replacement": "lastTieInVotesRecordNominatedPlayers.find(player => vote.target._id.toString() === player._id.toString())", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2032", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_SIDE", + "status": "Timeout", "static": false, - "killedBy": [ - "105" - ], + "killedBy": [], "coveredBy": [ - "105", - "106", - "107" + "129", + "131" ], "location": { "end": { - "column": 138, - "line": 285 + "column": 94, + "line": 339 }, "start": { - "column": 32, - "line": 285 + "column": 37, + "line": 339 } } }, { - "id": "1812", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "2033", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1709:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "129" + ], "coveredBy": [ - "105", - "106", - "107" + "129" ], "location": { "end": { - "column": 137, - "line": 285 + "column": 6, + "line": 341 }, "start": { - "column": 75, - "line": 285 + "column": 96, + "line": 339 } } }, { - "id": "1813", + "id": "2034", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1463:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "106" + "529" ], "coveredBy": [ - "106", - "107" + "128", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 137, - "line": 285 + "column": 94, + "line": 342 }, "start": { - "column": 85, - "line": 285 + "column": 9, + "line": 342 } } }, { - "id": "1814", + "id": "2035", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1479:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1701:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "107" + "128" ], "coveredBy": [ - "106", - "107" + "128", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 137, - "line": 285 + "column": 94, + "line": 342 }, "start": { - "column": 85, - "line": 285 + "column": 9, + "line": 342 } } }, { - "id": "1815", - "mutatorName": "EqualityOperator", - "replacement": "vote.target._id.toString() !== player._id.toString()", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1463:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2036", + "mutatorName": "LogicalOperator", + "replacement": "chosenSide === undefined || game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_SIDE", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "106" + "529" ], "coveredBy": [ - "106", - "107" + "128", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 137, - "line": 285 + "column": 94, + "line": 342 }, "start": { - "column": 85, - "line": 285 + "column": 9, + "line": 342 } } }, { - "id": "1816", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1446:140)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2037", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1724:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "105" + "131" ], "coveredBy": [ - "105", - "106" + "128", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 6, - "line": 287 + "column": 33, + "line": 342 }, "start": { - "column": 141, - "line": 285 + "column": 9, + "line": 342 } } }, { - "id": "1817", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2038", + "mutatorName": "EqualityOperator", + "replacement": "chosenSide !== undefined", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1701:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 6, "static": false, "killedBy": [ - "108" + "128" ], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "128", + "130", + "131", + "529", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 300 + "column": 33, + "line": 342 }, "start": { - "column": 129, - "line": 290 + "column": 9, + "line": 342 } } }, { - "id": "1818", + "id": "2039", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"One target can't be voted because he's dead\"\nReceived: \"One source is not able to vote because he's dead or doesn't have the ability to do so\"\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1539:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "110" + "529" ], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "128", + "130", + "529", + "530", + "531" ], "location": { "end": { - "column": 145, - "line": 291 + "column": 94, + "line": 342 }, "start": { - "column": 9, - "line": 291 + "column": 37, + "line": 342 } } }, { - "id": "1819", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2040", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_SIDE", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "108" + "529" ], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "128", + "130", + "529", + "530", + "531" ], "location": { "end": { - "column": 145, - "line": 291 + "column": 94, + "line": 342 }, "start": { - "column": 9, - "line": 291 + "column": 37, + "line": 342 } } }, { - "id": "1820", - "mutatorName": "MethodExpression", - "replacement": "playVotes.every(({\n source\n}) => !source.isAlive || doesPlayerHaveActiveAttributeWithName(source, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game))", + "id": "2041", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "128" ], "location": { "end": { - "column": 145, - "line": 291 + "column": 6, + "line": 344 }, "start": { - "column": 9, - "line": 291 + "column": 96, + "line": 342 } } }, { - "id": "1821", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2042", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1750:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 9, "static": false, "killedBy": [ - "108" + "133" ], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "132", + "133", + "134", + "135", + "136", + "137", + "529", + "530", + "531" ], "location": { "end": { - "column": 144, - "line": 291 + "column": 4, + "line": 359 }, "start": { - "column": 24, - "line": 291 + "column": 167, + "line": 347 } } }, { - "id": "1822", + "id": "2043", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(355,61): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "132", + "133", + "134", + "135", + "136", + "137", + "529", + "530", + "531" ], "location": { "end": { - "column": 144, - "line": 291 + "column": 50, + "line": 348 }, "start": { - "column": 40, - "line": 291 + "column": 9, + "line": 348 } } }, { - "id": "1823", + "id": "2044", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1733:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 9, "static": false, "killedBy": [ - "108" + "132" ], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "132", + "133", + "134", + "135", + "136", + "137", + "529", + "530", + "531" ], "location": { "end": { - "column": 144, - "line": 291 + "column": 50, + "line": 348 }, "start": { - "column": 40, - "line": 291 + "column": 9, + "line": 348 } } }, { - "id": "1824", - "mutatorName": "LogicalOperator", - "replacement": "!source.isAlive && doesPlayerHaveActiveAttributeWithName(source, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game)", - "status": "Timeout", + "id": "2045", + "mutatorName": "EqualityOperator", + "replacement": "doesJudgeRequestAnotherVote !== undefined", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1733:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], - "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "killedBy": [ + "132" ], - "location": { - "end": { - "column": 144, - "line": 291 - }, - "start": { - "column": 40, - "line": 291 - } - } - }, - { - "id": "1825", - "mutatorName": "BooleanLiteral", - "replacement": "source.isAlive", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "108", - "109", - "110", - "111", - "572" + "132", + "133", + "134", + "135", + "136", + "137", + "529", + "530", + "531" ], "location": { "end": { - "column": 55, - "line": 291 + "column": 50, + "line": 348 }, "start": { - "column": 40, - "line": 291 + "column": 9, + "line": 348 } } }, { - "id": "1826", + "id": "2046", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1503:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1733:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "108" + "132" ], "coveredBy": [ - "108", - "109" + "132", + "529", + "530", + "531" ], "location": { "end": { "column": 6, - "line": 293 + "line": 350 }, "start": { - "column": 147, - "line": 291 + "column": 52, + "line": 348 } } }, { - "id": "1827", + "id": "2047", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 3, + "status": "Timeout", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "110", - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 56, - "line": 294 + "column": 67, + "line": 356 }, "start": { "column": 9, - "line": 294 + "line": 354 } } }, { - "id": "1828", + "id": "2048", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1538:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1750:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "110" + "133" ], "coveredBy": [ - "110", - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 56, - "line": 294 + "column": 67, + "line": 356 }, "start": { "column": 9, - "line": 294 + "line": 354 } } }, { - "id": "1829", - "mutatorName": "MethodExpression", - "replacement": "playVotes.every(({\n target\n}) => !target.isAlive)", - "status": "Timeout", + "id": "2049", + "mutatorName": "LogicalOperator", + "replacement": "(!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) || !stutteringJudgePlayer || !isPlayerAliveAndPowerful(stutteringJudgePlayer, game)) && gameHistoryJudgeRequestRecords.length >= voteRequestsCount", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"`doesJudgeRequestAnotherVote` can't be set on this current game's state\"\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1751:43)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "133" + ], "coveredBy": [ - "110", - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 56, - "line": 294 + "column": 67, + "line": 356 }, "start": { "column": 9, - "line": 294 + "line": 354 } } }, { - "id": "1830", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: thrown: \"Exceeded timeout of 5000 ms for a test.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:671:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:560:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:42:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2050", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"`doesJudgeRequestAnotherVote` can't be set on this current game's state\"\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1751:43)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "572" + "133" ], "coveredBy": [ - "110", - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 55, - "line": 294 + "column": 89, + "line": 355 }, "start": { - "column": 24, - "line": 294 + "column": 9, + "line": 354 } } }, { - "id": "1831", - "mutatorName": "BooleanLiteral", - "replacement": "target.isAlive", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"One vote has the same source and target\"\nReceived: \"One target can't be voted because he's dead\"\n\nNumber of calls: 1\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1556:43)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2051", + "mutatorName": "LogicalOperator", + "replacement": "(!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) || !stutteringJudgePlayer) && !isPlayerAliveAndPowerful(stutteringJudgePlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(343,142): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "111" - ], + "killedBy": [], "coveredBy": [ - "110", - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 55, - "line": 294 + "column": 89, + "line": 355 }, "start": { - "column": 40, - "line": 294 + "column": 9, + "line": 354 } } }, { - "id": "1832", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1538:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "2052", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(341,44): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "110" - ], + "killedBy": [], "coveredBy": [ - "110" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 6, - "line": 296 + "column": 31, + "line": 355 }, "start": { - "column": 58, - "line": 294 + "column": 9, + "line": 354 } } }, { - "id": "1833", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, + "id": "2053", + "mutatorName": "LogicalOperator", + "replacement": "!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) && !stutteringJudgePlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(341,140): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 74, - "line": 297 + "column": 31, + "line": 355 }, "start": { "column": 9, - "line": 297 + "line": 354 } } }, { - "id": "1834", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2054", + "mutatorName": "BooleanLiteral", + "replacement": "stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action)", + "status": "Timeout", "static": false, - "killedBy": [ - "111" - ], + "killedBy": [], "coveredBy": [ - "111", - "572" + "133", + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 74, - "line": 297 + "column": 84, + "line": 354 }, "start": { "column": 9, - "line": 297 + "line": 354 } } }, { - "id": "1835", - "mutatorName": "MethodExpression", - "replacement": "playVotes.every(({\n source,\n target\n}) => source._id === target._id)", - "status": "Timeout", + "id": "2055", + "mutatorName": "BooleanLiteral", + "replacement": "stutteringJudgePlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(342,60): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "111", - "572" + "134", + "135", + "136", + "137" ], "location": { "end": { - "column": 74, - "line": 297 + "column": 31, + "line": 355 }, "start": { "column": 9, - "line": 297 + "line": 355 } } }, { - "id": "1836", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2056", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerAliveAndPowerful(stutteringJudgePlayer, game)", + "status": "Timeout", "static": false, - "killedBy": [ - "111" - ], + "killedBy": [], "coveredBy": [ - "111", - "572" + "135", + "136", + "137" ], "location": { "end": { - "column": 73, - "line": 297 + "column": 89, + "line": 355 }, "start": { - "column": 24, - "line": 297 + "column": 35, + "line": 355 } } }, { - "id": "1837", + "id": "2057", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "false", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1787:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "572" + "136" ], "coveredBy": [ - "111", - "572" + "136", + "137" ], "location": { "end": { - "column": 73, - "line": 297 + "column": 67, + "line": 356 }, "start": { - "column": 48, - "line": 297 + "column": 9, + "line": 356 } } }, { - "id": "1838", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2058", + "mutatorName": "EqualityOperator", + "replacement": "gameHistoryJudgeRequestRecords.length > voteRequestsCount", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1787:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "111" + "136" ], "coveredBy": [ - "111", - "572" + "136", + "137" ], "location": { "end": { - "column": 73, - "line": 297 + "column": 67, + "line": 356 }, "start": { - "column": 48, - "line": 297 + "column": 9, + "line": 356 } } }, { - "id": "1839", + "id": "2059", "mutatorName": "EqualityOperator", - "replacement": "source._id !== target._id", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "gameHistoryJudgeRequestRecords.length < voteRequestsCount", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1787:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "572" + "136" ], "coveredBy": [ - "111", - "572" + "136", + "137" ], "location": { "end": { - "column": 73, - "line": 297 + "column": 67, + "line": 356 }, "start": { - "column": 48, - "line": 297 + "column": 9, + "line": 356 } } }, { - "id": "1840", + "id": "2060", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1555:145)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1740:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 4, "static": false, "killedBy": [ - "111" + "133" ], "coveredBy": [ - "111" + "133", + "134", + "135", + "136" ], "location": { "end": { "column": 6, - "line": 299 + "line": 358 }, "start": { - "column": 76, - "line": 297 + "column": 69, + "line": 356 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { BAD_GAME_PLAY_PAYLOAD_REASONS } from \"../../../../../shared/exception/enums/bad-game-play-payload-error.enum\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { BadGamePlayPayloadException } from \"../../../../../shared/exception/types/bad-game-play-payload-exception.type\";\nimport { werewolvesRoles } from \"../../../../role/constants/role.constant\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { optionalTargetsActions, requiredTargetsActions, requiredVotesActions, stutteringJudgeRequestOpportunityActions } from \"../../../constants/game-play/game-play.constant\";\nimport type { MakeGamePlayTargetWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { getLeftToCharmByPiedPiperPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getPlayerWithCurrentRole } from \"../../../helpers/game.helper\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { isPlayerAliveAndPowerful } from \"../../../helpers/player/player.helper\";\nimport type { GameAdditionalCard } from \"../../../schemas/game-additional-card/game-additional-card.schema\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { GameWithCurrentPlay } from \"../../../types/game-with-current-play\";\nimport type { GameSource } from \"../../../types/game.type\";\nimport { GameHistoryRecordService } from \"../game-history/game-history-record.service\";\n\n@Injectable()\nexport class GamePlayValidatorService {\n public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {}\n\n public async validateGamePlayWithRelationsDto(play: MakeGamePlayWithRelationsDto, game: Game): Promise {\n if (!game.currentPlay) {\n throw createNoCurrentGamePlayUnexpectedException(\"validateGamePlayWithRelationsDto\", { gameId: game._id });\n }\n const clonedGameWithCurrentPlay = createGame(game) as GameWithCurrentPlay;\n const { votes, targets } = play;\n await this.validateGamePlayWithRelationsDtoJudgeRequest(play, clonedGameWithCurrentPlay);\n this.validateGamePlayWithRelationsDtoChosenSide(play, clonedGameWithCurrentPlay);\n await this.validateGamePlayVotesWithRelationsDto(votes, clonedGameWithCurrentPlay);\n await this.validateGamePlayTargetsWithRelationsDto(targets, clonedGameWithCurrentPlay);\n this.validateGamePlayWithRelationsDtoChosenCard(play, clonedGameWithCurrentPlay);\n }\n\n private validateGamePlayThiefChosenCard(chosenCard: GameAdditionalCard | undefined, game: GameWithCurrentPlay): void {\n const { mustChooseBetweenWerewolves } = game.options.roles.thief;\n if (!game.additionalCards || !mustChooseBetweenWerewolves) {\n return;\n }\n const areAllAdditionalCardsWerewolves = game.additionalCards.every(({ roleName }) => werewolvesRoles.find(role => role.name === roleName));\n if (areAllAdditionalCardsWerewolves && !chosenCard) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.THIEF_MUST_CHOOSE_CARD);\n }\n }\n\n private validateGamePlayWithRelationsDtoChosenCard({ chosenCard }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): void {\n if (game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_CARD) {\n if (chosenCard) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_CHOSEN_CARD);\n }\n return;\n }\n this.validateGamePlayThiefChosenCard(chosenCard, game);\n }\n\n private validateDrankLifePotionTargets(drankLifePotionTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n if (drankLifePotionTargets.length > 1) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_MUCH_DRANK_LIFE_POTION_TARGETS);\n }\n if (drankLifePotionTargets.length &&\n (!doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) || !drankLifePotionTargets[0].player.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_LIFE_POTION_TARGET);\n }\n }\n\n private validateDrankDeathPotionTargets(drankDeathPotionTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n if (drankDeathPotionTargets.length > 1) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_MUCH_DRANK_DEATH_POTION_TARGETS);\n }\n if (drankDeathPotionTargets.length && !drankDeathPotionTargets[0].player.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_DEATH_POTION_TARGET);\n }\n }\n\n private async validateGamePlayWitchTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): Promise {\n const hasWitchUsedLifePotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length > 0;\n const drankLifePotionTargets = playTargets.filter(({ drankPotion }) => drankPotion === WITCH_POTIONS.LIFE);\n const hasWitchUsedDeathPotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length > 0;\n const drankDeathPotionTargets = playTargets.filter(({ drankPotion }) => drankPotion === WITCH_POTIONS.DEATH);\n if (hasWitchUsedLifePotion && drankLifePotionTargets.length || hasWitchUsedDeathPotion && drankDeathPotionTargets.length) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_DRANK_POTION_TARGET);\n }\n this.validateDrankLifePotionTargets(drankLifePotionTargets, game);\n this.validateDrankDeathPotionTargets(drankDeathPotionTargets);\n }\n\n private async validateGamePlayInfectedTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): Promise {\n const infectedTargets = playTargets.filter(({ isInfected }) => isInfected === true);\n if (!infectedTargets.length) {\n return;\n }\n const hasVileFatherOfWolvesInfected = (await this.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords(game._id)).length > 0;\n const vileFatherOfWolvesPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.VILE_FATHER_OF_WOLVES);\n if (!vileFatherOfWolvesPlayer || !isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game) || hasVileFatherOfWolvesInfected) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_INFECTED_TARGET);\n }\n this.validateGamePlayTargetsBoundaries(infectedTargets, { min: 1, max: 1 });\n }\n \n private validateWerewolvesTargetsBoundaries(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): void {\n const leftToEatByWerewolvesPlayers = getLeftToEatByWerewolvesPlayers(game);\n const leftToEatByWhiteWerewolfPlayers = getLeftToEatByWhiteWerewolfPlayers(game);\n const bigBadWolfExpectedTargetsCount = leftToEatByWerewolvesPlayers.length ? 1 : 0;\n const whiteWerewolfMaxTargetsCount = leftToEatByWhiteWerewolfPlayers.length ? 1 : 0;\n const werewolvesSourceTargetsBoundaries: Partial> = {\n [PLAYER_GROUPS.WEREWOLVES]: { min: 1, max: 1 },\n [ROLE_NAMES.BIG_BAD_WOLF]: { min: bigBadWolfExpectedTargetsCount, max: bigBadWolfExpectedTargetsCount },\n [ROLE_NAMES.WHITE_WEREWOLF]: { min: 0, max: whiteWerewolfMaxTargetsCount },\n };\n const targetsBoundaries = werewolvesSourceTargetsBoundaries[game.currentPlay.source.name];\n if (!targetsBoundaries) {\n return;\n }\n this.validateGamePlayTargetsBoundaries(playTargets, targetsBoundaries);\n }\n\n private async validateGamePlayWerewolvesTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n this.validateWerewolvesTargetsBoundaries(playTargets, game);\n if (!playTargets.length) {\n return;\n }\n const targetedPlayer = playTargets[0].player;\n const pureWolvesAvailableTargets = getLeftToEatByWerewolvesPlayers(game);\n const isTargetedPlayerInPureWolvesTargets = !!pureWolvesAvailableTargets.find(({ _id }) => _id.toString() === targetedPlayer._id.toString());\n if (game.currentPlay.source.name === PLAYER_GROUPS.WEREWOLVES && !isTargetedPlayerInPureWolvesTargets) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_WEREWOLVES_TARGET);\n }\n if (game.currentPlay.source.name === ROLE_NAMES.BIG_BAD_WOLF && !isTargetedPlayerInPureWolvesTargets) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_BIG_BAD_WOLF_TARGET);\n }\n const whiteWerewolfAvailableTargets = getLeftToEatByWhiteWerewolfPlayers(game);\n const isTargetedPlayerInWhiteWerewolfTargets = !!whiteWerewolfAvailableTargets.find(({ _id }) => _id.toString() === targetedPlayer._id.toString());\n if (game.currentPlay.source.name === ROLE_NAMES.WHITE_WEREWOLF && !isTargetedPlayerInWhiteWerewolfTargets) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_WHITE_WEREWOLF_TARGET);\n }\n await this.validateGamePlayInfectedTargets(playTargets, game);\n }\n\n private validateGamePlayHunterTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_HUNTER_TARGET);\n }\n }\n\n private validateGamePlayScapegoatTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 0, max: game.players.length });\n if (playTargets.some(({ player }) => !player.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SCAPEGOAT_TARGETS);\n }\n }\n\n private validateGamePlayCupidTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 2, max: 2 });\n if (playTargets.some(({ player }) => !player.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_CUPID_TARGETS);\n }\n }\n\n private validateGamePlayFoxTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 0, max: 1 });\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_FOX_TARGET);\n }\n }\n\n private validateGamePlaySeerTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const seerPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.SEER);\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive || targetedPlayer._id === seerPlayer?._id) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SEER_TARGET);\n }\n }\n\n private validateGamePlayRavenTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 0, max: 1 });\n if (playTargets.length && !playTargets[0].player.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_RAVEN_TARGET);\n }\n }\n\n private validateGamePlayWildChildTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const wildChildPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WILD_CHILD);\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive || targetedPlayer._id === wildChildPlayer?._id) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_WILD_CHILD_TARGET);\n }\n }\n\n private validateGamePlayPiedPiperTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n const { charmedPeopleCountPerNight } = game.options.roles.piedPiper;\n const leftToCharmByPiedPiperPlayers = getLeftToCharmByPiedPiperPlayers(game);\n const leftToCharmByPiedPiperPlayersCount = leftToCharmByPiedPiperPlayers.length;\n const countToCharm = Math.min(charmedPeopleCountPerNight, leftToCharmByPiedPiperPlayersCount);\n this.validateGamePlayTargetsBoundaries(playTargets, { min: countToCharm, max: countToCharm });\n if (playTargets.some(({ player }) => !leftToCharmByPiedPiperPlayers.find(({ _id }) => player._id === _id))) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_PIED_PIPER_TARGETS);\n }\n }\n\n private async validateGamePlayGuardTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): Promise {\n const { canProtectTwice } = game.options.roles.guard;\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const lastGuardHistoryRecord = await this.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord(game._id);\n const lastProtectedPlayer = lastGuardHistoryRecord?.play.targets?.[0].player;\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive || !canProtectTwice && lastProtectedPlayer?._id === targetedPlayer._id) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_GUARD_TARGET);\n }\n }\n\n private async validateGamePlaySheriffTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const targetedPlayer = playTargets[0].player;\n if (game.currentPlay.action === GAME_PLAY_ACTIONS.DELEGATE && !targetedPlayer.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SHERIFF_DELEGATE_TARGET);\n }\n const lastTieInVotesRecord = await this.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord(game._id, game.currentPlay.action);\n const lastTieInVotesRecordNominatedPlayers = lastTieInVotesRecord?.play.voting?.nominatedPlayers ?? [];\n const isSheriffTargetInLastNominatedPlayers = lastTieInVotesRecordNominatedPlayers.find(({ _id }) => _id === targetedPlayer._id);\n if (game.currentPlay.action === GAME_PLAY_ACTIONS.SETTLE_VOTES && !isSheriffTargetInLastNominatedPlayers) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SHERIFF_SETTLE_VOTES_TARGET);\n }\n }\n\n private validateGamePlayTargetsBoundaries(playTargets: MakeGamePlayTargetWithRelationsDto[], lengthBoundaries: { min: number; max: number }): void {\n if (playTargets.length < lengthBoundaries.min) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_LESS_TARGETS);\n }\n if (playTargets.length > lengthBoundaries.max) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_MUCH_TARGETS);\n }\n }\n\n private async validateGamePlaySourceTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n const gamePlaySourceValidationMethods: Partial Promise | void>> = {\n [PLAYER_ATTRIBUTE_NAMES.SHERIFF]: async() => this.validateGamePlaySheriffTargets(playTargets, game),\n [PLAYER_GROUPS.WEREWOLVES]: async() => this.validateGamePlayWerewolvesTargets(playTargets, game),\n [ROLE_NAMES.BIG_BAD_WOLF]: async() => this.validateGamePlayWerewolvesTargets(playTargets, game),\n [ROLE_NAMES.WHITE_WEREWOLF]: async() => this.validateGamePlayWerewolvesTargets(playTargets, game),\n [ROLE_NAMES.GUARD]: async() => this.validateGamePlayGuardTargets(playTargets, game),\n [ROLE_NAMES.PIED_PIPER]: () => this.validateGamePlayPiedPiperTargets(playTargets, game),\n [ROLE_NAMES.WILD_CHILD]: () => this.validateGamePlayWildChildTargets(playTargets, game),\n [ROLE_NAMES.RAVEN]: () => this.validateGamePlayRavenTargets(playTargets),\n [ROLE_NAMES.SEER]: () => this.validateGamePlaySeerTargets(playTargets, game),\n [ROLE_NAMES.FOX]: () => this.validateGamePlayFoxTargets(playTargets),\n [ROLE_NAMES.CUPID]: () => this.validateGamePlayCupidTargets(playTargets),\n [ROLE_NAMES.SCAPEGOAT]: () => this.validateGamePlayScapegoatTargets(playTargets, game),\n [ROLE_NAMES.HUNTER]: () => this.validateGamePlayHunterTargets(playTargets),\n [ROLE_NAMES.WITCH]: async() => this.validateGamePlayWitchTargets(playTargets, game),\n };\n const gamePlaySourceValidationMethod = gamePlaySourceValidationMethods[game.currentPlay.source.name];\n if (gamePlaySourceValidationMethod) {\n await gamePlaySourceValidationMethod();\n }\n }\n\n private validateInfectedTargetsAndPotionUsage(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): void {\n const { source: currentPlaySource, action: currentPlayAction } = game.currentPlay;\n const isSomeTargetInfected = playTargets.some(({ isInfected }) => isInfected);\n if (isSomeTargetInfected && (currentPlayAction !== GAME_PLAY_ACTIONS.EAT || currentPlaySource.name !== PLAYER_GROUPS.WEREWOLVES)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_INFECTED_TARGET);\n }\n const hasSomePlayerDrankPotion = playTargets.some(({ drankPotion }) => drankPotion);\n if (hasSomePlayerDrankPotion && (currentPlayAction !== GAME_PLAY_ACTIONS.USE_POTIONS || currentPlaySource.name !== ROLE_NAMES.WITCH)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_DRANK_POTION_TARGET);\n }\n }\n\n private async validateGamePlayTargetsWithRelationsDto(playTargets: MakeGamePlayTargetWithRelationsDto[] | undefined, game: GameWithCurrentPlay): Promise {\n if (playTargets === undefined || playTargets.length === 0) {\n if (requiredTargetsActions.includes(game.currentPlay.action)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_TARGETS);\n }\n return;\n }\n if (![...requiredTargetsActions, ...optionalTargetsActions].includes(game.currentPlay.action)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_TARGETS);\n }\n this.validateInfectedTargetsAndPotionUsage(playTargets, game);\n await this.validateGamePlaySourceTargets(playTargets, game);\n }\n\n private async validateGamePlayVotesTieBreakerWithRelationsDto(playVotes: MakeGamePlayVoteWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n const lastTieInVotesRecord = await this.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord(game._id, game.currentPlay.action);\n const lastTieInVotesRecordNominatedPlayers = lastTieInVotesRecord?.play.voting?.nominatedPlayers ?? [];\n if (playVotes.some(vote => !lastTieInVotesRecordNominatedPlayers.find(player => vote.target._id.toString() === player._id.toString()))) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_VOTE_TARGET_FOR_TIE_BREAKER);\n }\n }\n \n private validateGamePlayVotesWithRelationsDtoSourceAndTarget(playVotes: MakeGamePlayVoteWithRelationsDto[], game: Game): void {\n if (playVotes.some(({ source }) => !source.isAlive || doesPlayerHaveActiveAttributeWithName(source, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game))) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_VOTE_SOURCE);\n }\n if (playVotes.some(({ target }) => !target.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_VOTE_TARGET);\n }\n if (playVotes.some(({ source, target }) => source._id === target._id)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.SAME_SOURCE_AND_TARGET_VOTE);\n }\n }\n\n private validateUnsetGamePlayVotesWithRelationsDto(game: GameWithCurrentPlay): void {\n const { action: currentPlayAction, cause: currentPlayCause } = game.currentPlay;\n const { canBeSkipped: canVotesBeSkipped } = game.options.votes;\n const isCurrentPlayVoteCauseOfAngelPresence = currentPlayAction === GAME_PLAY_ACTIONS.VOTE && currentPlayCause === GAME_PLAY_CAUSES.ANGEL_PRESENCE;\n const isCurrentPlayVoteInevitable = currentPlayAction === GAME_PLAY_ACTIONS.ELECT_SHERIFF || isCurrentPlayVoteCauseOfAngelPresence;\n const canSomePlayerVote = game.players.some(player => player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game));\n if (canSomePlayerVote && (!canVotesBeSkipped && requiredVotesActions.includes(currentPlayAction) || canVotesBeSkipped && isCurrentPlayVoteInevitable)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_VOTES);\n }\n }\n \n private async validateGamePlayVotesWithRelationsDto(playVotes: MakeGamePlayVoteWithRelationsDto[] | undefined, game: GameWithCurrentPlay): Promise {\n if (!playVotes || playVotes.length === 0) {\n this.validateUnsetGamePlayVotesWithRelationsDto(game);\n return;\n }\n if (!requiredVotesActions.includes(game.currentPlay.action)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_VOTES);\n }\n this.validateGamePlayVotesWithRelationsDtoSourceAndTarget(playVotes, game);\n if (game.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n await this.validateGamePlayVotesTieBreakerWithRelationsDto(playVotes, game);\n }\n }\n\n private validateGamePlayWithRelationsDtoChosenSide({ chosenSide }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): void {\n if (chosenSide !== undefined && game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_SIDE) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_CHOSEN_SIDE);\n }\n if (chosenSide === undefined && game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_SIDE) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_CHOSEN_SIDE);\n }\n }\n\n private async validateGamePlayWithRelationsDtoJudgeRequest({ doesJudgeRequestAnotherVote }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n if (doesJudgeRequestAnotherVote === undefined) {\n return;\n }\n const { voteRequestsCount } = game.options.roles.stutteringJudge;\n const gameHistoryJudgeRequestRecords = await this.gameHistoryRecordService.getGameHistoryJudgeRequestRecords(game._id);\n const stutteringJudgePlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.STUTTERING_JUDGE);\n if (!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) ||\n !stutteringJudgePlayer || !isPlayerAliveAndPowerful(stutteringJudgePlayer, game) ||\n gameHistoryJudgeRequestRecords.length >= voteRequestsCount) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_STUTTERING_JUDGE_VOTE_REQUEST);\n }\n }\n}" + }, + "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "1841", + "id": "2061", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 8, + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(16,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { "column": 4, - "line": 311 + "line": 22 }, "start": { - "column": 87, - "line": 302 + "column": 110, + "line": 16 } } }, { - "id": "1842", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2062", + "mutatorName": "MethodExpression", + "replacement": "Math.min(...playerVoteCounts.map(playerVoteCount => playerVoteCount[1]))", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"f2f33273debceda832f03b8a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Khalil\", \"position\": 6639669326381056, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e4c6ed56b8eb9c33ea2a282e\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Hector\", \"position\": 6365455254028288, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"1d35fe4c9d52f0f4aaaffc96\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Royce\", \"position\": 1043470980481024, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "113" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { - "column": 151, - "line": 305 + "column": 94, + "line": 20 }, "start": { - "column": 51, - "line": 305 + "column": 22, + "line": 20 } } }, { - "id": "1843", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1628:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "2063", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(20,31): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "117" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { - "column": 151, - "line": 305 + "column": 92, + "line": 20 }, "start": { - "column": 51, - "line": 305 + "column": 55, + "line": 20 } } }, { - "id": "1844", - "mutatorName": "LogicalOperator", - "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.VOTE || currentPlayCause === GAME_PLAY_CAUSES.ANGEL_PRESENCE", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2064", + "mutatorName": "MethodExpression", + "replacement": "playerVoteCounts", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"9b669fcff738ccab08a0bbb0\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Neha\", \"position\": 7608341345861632, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"264fafd847ceadf13ce571de\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Lowell\", \"position\": 1724243830112256, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"9b669fcff738ccab08a0bbb0\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Neha\", \"position\": 7608341345861632, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7d65e00040a7f5fafdc93713\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Daron\", \"position\": 7031518446747648, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"264fafd847ceadf13ce571de\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Lowell\", \"position\": 1724243830112256, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "113" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { - "column": 151, - "line": 305 + "column": 87, + "line": 21 }, "start": { - "column": 51, - "line": 305 + "column": 12, + "line": 21 } } }, { - "id": "1845", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1587:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2065", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"b5500fbffbac1c6db76baaa7\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Clarabelle\", \"position\": 7978109682843648, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"bab01cbcffdd3dccf7a8b2ab\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Hilton\", \"position\": 2594125333397504, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "114" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { - "column": 95, - "line": 305 + "column": 86, + "line": 21 }, "start": { - "column": 51, - "line": 305 + "column": 36, + "line": 21 } } }, { - "id": "1846", - "mutatorName": "EqualityOperator", - "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.VOTE", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1587:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2066", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"36f9c7fca5ace30ac1001dbe\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Keon\", \"position\": 8304478713282560, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cef34ffc15324dadc1d326b3\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Angus\", \"position\": 3218463373918208, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"36f9c7fca5ace30ac1001dbe\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Keon\", \"position\": 8304478713282560, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"21c32c92c50dc6e24f6fdbac\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Franco\", \"position\": 3279747553427456, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"cef34ffc15324dadc1d326b3\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Angus\", \"position\": 3218463373918208, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 2, "static": false, "killedBy": [ - "114" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { - "column": 95, - "line": 305 + "column": 86, + "line": 21 }, "start": { - "column": 51, - "line": 305 + "column": 55, + "line": 21 } } }, { - "id": "1847", + "id": "2067", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"3db47ecb3997b619e6adbe5f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Shanelle\", \"position\": 7640516543905792, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"feb2caaa2d5c722ac23c5f76\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Lawson\", \"position\": 4539242940203008, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "113" + "714" ], "coveredBy": [ - "112", - "113", - "115", - "117", - "571" + "530", + "714" ], "location": { "end": { - "column": 151, - "line": 305 + "column": 86, + "line": 21 }, "start": { - "column": 99, - "line": 305 + "column": 55, + "line": 21 } } }, { - "id": "1848", + "id": "2068", "mutatorName": "EqualityOperator", - "replacement": "currentPlayCause !== GAME_PLAY_CAUSES.ANGEL_PRESENCE", + "replacement": "playerVoteCount[1] !== maxVotes", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "112", - "113", - "115", - "117", - "571" + "530", + "714" ], "location": { "end": { - "column": 151, - "line": 305 + "column": 86, + "line": 21 }, "start": { - "column": 99, - "line": 305 + "column": 55, + "line": 21 } } }, { - "id": "1849", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2069", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(21,5): error TS2322: Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714" ], "location": { "end": { - "column": 135, - "line": 306 + "column": 143, + "line": 21 }, "start": { - "column": 41, - "line": 306 + "column": 92, + "line": 21 } } }, { - "id": "1850", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2070", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(24,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 135, - "line": 306 + "column": 4, + "line": 38 }, "start": { - "column": 41, - "line": 306 + "column": 120, + "line": 24 } } }, { - "id": "1851", - "mutatorName": "LogicalOperator", - "replacement": "currentPlayAction === GAME_PLAY_ACTIONS.ELECT_SHERIFF && isCurrentPlayVoteCauseOfAngelPresence", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1614:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "2071", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,5): error TS2740: Type 'MakeGamePlayVoteWithRelationsDto' is missing the following properties from type 'PlayerVoteCount[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,44): error TS2345: Argument of type '(acc: PlayerVoteCount[], vote: MakeGamePlayVoteWithRelationsDto) => void' is not assignable to parameter of type '(previousValue: PlayerVoteCount[], currentValue: MakeGamePlayVoteWithRelationsDto, currentIndex: number, array: MakeGamePlayVoteWithRelationsDto[]) => PlayerVoteCount[]'.\n Type 'void' is not assignable to type 'PlayerVoteCount[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "116" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 135, - "line": 306 + "column": 6, + "line": 37 }, "start": { - "column": 41, - "line": 306 + "column": 59, + "line": 27 } } }, { - "id": "1852", + "id": "2072", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1614:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "116" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 94, - "line": 306 + "column": 95, + "line": 29 }, "start": { - "column": 41, - "line": 306 + "column": 35, + "line": 29 } } }, { - "id": "1853", - "mutatorName": "EqualityOperator", - "replacement": "currentPlayAction !== GAME_PLAY_ACTIONS.ELECT_SHERIFF", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2073", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"f543dffc1e9ada6e1becd4e3\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Fred\", \"position\": 2772846172438528, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"0ed50fe23dab4c8fb6dbefe4\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brandy\", \"position\": 7945444827070464, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"0ed50fe23dab4c8fb6dbefe4\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brandy\", \"position\": 7945444827070464, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 6, "static": false, "killedBy": [ - "113" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 94, - "line": 306 + "column": 95, + "line": 29 }, "start": { - "column": 41, - "line": 306 + "column": 35, + "line": 29 } } }, { - "id": "1854", - "mutatorName": "MethodExpression", - "replacement": "game.players.every(player => player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game))", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1610:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "2074", + "mutatorName": "EqualityOperator", + "replacement": "vote.source._id.toString() !== sheriffPlayer?._id.toString()", + "status": "Timeout", "static": false, - "killedBy": [ - "115" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 164, - "line": 307 + "column": 95, + "line": 29 }, "start": { - "column": 31, - "line": 307 + "column": 35, + "line": 29 } } }, { - "id": "1855", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1610:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "id": "2075", + "mutatorName": "OptionalChaining", + "replacement": "sheriffPlayer._id", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(29,66): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "115" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 163, - "line": 307 + "column": 84, + "line": 29 }, "start": { - "column": 49, - "line": 307 + "column": 66, + "line": 29 } } }, { - "id": "1856", + "id": "2076", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"d7822b7f9fdc6e9ce1bcb795\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Erika\", \"position\": 1979051245830144, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e4d4db6c0b15fdf1a9a805bc\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Elyssa\", \"position\": 7447141293228032, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"d7822b7f9fdc6e9ce1bcb795\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Erika\", \"position\": 1979051245830144, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"b75d58aba2840518eb9d2a34\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Dorris\", \"position\": 5902988566593536, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e4d4db6c0b15fdf1a9a805bc\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Elyssa\", \"position\": 7447141293228032, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "714" + ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 163, - "line": 307 + "column": 128, + "line": 30 }, "start": { - "column": 59, - "line": 307 + "column": 25, + "line": 30 } } }, { - "id": "1857", + "id": "2077", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1610:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "status": "Timeout", "static": false, - "killedBy": [ - "115" - ], + "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 163, - "line": 307 + "column": 128, + "line": 30 }, "start": { - "column": 59, - "line": 307 + "column": 25, + "line": 30 } } }, { - "id": "1858", + "id": "2078", "mutatorName": "LogicalOperator", - "replacement": "player.isAlive || !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game)", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1571:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.VOTE && isVoteSourceSheriff || doesSheriffHaveDoubledVote", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"0efefb1dcf685b2d21a2eedc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Axel\", \"position\": 5571201428619264, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ec198daeaedf7e338f1afdf6\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Dejon\", \"position\": 3330199621992448, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"0efefb1dcf685b2d21a2eedc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Axel\", \"position\": 5571201428619264, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"c82e2303a67abf4d1d5d1b93\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Garland\", \"position\": 6842135632412672, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ec198daeaedf7e338f1afdf6\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Dejon\", \"position\": 3330199621992448, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 6, "static": false, "killedBy": [ - "112" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 163, - "line": 307 + "column": 128, + "line": 30 }, "start": { - "column": 59, - "line": 307 + "column": 25, + "line": 30 } } }, { - "id": "1859", - "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game)", + "id": "2079", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 163, - "line": 307 + "column": 98, + "line": 30 }, "start": { - "column": 77, - "line": 307 + "column": 25, + "line": 30 } } }, { - "id": "1860", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "2080", + "mutatorName": "LogicalOperator", + "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.VOTE || isVoteSourceSheriff", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 154, - "line": 308 + "column": 98, + "line": 30 }, "start": { - "column": 9, - "line": 308 + "column": 25, + "line": 30 } } }, { - "id": "1861", + "id": "2081", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [[{\"_id\": \"4ca69b6be157d4e9c15da718\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Juliet\", \"position\": 5263810749267968, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 1], [{\"_id\": \"f6fcbb5ec49e54b4cc38cc9a\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Davin\", \"position\": 6448151347068928, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2]]\nReceived:\n [[{\"_id\": \"4ca69b6be157d4e9c15da718\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Juliet\", \"position\": 5263810749267968, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2], [{\"_id\": \"f6fcbb5ec49e54b4cc38cc9a\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Davin\", \"position\": 6448151347068928, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2]]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:114:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "717" + ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 154, - "line": 308 + "column": 75, + "line": 30 }, "start": { - "column": 9, - "line": 308 + "column": 25, + "line": 30 } } }, { - "id": "1862", - "mutatorName": "LogicalOperator", - "replacement": "canSomePlayerVote || !canVotesBeSkipped && requiredVotesActions.includes(currentPlayAction) || canVotesBeSkipped && isCurrentPlayVoteInevitable", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:753:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2082", + "mutatorName": "EqualityOperator", + "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"eefffec2ede17506d0aac5f1\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Keith\", \"position\": 7111340181159936, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"1e4b04e68dfad31c9687ceab\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Aaron\", \"position\": 3819765921480704, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"1e4b04e68dfad31c9687ceab\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Aaron\", \"position\": 3819765921480704, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 6, "static": false, "killedBy": [ - "573" + "714" ], "coveredBy": [ - "112", - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 154, - "line": 308 + "column": 75, + "line": 30 }, "start": { - "column": 9, - "line": 308 + "column": 25, + "line": 30 } } }, { - "id": "1863", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:753:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 7, + "id": "2083", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, - "killedBy": [ - "573" - ], + "killedBy": [], "coveredBy": [ - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 153, - "line": 308 + "column": 111, + "line": 31 }, "start": { - "column": 31, - "line": 308 + "column": 48, + "line": 31 } } }, { - "id": "1864", - "mutatorName": "LogicalOperator", - "replacement": "!canVotesBeSkipped && requiredVotesActions.includes(currentPlayAction) && canVotesBeSkipped && isCurrentPlayVoteInevitable", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 7, + "id": "2084", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 153, - "line": 308 + "column": 111, + "line": 31 }, "start": { - "column": 31, - "line": 308 + "column": 57, + "line": 31 } } }, { - "id": "1865", + "id": "2085", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [[{\"_id\": \"a3f113419e6765972d1f9d2d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Dawn\", \"position\": 1323594080583680, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2], [{\"_id\": \"7afed1cfa66add3be2ccce84\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Vidal\", \"position\": 6751680550928384, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 1]]\nReceived:\n [[{\"_id\": \"7afed1cfa66add3be2ccce84\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Vidal\", \"position\": 6751680550928384, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 1], [{\"_id\": \"a3f113419e6765972d1f9d2d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Dawn\", \"position\": 1323594080583680, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 1], [{\"_id\": \"a3f113419e6765972d1f9d2d\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Dawn\", \"position\": 1323594080583680, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 1]]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:70:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 6, "static": false, "killedBy": [ - "571" + "715" ], "coveredBy": [ - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 101, - "line": 308 + "column": 111, + "line": 31 }, "start": { - "column": 31, - "line": 308 + "column": 57, + "line": 31 } } }, { - "id": "1866", - "mutatorName": "LogicalOperator", - "replacement": "!canVotesBeSkipped || requiredVotesActions.includes(currentPlayAction)", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1574:104)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2086", + "mutatorName": "EqualityOperator", + "replacement": "value[0]._id.toString() !== vote.target._id.toString()", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 6, "static": false, "killedBy": [ - "113" + "530" ], "coveredBy": [ - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 101, - "line": 308 + "column": 111, + "line": 31 }, "start": { - "column": 31, - "line": 308 + "column": 57, + "line": 31 } } }, { - "id": "1867", - "mutatorName": "BooleanLiteral", - "replacement": "canVotesBeSkipped", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 7, + "id": "2087", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(33,9): error TS18048: 'existingPlayerVoteCount' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "113", - "114", - "115", - "116", - "117", - "571", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 49, - "line": 308 + "column": 34, + "line": 32 }, "start": { - "column": 31, - "line": 308 + "column": 11, + "line": 32 } } }, { - "id": "1868", + "id": "2088", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1614:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(33,9): error TS18048: 'existingPlayerVoteCount' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "116" - ], + "killedBy": [], "coveredBy": [ - "113", - "114", - "116", - "117", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 153, - "line": 308 + "column": 34, + "line": 32 }, "start": { - "column": 105, - "line": 308 + "column": 11, + "line": 32 } } }, { - "id": "1869", - "mutatorName": "LogicalOperator", - "replacement": "canVotesBeSkipped || isCurrentPlayVoteInevitable", + "id": "2089", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "113", - "114", - "116", - "117", - "573" + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 153, - "line": 308 + "column": 8, + "line": 35 }, "start": { - "column": 105, - "line": 308 + "column": 36, + "line": 32 } } }, { - "id": "1870", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:663:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 4, + "id": "2090", + "mutatorName": "AssignmentOperator", + "replacement": "existingPlayerVoteCount[1] -= voteValue", + "status": "Timeout", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "115", - "116", - "117", - "571" + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 6, - "line": 310 + "column": 48, + "line": 33 }, "start": { - "column": 156, - "line": 308 + "column": 9, + "line": 33 } } }, { - "id": "1871", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1672:94)", + "id": "2091", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"be1f6637f05e6d9de8ee4fbb\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"cd6ee1abecce1ddccd4e1c95\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Cheyenne\",\n- \"position\": 8553229069582336,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"065e1dc87c21ddaaeab53606\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Jordane\",\n \"position\": 7033323436113920,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"ab0e8b3e31d3facee4b3afe7\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Tanner\",\n- \"position\": 5619841373306880,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"101fabb20d1d8655fb163395\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Ronaldo\",\n- \"position\": 4956704538099712,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 7393393690804225,\n \"turn\": 2308601660047360,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 6, "static": false, "killedBy": [ - "119" + "530" ], "coveredBy": [ - "118", - "119", - "120", - "121", - "122", - "123", - "571", - "572", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 4, - "line": 325 + "column": 48, + "line": 36 }, "start": { - "column": 156, - "line": 313 + "column": 14, + "line": 36 } } }, { - "id": "1872", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(319,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(321,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2092", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,5): error TS2740: Type 'MakeGamePlayVoteWithRelationsDto' is missing the following properties from type 'PlayerVoteCount[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,44): error TS2345: Argument of type '(acc: PlayerVoteCount[], vote: MakeGamePlayVoteWithRelationsDto) => ([] | PlayerVoteCount)[]' is not assignable to parameter of type '(previousValue: PlayerVoteCount[], currentValue: MakeGamePlayVoteWithRelationsDto, currentIndex: number, array: MakeGamePlayVoteWithRelationsDto[]) => PlayerVoteCount[]'.\n Type '([] | PlayerVoteCount)[]' is not assignable to type 'PlayerVoteCount[]'.\n Type '[] | PlayerVoteCount' is not assignable to type 'PlayerVoteCount'.\n Type '[]' is not assignable to type '[Player, number]'.\n Source has 0 element(s) but target requires 2.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "118", - "119", - "120", - "121", - "122", - "123", - "571", - "572", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 45, - "line": 314 + "column": 47, + "line": 36 }, "start": { - "column": 9, - "line": 314 + "column": 23, + "line": 36 } } }, { - "id": "1873", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(319,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(321,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2093", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,5): error TS2740: Type 'MakeGamePlayVoteWithRelationsDto' is missing the following properties from type 'PlayerVoteCount[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(37,9): error TS2322: Type 'string' is not assignable to type 'PlayerVoteCount'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "118", - "119", - "120", - "121", - "122", - "123", - "571", - "572", - "573" + "530", + "714", + "715", + "716", + "717", + "718" ], "location": { "end": { - "column": 45, - "line": 314 + "column": 10, + "line": 37 }, "start": { - "column": 9, - "line": 314 + "column": 8, + "line": 37 } } }, { - "id": "1874", - "mutatorName": "LogicalOperator", - "replacement": "!playVotes && playVotes.length === 0", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(312,23): error TS18048: 'playVotes' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(319,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(321,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2094", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(40,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "118", - "119", - "120", - "121", - "122", - "123", - "571", - "572", - "573" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 45, - "line": 314 + "column": 4, + "line": 55 }, "start": { - "column": 9, - "line": 314 + "column": 129, + "line": 40 } } }, { - "id": "1875", - "mutatorName": "BooleanLiteral", - "replacement": "playVotes", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(312,22): error TS18048: 'playVotes' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(319,63): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(321,66): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2095", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(47,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(50,7): error TS18048: 'ravenMarkedPlayerVoteCount' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "118", - "119", - "120", - "121", - "122", - "123", - "571", - "572", - "573" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 19, - "line": 314 + "column": 88, + "line": 45 }, "start": { "column": 9, - "line": 314 + "line": 44 } } }, { - "id": "1876", + "id": "2096", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: thrown: BadGamePlayPayloadException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1665:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1633:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:33:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(47,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "120" + "killedBy": [], + "coveredBy": [ + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], + "location": { + "end": { + "column": 88, + "line": 45 + }, + "start": { + "column": 9, + "line": 44 + } + } + }, + { + "id": "2097", + "mutatorName": "LogicalOperator", + "replacement": "(clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE || ravenPlayer?.isAlive !== true || !isPlayerPowerful(ravenPlayer, clonedGame)) && ravenMarkedPlayer?.isAlive !== true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(47,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "120", - "121", - "122", - "123", - "572" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 45, - "line": 314 + "column": 88, + "line": 45 }, "start": { - "column": 23, - "line": 314 + "column": 9, + "line": 44 } } }, { - "id": "1877", - "mutatorName": "EqualityOperator", - "replacement": "playVotes.length !== 0", - "statusReason": "Error: thrown: BadGamePlayPayloadException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1665:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1633:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:33:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2098", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 28\n\n@@ -37,6 +37,34 @@\n \"original\": \"villagers\",\n },\n },\n 2,\n ],\n+ Array [\n+ Player {\n+ \"_id\": \"b5d82b6baa703fcca4ab2df3\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"raven-marked\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"raven\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Elise\",\n+ \"position\": 1590326305226752,\n+ \"role\": PlayerRole {\n+ \"current\": \"werewolf\",\n+ \"isRevealed\": false,\n+ \"original\": \"werewolf\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"werewolves\",\n+ \"original\": \"werewolves\",\n+ },\n+ },\n+ 2,\n+ ],\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:154:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 10, "static": false, "killedBy": [ - "120" + "719" ], "coveredBy": [ - "120", - "121", - "122", - "123", - "572" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 45, - "line": 314 + "column": 49, + "line": 45 }, "start": { - "column": 23, - "line": 314 + "column": 9, + "line": 44 } } }, { - "id": "1878", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(316,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(318,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2099", + "mutatorName": "LogicalOperator", + "replacement": "(clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE || ravenPlayer?.isAlive !== true) && !isPlayerPowerful(ravenPlayer, clonedGame)", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(44,122): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "118", - "119", - "120", - "571", - "573" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 6, - "line": 317 + "column": 49, + "line": 45 }, "start": { - "column": 47, - "line": 314 + "column": 9, + "line": 44 } } }, { - "id": "1879", - "mutatorName": "BooleanLiteral", - "replacement": "requiredVotesActions.includes(game.currentPlay.action)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 4, + "id": "2100", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" - ], + "killedBy": [], "coveredBy": [ - "121", - "122", - "123", - "572" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 64, - "line": 318 + "column": 98, + "line": 44 }, "start": { "column": 9, - "line": 318 + "line": 44 } } }, { - "id": "1880", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(319,63): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\nsrc/modules/game/providers/services/game-play/game-play-validator.service.ts(321,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2101", + "mutatorName": "LogicalOperator", + "replacement": "clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE && ravenPlayer?.isAlive !== true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "121", - "122", - "123", - "572" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 64, - "line": 318 + "column": 98, + "line": 44 }, "start": { "column": 9, - "line": 318 + "line": 44 } } }, { - "id": "1881", + "id": "2102", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "121", - "122", - "123", - "572" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 64, - "line": 318 + "column": 65, + "line": 44 }, "start": { "column": 9, - "line": 318 + "line": 44 } } }, { - "id": "1882", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1676:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2103", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.currentPlay.action === GAME_PLAY_ACTIONS.VOTE", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"67cd3abfdcade456ff22ae20\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rhett\", \"position\": 2911345259315200, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"de4b5b2eace8d1bfaf89743b\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Kailyn\", \"position\": 1556474989903872, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"67cd3abfdcade456ff22ae20\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rhett\", \"position\": 2911345259315200, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 10, "static": false, "killedBy": [ - "121" + "714" ], "coveredBy": [ - "121" + "530", + "714", + "719", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 6, - "line": 320 + "column": 65, + "line": 44 }, "start": { - "column": 66, - "line": 318 + "column": 9, + "line": 44 } } }, { - "id": "1883", + "id": "2104", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 3, + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "572" + "killedBy": [], + "coveredBy": [ + "530", + "714", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], + "location": { + "end": { + "column": 98, + "line": 44 + }, + "start": { + "column": 69, + "line": 44 + } + } + }, + { + "id": "2105", + "mutatorName": "EqualityOperator", + "replacement": "ravenPlayer?.isAlive === true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "122", - "123", - "572" + "530", + "714", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 80, - "line": 322 + "column": 98, + "line": 44 }, "start": { - "column": 9, - "line": 322 + "column": 69, + "line": 44 } } }, { - "id": "1884", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(321,66): error TS2345: Argument of type 'MakeGamePlayVoteWithRelationsDto[] | undefined' is not assignable to parameter of type 'MakeGamePlayVoteWithRelationsDto[]'.\n Type 'undefined' is not assignable to type 'MakeGamePlayVoteWithRelationsDto[]'.\n", + "id": "2106", + "mutatorName": "OptionalChaining", + "replacement": "ravenPlayer.isAlive", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(44,69): error TS18048: 'ravenPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "122", - "123", - "572" + "530", + "714", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 80, - "line": 322 + "column": 89, + "line": 44 }, "start": { - "column": 9, - "line": 322 + "column": 69, + "line": 44 } } }, { - "id": "1885", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.cause !== GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2107", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"d5fff2f472d5dfaa27df29e4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Javonte\", \"position\": 644449254244352, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"6b0bce9fffcbd77d20adb8de\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brigitte\", \"position\": 2831574053683200, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"d5fff2f472d5dfaa27df29e4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Javonte\", \"position\": 644449254244352, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 9, "static": false, "killedBy": [ - "572" + "714" ], "coveredBy": [ - "122", - "123", - "572" + "530", + "714", + "720", + "721", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 80, - "line": 322 + "column": 98, + "line": 44 }, "start": { - "column": 9, - "line": 322 + "column": 94, + "line": 44 } } }, { - "id": "1886", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1685:99)", + "id": "2108", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerPowerful(ravenPlayer, clonedGame)", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"b10e8fd9c16054b93de0bf82\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Heaven\", \"position\": 8922137989480448, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7e93ed38c0ca40feced3bcf0\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Sharon\", \"position\": 7272982661562368, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"b10e8fd9c16054b93de0bf82\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Heaven\", \"position\": 8922137989480448, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 6, "static": false, "killedBy": [ - "122" + "714" ], "coveredBy": [ - "122" + "714", + "722", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 6, - "line": 324 + "column": 49, + "line": 45 }, "start": { - "column": 82, - "line": 322 + "column": 7, + "line": 45 } } }, { - "id": "1887", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2109", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(48,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "124", - "125", - "126", - "127", - "571", - "572", - "573" + "714", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 4, - "line": 334 + "column": 88, + "line": 45 }, "start": { - "column": 133, - "line": 327 + "column": 53, + "line": 45 } } }, { - "id": "1888", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` can't be set on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 7, + "id": "2110", + "mutatorName": "EqualityOperator", + "replacement": "ravenMarkedPlayer?.isAlive === true", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(48,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "124", - "125", - "126", - "127", - "571", - "572", - "573" + "714", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 328 + "column": 88, + "line": 45 }, "start": { - "column": 9, - "line": 328 + "column": 53, + "line": 45 } } }, { - "id": "1889", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1709:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "id": "2111", + "mutatorName": "OptionalChaining", + "replacement": "ravenMarkedPlayer.isAlive", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,53): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(48,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "125" - ], + "killedBy": [], "coveredBy": [ - "124", - "125", - "126", - "127", - "571", - "572", - "573" + "714", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 328 + "column": 79, + "line": 45 }, "start": { - "column": 9, - "line": 328 + "column": 53, + "line": 45 } } }, { - "id": "1890", - "mutatorName": "LogicalOperator", - "replacement": "chosenSide !== undefined || game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_SIDE", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` can't be set on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 7, + "id": "2112", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "124", - "125", - "126", - "127", - "571", - "572", - "573" + "714", + "723", + "724", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 328 + "column": 88, + "line": 45 }, "start": { - "column": 9, - "line": 328 + "column": 84, + "line": 45 } } }, { - "id": "1891", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1717:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "id": "2113", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(46,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "126" - ], + "killedBy": [], "coveredBy": [ - "124", - "125", - "126", - "127", - "571", - "572", - "573" + "530", + "719", + "720", + "721", + "722", + "723", + "724" ], "location": { "end": { - "column": 33, - "line": 328 + "column": 6, + "line": 47 }, "start": { - "column": 9, - "line": 328 + "column": 90, + "line": 45 } } }, { - "id": "1892", - "mutatorName": "EqualityOperator", - "replacement": "chosenSide === undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` can't be set on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2114", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 29\n\n@@ -43,8 +43,36 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- 7,\n+ 2,\n+ ],\n+ Array [\n+ Player {\n+ \"_id\": \"f7ffae16ae4ba12e3c3fedb0\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"raven-marked\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"raven\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Maximo\",\n+ \"position\": 5607862998925312,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"raven\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ 5,\n ],\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:277:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 3, "static": false, "killedBy": [ - "571" + "726" ], "coveredBy": [ - "124", - "125", - "126", - "127", - "571", - "572", - "573" + "714", + "725", + "726" ], "location": { "end": { - "column": 33, - "line": 328 + "column": 151, + "line": 48 }, "start": { - "column": 9, - "line": 328 + "column": 62, + "line": 48 } } }, { - "id": "1893", + "id": "2115", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1724:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"adcbc7af529a27ee6df6ebba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Calista\", \"position\": 4886942439178240, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"87abacfbac5fa44d3d0c55a1\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brian\", \"position\": 3223544852905984, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"adcbc7af529a27ee6df6ebba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Calista\", \"position\": 4886942439178240, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "127" + "714" ], "coveredBy": [ - "125", - "127" + "714", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 328 + "column": 151, + "line": 48 }, "start": { - "column": 37, - "line": 328 + "column": 81, + "line": 48 } } }, { - "id": "1894", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_SIDE", - "status": "Timeout", + "id": "2116", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 29\n\n@@ -43,8 +43,36 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- 7,\n+ 2,\n+ ],\n+ Array [\n+ Player {\n+ \"_id\": \"8bd0e7bb63eebddd0c77d8a5\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"raven-marked\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"raven\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Willard\",\n+ \"position\": 8228429436551168,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"raven\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ 5,\n ],\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:277:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "726" + ], "coveredBy": [ - "125", - "127" + "714", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 328 + "column": 151, + "line": 48 }, "start": { - "column": 37, - "line": 328 + "column": 81, + "line": 48 } } }, { - "id": "1895", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1709:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "2117", + "mutatorName": "EqualityOperator", + "replacement": "playerVoteCount[0]._id.toString() !== ravenMarkedPlayer._id.toString()", + "status": "Timeout", "static": false, - "killedBy": [ - "125" - ], + "killedBy": [], "coveredBy": [ - "125" + "714", + "725", + "726" ], "location": { "end": { - "column": 6, - "line": 330 + "column": 151, + "line": 48 }, "start": { - "column": 96, - "line": 328 + "column": 81, + "line": 48 } } }, { - "id": "1896", + "id": "2118", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 6, + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,7): error TS18048: 'ravenMarkedPlayerVoteCount' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "124", - "126", - "127", - "571", - "572", - "573" + "714", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 331 + "column": 35, + "line": 50 }, "start": { "column": 9, - "line": 331 + "line": 50 } } }, { - "id": "1897", + "id": "2119", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1701:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,7): error TS18048: 'ravenMarkedPlayerVoteCount' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "124" - ], + "killedBy": [], "coveredBy": [ - "124", - "126", - "127", - "571", - "572", - "573" + "714", + "725", + "726" ], "location": { "end": { - "column": 94, - "line": 331 + "column": 35, + "line": 50 }, "start": { "column": 9, - "line": 331 + "line": 50 } } }, { - "id": "1898", - "mutatorName": "LogicalOperator", - "replacement": "chosenSide === undefined || game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_SIDE", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 6, + "id": "2120", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, - "killedBy": [ - "571" - ], + "killedBy": [], "coveredBy": [ - "124", - "126", - "127", - "571", - "572", - "573" + "726" ], "location": { "end": { - "column": 94, - "line": 331 + "column": 6, + "line": 53 }, "start": { - "column": 9, - "line": 331 + "column": 37, + "line": 50 } } }, { - "id": "1899", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).not.toThrow()\n\nError message: \"\"\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1724:134)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2121", + "mutatorName": "AssignmentOperator", + "replacement": "ravenMarkedPlayerVoteCount[1] -= markPenalty", + "status": "Timeout", "static": false, - "killedBy": [ - "127" - ], + "killedBy": [], "coveredBy": [ - "124", - "126", - "127", - "571", - "572", - "573" + "726" ], "location": { "end": { - "column": 33, - "line": 331 + "column": 51, + "line": 51 }, "start": { - "column": 9, - "line": 331 + "column": 7, + "line": 51 } } }, { - "id": "1900", - "mutatorName": "EqualityOperator", - "replacement": "chosenSide !== undefined", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected constructor: BadGamePlayPayloadException\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1701:130)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2122", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "status": "Timeout", "static": false, - "killedBy": [ - "124" - ], + "killedBy": [], "coveredBy": [ - "124", - "126", - "127", - "571", - "572", - "573" + "714", + "725" ], "location": { "end": { - "column": 33, - "line": 331 + "column": 67, + "line": 54 }, "start": { - "column": 9, - "line": 331 + "column": 12, + "line": 54 } } }, { - "id": "1901", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "id": "2123", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,13): error TS2322: Type 'PlayerVoteCount | []' is not assignable to type 'PlayerVoteCount'.\n Type '[]' is not assignable to type '[Player, number]'.\n Source has 0 element(s) but target requires 2.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,34): error TS2322: Type '[]' is not assignable to type 'PlayerVoteCount'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "571" + "killedBy": [], + "coveredBy": [ + "714", + "725" ], + "location": { + "end": { + "column": 66, + "line": 54 + }, + "start": { + "column": 34, + "line": 54 + } + } + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS } from \"../../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES } from \"../../../../enums/player.enum\";\nimport { createGame } from \"../../../../helpers/game.factory\";\nimport { getPlayerWithActiveAttributeName, getPlayerWithCurrentRole } from \"../../../../helpers/game.helper\";\nimport { createPlayer } from \"../../../../helpers/player/player.factory\";\nimport { isPlayerPowerful } from \"../../../../helpers/player/player.helper\";\nimport type { Player } from \"../../../../schemas/player/player.schema\";\nimport type { PlayerVoteCount } from \"../../../../types/game-play.type\";\nimport type { GameWithCurrentPlay } from \"../../../../types/game-with-current-play\";\n\n@Injectable()\nexport class GamePlayVoteService {\n public getNominatedPlayers(votes: MakeGamePlayVoteWithRelationsDto[], game: GameWithCurrentPlay): Player[] {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n let playerVoteCounts = this.getPlayerVoteCounts(votes, clonedGame);\n playerVoteCounts = this.addRavenMarkVoteToPlayerVoteCounts(playerVoteCounts, clonedGame);\n const maxVotes = Math.max(...playerVoteCounts.map(playerVoteCount => playerVoteCount[1]));\n return playerVoteCounts.filter(playerVoteCount => playerVoteCount[1] === maxVotes).map(playerVoteCount => createPlayer(playerVoteCount[0]));\n }\n \n private getPlayerVoteCounts(votes: MakeGamePlayVoteWithRelationsDto[], game: GameWithCurrentPlay): PlayerVoteCount[] {\n const { hasDoubledVote: doesSheriffHaveDoubledVote } = game.options.roles.sheriff;\n const sheriffPlayer = getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n return votes.reduce((acc, vote) => {\n const doubledVoteValue = 2;\n const isVoteSourceSheriff = vote.source._id.toString() === sheriffPlayer?._id.toString();\n const voteValue = game.currentPlay.action === GAME_PLAY_ACTIONS.VOTE && isVoteSourceSheriff && doesSheriffHaveDoubledVote ? doubledVoteValue : 1;\n const existingPlayerVoteCount = acc.find(value => value[0]._id.toString() === vote.target._id.toString());\n if (existingPlayerVoteCount) {\n existingPlayerVoteCount[1] += voteValue;\n return acc;\n }\n return [...acc, [vote.target, voteValue]];\n }, []);\n }\n \n private addRavenMarkVoteToPlayerVoteCounts(playerVoteCounts: PlayerVoteCount[], game: GameWithCurrentPlay): PlayerVoteCount[] {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const ravenPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.RAVEN);\n const ravenMarkedPlayer = getPlayerWithActiveAttributeName(clonedGame, PLAYER_ATTRIBUTE_NAMES.RAVEN_MARKED);\n if (clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE || ravenPlayer?.isAlive !== true ||\n !isPlayerPowerful(ravenPlayer, clonedGame) || ravenMarkedPlayer?.isAlive !== true) {\n return playerVoteCounts;\n }\n const ravenMarkedPlayerVoteCount = playerVoteCounts.find(playerVoteCount => playerVoteCount[0]._id.toString() === ravenMarkedPlayer._id.toString());\n const { markPenalty } = clonedGame.options.roles.raven;\n if (ravenMarkedPlayerVoteCount) {\n ravenMarkedPlayerVoteCount[1] += markPenalty;\n return playerVoteCounts;\n }\n return [...playerVoteCounts, [ravenMarkedPlayer, markPenalty]];\n }\n}" + }, + "src/modules/game/providers/services/game-play/game-play.service.ts": { + "language": "typescript", + "mutants": [ + { + "id": "2124", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(25,50): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "124", - "126", - "571", - "572", - "573" + "138", + "139", + "140", + "530", + "531" ], "location": { "end": { - "column": 94, - "line": 331 + "column": 4, + "line": 32 }, "start": { - "column": 37, - "line": 331 + "column": 64, + "line": 25 } } }, { - "id": "1902", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_SIDE", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n+ \"error\": \"`chosenSide` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2125", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 59\n+ Received + 4\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"c85c92fc0ccfd9e9f3ae0ce4\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"ba9dcbdd79fbd0ee9fd5bade\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Viviane\",\n- \"position\": 5792795419738112,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"ee75ccba6242e845485c6aca\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Marcia\",\n \"position\": 8927019807014912,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"2f99703f4ba6bb8ad806b0f4\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Troy\",\n- \"position\": 357319588184064,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"eae8f89bef7ea85c1358d452\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Alfredo\",\n- \"position\": 2732714075619328,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -147,11 +98,11 @@\n },\n \"votes\": Object {\n \"canBeSkipped\": false,\n },\n },\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"players\": Array [\n Object {\n \"_id\": \"ba9dcbdd79fbd0ee9fd5bade\",\n \"attributes\": Array [],\n \"isAlive\": true,\n@@ -216,18 +167,12 @@\n },\n },\n ],\n \"status\": \"playing\",\n \"tick\": 332908717932545,\n- \"turn\": 6170599913160704,\n+ \"turn\": 6170599913160705,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "571" + "530" ], "coveredBy": [ - "124", - "126", - "571", - "572", - "573" + "138", + "139", + "140", + "530", + "531" ], "location": { "end": { - "column": 94, - "line": 331 + "column": 95, + "line": 29 }, "start": { - "column": 37, - "line": 331 + "column": 33, + "line": 29 } } }, { - "id": "1903", + "id": "2126", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(34,45): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "124" + "141", + "142", + "530", + "531" ], "location": { "end": { - "column": 6, - "line": 333 + "column": 4, + "line": 44 }, "start": { - "column": 96, - "line": 331 + "column": 50, + "line": 34 } } }, { - "id": "1904", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1750:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2127", + "mutatorName": "BooleanLiteral", + "replacement": "clonedGame.upcomingPlays.length", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'source')\n at GamePlayService.proceedToNextGamePlay (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-play/game-play.service.ts:109:30)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:114:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 4, "static": false, "killedBy": [ - "129" + "141" ], "coveredBy": [ - "128", - "129", - "130", - "131", - "132", - "133", - "571", - "572", - "573" + "141", + "142", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 348 + "column": 41, + "line": 36 }, "start": { - "column": 167, - "line": 336 + "column": 9, + "line": 36 } } }, { - "id": "1905", + "id": "2128", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(342,61): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(41,5): error TS18047: 'clonedGame.currentPlay' is possibly 'null'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "128", - "129", - "130", - "131", - "132", - "133", - "571", - "572", - "573" + "141", + "142", + "530", + "531" ], "location": { "end": { - "column": 50, - "line": 337 + "column": 41, + "line": 36 }, "start": { "column": 9, - "line": 337 + "line": 36 } } }, { - "id": "1906", + "id": "2129", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1733:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'source')\n at GamePlayService.proceedToNextGamePlay (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-play/game-play.service.ts:109:30)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:114:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 4, "static": false, "killedBy": [ - "128" + "141" ], "coveredBy": [ - "128", - "129", - "130", - "131", - "132", - "133", - "571", - "572", - "573" + "141", + "142", + "530", + "531" ], "location": { "end": { - "column": 50, - "line": 337 + "column": 41, + "line": 36 }, "start": { "column": 9, - "line": 337 + "line": 36 } } }, { - "id": "1907", - "mutatorName": "EqualityOperator", - "replacement": "doesJudgeRequestAnotherVote !== undefined", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1733:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2130", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'source')\n at GamePlayService.proceedToNextGamePlay (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-play/game-play.service.ts:109:30)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:114:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 1, "static": false, "killedBy": [ - "128" + "141" ], "coveredBy": [ - "128", - "129", - "130", - "131", - "132", - "133", - "571", - "572", - "573" + "141" ], "location": { "end": { - "column": 50, - "line": 337 + "column": 6, + "line": 39 }, "start": { - "column": 9, - "line": 337 + "column": 43, + "line": 36 } } }, { - "id": "1908", + "id": "2131", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toResolve()\n\nExpected promise to resolve, however it rejected.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1733:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(46,33): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "128" - ], + "killedBy": [], "coveredBy": [ - "128", - "571", - "572", - "573" + "143" ], "location": { "end": { - "column": 6, - "line": 339 + "column": 4, + "line": 48 }, "start": { - "column": 52, - "line": 337 + "column": 44, + "line": 46 } } }, { - "id": "1909", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "2132", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "143" ], "location": { "end": { - "column": 67, - "line": 345 + "column": 37, + "line": 47 }, "start": { - "column": 9, - "line": 343 + "column": 12, + "line": 47 } } }, { - "id": "1910", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1750:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2133", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(50,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "129" - ], + "killedBy": [], "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 67, - "line": 345 + "column": 4, + "line": 61 }, "start": { - "column": 9, - "line": 343 + "column": 87, + "line": 50 } } }, { - "id": "1911", - "mutatorName": "LogicalOperator", - "replacement": "(!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) || !stutteringJudgePlayer || !isPlayerAliveAndPowerful(stutteringJudgePlayer, game)) && gameHistoryJudgeRequestRecords.length >= voteRequestsCount", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"`doesJudgeRequestAnotherVote` can't be set on this current game's state\"\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1751:43)", + "id": "2134", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 6, "static": false, "killedBy": [ - "129" + "146" ], "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 67, - "line": 345 + "column": 41, + "line": 51 }, "start": { - "column": 9, - "line": 343 + "column": 26, + "line": 51 } } }, { - "id": "1912", + "id": "2135", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"`doesJudgeRequestAnotherVote` can't be set on this current game's state\"\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1751:43)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61906ee0b9f60567c6afa\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61906ee0b9f60567c6afb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61906ee0b9f60567c6afc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61906ee0b9f60567c6afd\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61906ee0b9f60567c6afe\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61906ee0b9f60567c6aff\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,26 +281,14 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 6, "static": false, "killedBy": [ - "129" - ], - "coveredBy": [ - "129", - "130", - "131", - "132", - "133" - ], - "location": { - "end": { - "column": 89, - "line": 344 - }, - "start": { - "column": 9, - "line": 343 - } - } - }, - { - "id": "1913", - "mutatorName": "LogicalOperator", - "replacement": "(!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) || !stutteringJudgePlayer) && !isPlayerAliveAndPowerful(stutteringJudgePlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(343,142): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "517" ], - "location": { - "end": { - "column": 89, - "line": 344 - }, - "start": { - "column": 9, - "line": 343 - } - } - }, - { - "id": "1914", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(341,44): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 31, - "line": 344 + "column": 41, + "line": 51 }, "start": { - "column": 9, - "line": 343 + "column": 26, + "line": 51 } } }, { - "id": "1915", - "mutatorName": "LogicalOperator", - "replacement": "!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) && !stutteringJudgePlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(341,140): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2136", + "mutatorName": "EqualityOperator", + "replacement": "game.turn !== 1", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d7c6116eabe6e72e6c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d7c6116eabe6e72e6d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d7c6116eabe6e72e6e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d7c6116eabe6e72e6f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d7c6116eabe6e72e70\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d7c6116eabe6e72e71\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,26 +281,14 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 31, - "line": 344 + "column": 41, + "line": 51 }, "start": { - "column": 9, - "line": 343 + "column": 26, + "line": 51 } } }, { - "id": "1916", - "mutatorName": "BooleanLiteral", - "replacement": "stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action)", - "status": "Timeout", + "id": "2137", + "mutatorName": "MethodExpression", + "replacement": "gamePlaysNightOrder", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "146" + ], "coveredBy": [ - "129", - "130", - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 84, - "line": 343 + "column": 114, + "line": 52 }, "start": { - "column": 9, - "line": 343 + "column": 32, + "line": 52 } } }, { - "id": "1917", - "mutatorName": "BooleanLiteral", - "replacement": "stutteringJudgePlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play-validator.service.ts(342,60): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2138", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d979261e63c02af5db\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d979261e63c02af5dc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d979261e63c02af5dd\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d979261e63c02af5de\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d979261e63c02af5df\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392d979261e63c02af5e0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "130", - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 31, - "line": 344 + "column": 113, + "line": 52 }, "start": { - "column": 9, - "line": 344 + "column": 59, + "line": 52 } } }, { - "id": "1918", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerAliveAndPowerful(stutteringJudgePlayer, game)", - "status": "Timeout", + "id": "2139", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "131", - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 89, - "line": 344 + "column": 113, + "line": 52 }, "start": { - "column": 35, - "line": 344 + "column": 67, + "line": 52 } } }, { - "id": "1919", + "id": "2140", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1787:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "132" + "517" ], "coveredBy": [ - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 67, - "line": 345 + "column": 113, + "line": 52 }, "start": { - "column": 9, - "line": 345 + "column": 67, + "line": 52 } } }, { - "id": "1920", - "mutatorName": "EqualityOperator", - "replacement": "gameHistoryJudgeRequestRecords.length > voteRequestsCount", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1787:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2141", + "mutatorName": "LogicalOperator", + "replacement": "isFirstNight && play.isFirstNightOnly !== true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e0beb34b53b223269b\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e0beb34b53b223269c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e0beb34b53b223269d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e0beb34b53b223269e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e0beb34b53b223269f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e0beb34b53b22326a0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,26 +281,14 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "132" + "517" ], "coveredBy": [ - "132", - "133" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 67, - "line": 345 + "column": 113, + "line": 52 }, "start": { - "column": 9, - "line": 345 + "column": 67, + "line": 52 } } }, { - "id": "1921", - "mutatorName": "EqualityOperator", - "replacement": "gameHistoryJudgeRequestRecords.length < voteRequestsCount", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1787:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2142", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 1\n\n- Array [\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- ]\n+ Array []\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "132" + "146" ], "coveredBy": [ - "132", - "133" + "146", + "530", + "531" ], "location": { "end": { - "column": 67, - "line": 345 + "column": 113, + "line": 52 }, "start": { - "column": 9, - "line": 345 + "column": 83, + "line": 52 } } }, { - "id": "1922", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:1740:132)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2143", + "mutatorName": "EqualityOperator", + "replacement": "play.isFirstNightOnly === true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n Array [\n GamePlay {\n- \"action\": \"eat\",\n+ \"action\": \"charm\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n \"players\": undefined,\n },\n },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 1, "static": false, "killedBy": [ - "129" + "146" ], "coveredBy": [ - "129", - "130", - "131", - "132" + "146", + "530", + "531" ], "location": { "end": { - "column": 6, - "line": 347 + "column": 113, + "line": 52 }, "start": { - "column": 69, - "line": 345 + "column": 83, + "line": 52 } } }, { - "id": "1593", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:568:128)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2144", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", + "testsCompleted": 3, "static": false, - "testsCompleted": 9, "killedBy": [ - "35" + "146" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "44", - "45" + "146", + "530", + "531" ], "location": { "end": { - "column": 144, - "line": 118 + "column": 113, + "line": 52 }, "start": { - "column": 96, - "line": 118 + "column": 109, + "line": 52 } } }, { - "id": "1598", - "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.source.name === PLAYER_GROUPS.WEREWOLVES || !isTargetedPlayerInPureWolvesTargets", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Big bad wolf can't eat this target\"], but it was called with \"Werewolves can't eat this target\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5424583/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts:597:43)", + "id": "2145", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 89\n+ Received + 3\n\n@@ -1,81 +1,17 @@\n Object {\n \"_id\": Any,\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"elect-sheriff\",\n+ \"action\": \"charm\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"cupid\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e035c5700312c5b0cf\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n \"current\": \"cupid\",\n \"isRevealed\": false,\n@@ -84,26 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -281,16 +201,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", + "testsCompleted": 4, "static": false, - "testsCompleted": 11, "killedBy": [ - "37" + "517" ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "144", + "145", + "517", + "518" ], "location": { "end": { - "column": 106, - "line": 119 + "column": 101, + "line": 54 }, "start": { - "column": 9, - "line": 119 + "column": 68, + "line": 54 } } }, { - "id": "1615", - "mutatorName": "EqualityOperator", - "replacement": "_id.toString() !== targetedPlayer._id.toString()", - "status": "Timeout", + "id": "2146", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(54,11): error TS2322: Type 'GamePlay[] | string[]' is not assignable to type 'GamePlay[]'.\n Type 'string[]' is not assignable to type 'GamePlay[]'.\n Type 'string' is not assignable to type 'GamePlay'.\n", + "status": "CompileError", "static": false, + "killedBy": [], "coveredBy": [ - "40", - "41", - "43" + "146", + "519", + "530", + "531" ], "location": { "end": { - "column": 150, - "line": 126 + "column": 106, + "line": 54 }, "start": { - "column": 102, - "line": 126 + "column": 104, + "line": 54 } } }, { - "id": "1599", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2147", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 66, - "line": 119 + "column": 6, + "line": 59 }, "start": { - "column": 9, - "line": 119 + "column": 57, + "line": 55 } } }, { - "id": "1600", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.source.name !== PLAYER_GROUPS.WEREWOLVES", - "status": "Timeout", + "id": "2148", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 91\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e473041f490d97aa23\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e473041f490d97aa24\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e473041f490d97aa25\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e473041f490d97aa26\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e473041f490d97aa27\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e392e473041f490d97aa28\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,11 +281,30 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-card\",\n+ \"source\": Object {\n+ \"name\": \"thief\",\n+ },\n+ },\n Object {\n+ \"action\": \"choose-side\",\n+ \"source\": Object {\n+ \"name\": \"dog-wolf\",\n+ },\n+ },\n+ Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n@@ -294,25 +313,91 @@\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n Object {\n+ \"action\": \"sniff\",\n+ \"source\": Object {\n+ \"name\": \"fox\",\n+ },\n+ },\n+ Object {\n \"action\": \"meet-each-other\",\n \"source\": Object {\n \"name\": \"lovers\",\n },\n },\n Object {\n+ \"action\": \"choose-sign\",\n+ \"source\": Object {\n+ \"name\": \"stuttering-judge\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"two-sisters\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"three-brothers\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-model\",\n+ \"source\": Object {\n+ \"name\": \"wild-child\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"mark\",\n+ \"source\": Object {\n+ \"name\": \"raven\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ },\n+ },\n+ Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"big-bad-wolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"charm\",\n+ \"source\": Object {\n+ \"name\": \"pied-piper\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"charmed\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, + "killedBy": [ + "517" + ], "coveredBy": [ - "35", - "36", - "37", - "38", - "39", - "40", - "41", - "42", - "43", - "44", - "45" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 66, - "line": 119 + "column": 80, + "line": 56 }, "start": { - "column": 9, - "line": 119 + "column": 11, + "line": 56 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { BAD_GAME_PLAY_PAYLOAD_REASONS } from \"../../../../../shared/exception/enums/bad-game-play-payload-error.enum\";\nimport { createNoCurrentGamePlayUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { BadGamePlayPayloadException } from \"../../../../../shared/exception/types/bad-game-play-payload-exception.type\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { optionalTargetsActions, requiredTargetsActions, requiredVotesActions, stutteringJudgeRequestOpportunityActions } from \"../../../constants/game-play/game-play.constant\";\nimport type { MakeGamePlayTargetWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { getLeftToCharmByPiedPiperPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getPlayerWithCurrentRole } from \"../../../helpers/game.helper\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { isPlayerAliveAndPowerful } from \"../../../helpers/player/player.helper\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { GameWithCurrentPlay } from \"../../../types/game-with-current-play\";\nimport type { GameSource } from \"../../../types/game.type\";\nimport { GameHistoryRecordService } from \"../game-history/game-history-record.service\";\n\n@Injectable()\nexport class GamePlayValidatorService {\n public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {}\n\n public async validateGamePlayWithRelationsDto(play: MakeGamePlayWithRelationsDto, game: Game): Promise {\n if (!game.currentPlay) {\n throw createNoCurrentGamePlayUnexpectedException(\"validateGamePlayWithRelationsDto\", { gameId: game._id });\n }\n const clonedGameWithCurrentPlay = createGame(game) as GameWithCurrentPlay;\n const { votes, targets } = play;\n await this.validateGamePlayWithRelationsDtoJudgeRequest(play, clonedGameWithCurrentPlay);\n this.validateGamePlayWithRelationsDtoChosenSide(play, clonedGameWithCurrentPlay);\n await this.validateGamePlayVotesWithRelationsDto(votes, clonedGameWithCurrentPlay);\n await this.validateGamePlayTargetsWithRelationsDto(targets, clonedGameWithCurrentPlay);\n this.validateGamePlayWithRelationsDtoChosenCard(play, clonedGameWithCurrentPlay);\n }\n\n private validateGamePlayWithRelationsDtoChosenCard({ chosenCard }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): void {\n if (!chosenCard) {\n if (game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_CARD) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_CHOSEN_CARD);\n }\n return;\n }\n if (game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_CARD) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_CHOSEN_CARD);\n }\n }\n\n private validateDrankLifePotionTargets(drankLifePotionTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n if (drankLifePotionTargets.length > 1) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_MUCH_DRANK_LIFE_POTION_TARGETS);\n }\n if (drankLifePotionTargets.length &&\n (!doesPlayerHaveActiveAttributeWithName(drankLifePotionTargets[0].player, PLAYER_ATTRIBUTE_NAMES.EATEN, game) || !drankLifePotionTargets[0].player.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_LIFE_POTION_TARGET);\n }\n }\n\n private validateDrankDeathPotionTargets(drankDeathPotionTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n if (drankDeathPotionTargets.length > 1) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_MUCH_DRANK_DEATH_POTION_TARGETS);\n }\n if (drankDeathPotionTargets.length && !drankDeathPotionTargets[0].player.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_DEATH_POTION_TARGET);\n }\n }\n\n private async validateGamePlayWitchTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): Promise {\n const hasWitchUsedLifePotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length > 0;\n const drankLifePotionTargets = playTargets.filter(({ drankPotion }) => drankPotion === WITCH_POTIONS.LIFE);\n const hasWitchUsedDeathPotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length > 0;\n const drankDeathPotionTargets = playTargets.filter(({ drankPotion }) => drankPotion === WITCH_POTIONS.DEATH);\n if (hasWitchUsedLifePotion && drankLifePotionTargets.length || hasWitchUsedDeathPotion && drankDeathPotionTargets.length) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_DRANK_POTION_TARGET);\n }\n this.validateDrankLifePotionTargets(drankLifePotionTargets, game);\n this.validateDrankDeathPotionTargets(drankDeathPotionTargets);\n }\n\n private async validateGamePlayInfectedTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): Promise {\n const infectedTargets = playTargets.filter(({ isInfected }) => isInfected === true);\n if (!infectedTargets.length) {\n return;\n }\n const hasVileFatherOfWolvesInfected = (await this.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords(game._id)).length > 0;\n const vileFatherOfWolvesPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.VILE_FATHER_OF_WOLVES);\n if (!vileFatherOfWolvesPlayer || !isPlayerAliveAndPowerful(vileFatherOfWolvesPlayer, game) || hasVileFatherOfWolvesInfected) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_INFECTED_TARGET);\n }\n this.validateGamePlayTargetsBoundaries(infectedTargets, { min: 1, max: 1 });\n }\n \n private validateWerewolvesTargetsBoundaries(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): void {\n const leftToEatByWerewolvesPlayers = getLeftToEatByWerewolvesPlayers(game);\n const leftToEatByWhiteWerewolfPlayers = getLeftToEatByWhiteWerewolfPlayers(game);\n const bigBadWolfExpectedTargetsCount = leftToEatByWerewolvesPlayers.length ? 1 : 0;\n const whiteWerewolfMaxTargetsCount = leftToEatByWhiteWerewolfPlayers.length ? 1 : 0;\n const werewolvesSourceTargetsBoundaries: Partial> = {\n [PLAYER_GROUPS.WEREWOLVES]: { min: 1, max: 1 },\n [ROLE_NAMES.BIG_BAD_WOLF]: { min: bigBadWolfExpectedTargetsCount, max: bigBadWolfExpectedTargetsCount },\n [ROLE_NAMES.WHITE_WEREWOLF]: { min: 0, max: whiteWerewolfMaxTargetsCount },\n };\n const targetsBoundaries = werewolvesSourceTargetsBoundaries[game.currentPlay.source.name];\n if (!targetsBoundaries) {\n return;\n }\n this.validateGamePlayTargetsBoundaries(playTargets, targetsBoundaries);\n }\n\n private async validateGamePlayWerewolvesTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n this.validateWerewolvesTargetsBoundaries(playTargets, game);\n if (!playTargets.length) {\n return;\n }\n const targetedPlayer = playTargets[0].player;\n const pureWolvesAvailableTargets = getLeftToEatByWerewolvesPlayers(game);\n const isTargetedPlayerInPureWolvesTargets = !!pureWolvesAvailableTargets.find(({ _id }) => _id.toString() === targetedPlayer._id.toString());\n if (game.currentPlay.source.name === PLAYER_GROUPS.WEREWOLVES && !isTargetedPlayerInPureWolvesTargets) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_WEREWOLVES_TARGET);\n }\n if (game.currentPlay.source.name === ROLE_NAMES.BIG_BAD_WOLF && !isTargetedPlayerInPureWolvesTargets) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_BIG_BAD_WOLF_TARGET);\n }\n const whiteWerewolfAvailableTargets = getLeftToEatByWhiteWerewolfPlayers(game);\n const isTargetedPlayerInWhiteWerewolfTargets = !!whiteWerewolfAvailableTargets.find(({ _id }) => _id.toString() === targetedPlayer._id.toString());\n if (game.currentPlay.source.name === ROLE_NAMES.WHITE_WEREWOLF && !isTargetedPlayerInWhiteWerewolfTargets) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_WHITE_WEREWOLF_TARGET);\n }\n await this.validateGamePlayInfectedTargets(playTargets, game);\n }\n\n private validateGamePlayHunterTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_HUNTER_TARGET);\n }\n }\n\n private validateGamePlayScapegoatTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 0, max: game.players.length });\n if (playTargets.some(({ player }) => !player.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SCAPEGOAT_TARGETS);\n }\n }\n\n private validateGamePlayCupidTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 2, max: 2 });\n if (playTargets.some(({ player }) => !player.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_CUPID_TARGETS);\n }\n }\n\n private validateGamePlayFoxTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 0, max: 1 });\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_FOX_TARGET);\n }\n }\n\n private validateGamePlaySeerTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const seerPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.SEER);\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive || targetedPlayer._id === seerPlayer?._id) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SEER_TARGET);\n }\n }\n\n private validateGamePlayRavenTargets(playTargets: MakeGamePlayTargetWithRelationsDto[]): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 0, max: 1 });\n if (playTargets.length && !playTargets[0].player.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_RAVEN_TARGET);\n }\n }\n\n private validateGamePlayWildChildTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const wildChildPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WILD_CHILD);\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive || targetedPlayer._id === wildChildPlayer?._id) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_WILD_CHILD_TARGET);\n }\n }\n\n private validateGamePlayPiedPiperTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): void {\n const { charmedPeopleCountPerNight } = game.options.roles.piedPiper;\n const leftToCharmByPiedPiperPlayers = getLeftToCharmByPiedPiperPlayers(game);\n const leftToCharmByPiedPiperPlayersCount = leftToCharmByPiedPiperPlayers.length;\n const countToCharm = Math.min(charmedPeopleCountPerNight, leftToCharmByPiedPiperPlayersCount);\n this.validateGamePlayTargetsBoundaries(playTargets, { min: countToCharm, max: countToCharm });\n if (playTargets.some(({ player }) => !leftToCharmByPiedPiperPlayers.find(({ _id }) => player._id === _id))) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_PIED_PIPER_TARGETS);\n }\n }\n\n private async validateGamePlayGuardTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: Game): Promise {\n const { canProtectTwice } = game.options.roles.guard;\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const lastGuardHistoryRecord = await this.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord(game._id);\n const lastProtectedPlayer = lastGuardHistoryRecord?.play.targets?.[0].player;\n const targetedPlayer = playTargets[0].player;\n if (!targetedPlayer.isAlive || !canProtectTwice && lastProtectedPlayer?._id === targetedPlayer._id) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_GUARD_TARGET);\n }\n }\n\n private async validateGamePlaySheriffTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n this.validateGamePlayTargetsBoundaries(playTargets, { min: 1, max: 1 });\n const targetedPlayer = playTargets[0].player;\n if (game.currentPlay.action === GAME_PLAY_ACTIONS.DELEGATE && !targetedPlayer.isAlive) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SHERIFF_DELEGATE_TARGET);\n }\n const lastTieInVotesRecord = await this.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord(game._id, game.currentPlay.action);\n const lastTieInVotesRecordNominatedPlayers = lastTieInVotesRecord?.play.voting?.nominatedPlayers ?? [];\n const isSheriffTargetInLastNominatedPlayers = lastTieInVotesRecordNominatedPlayers.find(({ _id }) => _id === targetedPlayer._id);\n if (game.currentPlay.action === GAME_PLAY_ACTIONS.SETTLE_VOTES && !isSheriffTargetInLastNominatedPlayers) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_SHERIFF_SETTLE_VOTES_TARGET);\n }\n }\n\n private validateGamePlayTargetsBoundaries(playTargets: MakeGamePlayTargetWithRelationsDto[], lengthBoundaries: { min: number; max: number }): void {\n if (playTargets.length < lengthBoundaries.min) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_LESS_TARGETS);\n }\n if (playTargets.length > lengthBoundaries.max) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.TOO_MUCH_TARGETS);\n }\n }\n\n private async validateGamePlaySourceTargets(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n const gamePlaySourceValidationMethods: Partial Promise | void>> = {\n [PLAYER_ATTRIBUTE_NAMES.SHERIFF]: async() => this.validateGamePlaySheriffTargets(playTargets, game),\n [PLAYER_GROUPS.WEREWOLVES]: async() => this.validateGamePlayWerewolvesTargets(playTargets, game),\n [ROLE_NAMES.BIG_BAD_WOLF]: async() => this.validateGamePlayWerewolvesTargets(playTargets, game),\n [ROLE_NAMES.WHITE_WEREWOLF]: async() => this.validateGamePlayWerewolvesTargets(playTargets, game),\n [ROLE_NAMES.GUARD]: async() => this.validateGamePlayGuardTargets(playTargets, game),\n [ROLE_NAMES.PIED_PIPER]: () => this.validateGamePlayPiedPiperTargets(playTargets, game),\n [ROLE_NAMES.WILD_CHILD]: () => this.validateGamePlayWildChildTargets(playTargets, game),\n [ROLE_NAMES.RAVEN]: () => this.validateGamePlayRavenTargets(playTargets),\n [ROLE_NAMES.SEER]: () => this.validateGamePlaySeerTargets(playTargets, game),\n [ROLE_NAMES.FOX]: () => this.validateGamePlayFoxTargets(playTargets),\n [ROLE_NAMES.CUPID]: () => this.validateGamePlayCupidTargets(playTargets),\n [ROLE_NAMES.SCAPEGOAT]: () => this.validateGamePlayScapegoatTargets(playTargets, game),\n [ROLE_NAMES.HUNTER]: () => this.validateGamePlayHunterTargets(playTargets),\n [ROLE_NAMES.WITCH]: async() => this.validateGamePlayWitchTargets(playTargets, game),\n };\n const gamePlaySourceValidationMethod = gamePlaySourceValidationMethods[game.currentPlay.source.name];\n if (gamePlaySourceValidationMethod) {\n await gamePlaySourceValidationMethod();\n }\n }\n\n private validateInfectedTargetsAndPotionUsage(playTargets: MakeGamePlayTargetWithRelationsDto[], game: GameWithCurrentPlay): void {\n const { source: currentPlaySource, action: currentPlayAction } = game.currentPlay;\n const isSomeTargetInfected = playTargets.some(({ isInfected }) => isInfected);\n if (isSomeTargetInfected && (currentPlayAction !== GAME_PLAY_ACTIONS.EAT || currentPlaySource.name !== PLAYER_GROUPS.WEREWOLVES)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_INFECTED_TARGET);\n }\n const hasSomePlayerDrankPotion = playTargets.some(({ drankPotion }) => drankPotion);\n if (hasSomePlayerDrankPotion && (currentPlayAction !== GAME_PLAY_ACTIONS.USE_POTIONS || currentPlaySource.name !== ROLE_NAMES.WITCH)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_DRANK_POTION_TARGET);\n }\n }\n\n private async validateGamePlayTargetsWithRelationsDto(playTargets: MakeGamePlayTargetWithRelationsDto[] | undefined, game: GameWithCurrentPlay): Promise {\n if (playTargets === undefined || playTargets.length === 0) {\n if (requiredTargetsActions.includes(game.currentPlay.action)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_TARGETS);\n }\n return;\n }\n if (![...requiredTargetsActions, ...optionalTargetsActions].includes(game.currentPlay.action)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_TARGETS);\n }\n this.validateInfectedTargetsAndPotionUsage(playTargets, game);\n await this.validateGamePlaySourceTargets(playTargets, game);\n }\n\n private async validateGamePlayVotesTieBreakerWithRelationsDto(playVotes: MakeGamePlayVoteWithRelationsDto[], game: GameWithCurrentPlay): Promise {\n const lastTieInVotesRecord = await this.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord(game._id, game.currentPlay.action);\n const lastTieInVotesRecordNominatedPlayers = lastTieInVotesRecord?.play.voting?.nominatedPlayers ?? [];\n if (playVotes.some(vote => !lastTieInVotesRecordNominatedPlayers.find(player => vote.target._id.toString() === player._id.toString()))) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_VOTE_TARGET_FOR_TIE_BREAKER);\n }\n }\n \n private validateGamePlayVotesWithRelationsDtoSourceAndTarget(playVotes: MakeGamePlayVoteWithRelationsDto[], game: Game): void {\n if (playVotes.some(({ source }) => !source.isAlive || doesPlayerHaveActiveAttributeWithName(source, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game))) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_VOTE_SOURCE);\n }\n if (playVotes.some(({ target }) => !target.isAlive)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.BAD_VOTE_TARGET);\n }\n if (playVotes.some(({ source, target }) => source._id === target._id)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.SAME_SOURCE_AND_TARGET_VOTE);\n }\n }\n\n private validateUnsetGamePlayVotesWithRelationsDto(game: GameWithCurrentPlay): void {\n const { action: currentPlayAction, cause: currentPlayCause } = game.currentPlay;\n const { canBeSkipped: canVotesBeSkipped } = game.options.votes;\n const isCurrentPlayVoteCauseOfAngelPresence = currentPlayAction === GAME_PLAY_ACTIONS.VOTE && currentPlayCause === GAME_PLAY_CAUSES.ANGEL_PRESENCE;\n const isCurrentPlayVoteInevitable = currentPlayAction === GAME_PLAY_ACTIONS.ELECT_SHERIFF || isCurrentPlayVoteCauseOfAngelPresence;\n const canSomePlayerVote = game.players.some(player => player.isAlive && !doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.CANT_VOTE, game));\n if (canSomePlayerVote && (!canVotesBeSkipped && requiredVotesActions.includes(currentPlayAction) || canVotesBeSkipped && isCurrentPlayVoteInevitable)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_VOTES);\n }\n }\n \n private async validateGamePlayVotesWithRelationsDto(playVotes: MakeGamePlayVoteWithRelationsDto[] | undefined, game: GameWithCurrentPlay): Promise {\n if (!playVotes || playVotes.length === 0) {\n this.validateUnsetGamePlayVotesWithRelationsDto(game);\n return;\n }\n if (!requiredVotesActions.includes(game.currentPlay.action)) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_VOTES);\n }\n this.validateGamePlayVotesWithRelationsDtoSourceAndTarget(playVotes, game);\n if (game.currentPlay.cause === GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES) {\n await this.validateGamePlayVotesTieBreakerWithRelationsDto(playVotes, game);\n }\n }\n\n private validateGamePlayWithRelationsDtoChosenSide({ chosenSide }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): void {\n if (chosenSide !== undefined && game.currentPlay.action !== GAME_PLAY_ACTIONS.CHOOSE_SIDE) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_CHOSEN_SIDE);\n }\n if (chosenSide === undefined && game.currentPlay.action === GAME_PLAY_ACTIONS.CHOOSE_SIDE) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.REQUIRED_CHOSEN_SIDE);\n }\n }\n\n private async validateGamePlayWithRelationsDtoJudgeRequest({ doesJudgeRequestAnotherVote }: MakeGamePlayWithRelationsDto, game: GameWithCurrentPlay): Promise {\n if (doesJudgeRequestAnotherVote === undefined) {\n return;\n }\n const { voteRequestsCount } = game.options.roles.stutteringJudge;\n const gameHistoryJudgeRequestRecords = await this.gameHistoryRecordService.getGameHistoryJudgeRequestRecords(game._id);\n const stutteringJudgePlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.STUTTERING_JUDGE);\n if (!stutteringJudgeRequestOpportunityActions.includes(game.currentPlay.action) ||\n !stutteringJudgePlayer || !isPlayerAliveAndPowerful(stutteringJudgePlayer, game) ||\n gameHistoryJudgeRequestRecords.length >= voteRequestsCount) {\n throw new BadGamePlayPayloadException(BAD_GAME_PLAY_PAYLOAD_REASONS.UNEXPECTED_STUTTERING_JUDGE_VOTE_REQUEST);\n }\n }\n}" - }, - "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1923", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(16,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2149", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e9c050a7eaad63f976f6ac\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e9c050a7eaad63f976f6ad\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e9c050a7eaad63f976f6ae\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e9c050a7eaad63f976f6af\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e9c050a7eaad63f976f6b0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e9c050a7eaad63f976f6b1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "572", - "686" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 22 + "column": 80, + "line": 56 }, "start": { - "column": 110, - "line": 16 + "column": 11, + "line": 56 } } }, { - "id": "1924", - "mutatorName": "MethodExpression", - "replacement": "Math.min(...playerVoteCounts.map(playerVoteCount => playerVoteCount[1]))", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"f2f33273debceda832f03b8a\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Khalil\", \"position\": 6639669326381056, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e4c6ed56b8eb9c33ea2a282e\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Hector\", \"position\": 6365455254028288, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"1d35fe4c9d52f0f4aaaffc96\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Royce\", \"position\": 1043470980481024, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2150", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b561e75e925b048457\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b561e75e925b048458\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b561e75e925b048459\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b561e75e925b04845a\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b561e75e925b04845b\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b561e75e925b04845c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "686" + "517" ], "coveredBy": [ - "572", - "686" + "144", + "145", + "146", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 94, - "line": 20 + "column": 8, + "line": 58 }, "start": { - "column": 22, - "line": 20 + "column": 82, + "line": 56 } } }, { - "id": "1925", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(20,31): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", + "id": "2151", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(63,58): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686" + "147", + "148", + "530", + "531" ], "location": { "end": { - "column": 92, - "line": 20 + "column": 4, + "line": 73 }, "start": { - "column": 55, - "line": 20 + "column": 72, + "line": 63 } } }, { - "id": "1926", - "mutatorName": "MethodExpression", - "replacement": "playerVoteCounts", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"9b669fcff738ccab08a0bbb0\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Neha\", \"position\": 7608341345861632, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"264fafd847ceadf13ce571de\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Lowell\", \"position\": 1724243830112256, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"9b669fcff738ccab08a0bbb0\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Neha\", \"position\": 7608341345861632, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7d65e00040a7f5fafdc93713\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Daron\", \"position\": 7031518446747648, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"264fafd847ceadf13ce571de\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Lowell\", \"position\": 1724243830112256, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2152", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(65,45): error TS2322: Type 'string' is not assignable to type 'GamePlay'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "686" - ], + "killedBy": [], "coveredBy": [ - "572", - "686" + "147", + "148", + "530", + "531" ], "location": { "end": { - "column": 87, - "line": 21 + "column": 46, + "line": 65 }, "start": { - "column": 12, - "line": 21 + "column": 44, + "line": 65 } } }, { - "id": "1927", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"b5500fbffbac1c6db76baaa7\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Clarabelle\", \"position\": 7978109682843648, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"bab01cbcffdd3dccf7a8b2ab\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Hilton\", \"position\": 2594125333397504, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2153", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 1\n\n@@ -150,42 +150,9 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 6667529141354496,\n \"turn\": 7364226366570496,\n- \"upcomingPlays\": Array [\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": 2023-08-22T22:11:21.273Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "686" + "147" ], "coveredBy": [ - "572", - "686" + "147", + "148", + "530", + "531" ], "location": { "end": { - "column": 86, - "line": 21 + "column": 6, + "line": 70 }, "start": { - "column": 36, - "line": 21 + "column": 58, + "line": 66 } } }, { - "id": "1928", + "id": "2154", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686" + "147", + "148", + "530", + "531" ], "location": { "end": { - "column": 86, - "line": 21 + "column": 81, + "line": 67 }, "start": { - "column": 55, - "line": 21 + "column": 11, + "line": 67 } } }, { - "id": "1929", + "id": "2155", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 1\n\n@@ -150,42 +150,9 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 2088798334746624,\n \"turn\": 3008111394684928,\n- \"upcomingPlays\": Array [\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": 2023-08-22T22:33:43.275Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "147" + ], "coveredBy": [ - "572", - "686" + "147", + "148", + "530", + "531" ], "location": { "end": { - "column": 86, - "line": 21 + "column": 81, + "line": 67 }, "start": { - "column": 55, - "line": 21 + "column": 11, + "line": 67 } } }, { - "id": "1930", - "mutatorName": "EqualityOperator", - "replacement": "playerVoteCount[1] !== maxVotes", - "status": "Timeout", + "id": "2156", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 1\n\n@@ -150,42 +150,9 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 3817496501026816,\n \"turn\": 8888811595497472,\n- \"upcomingPlays\": Array [\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": 2023-08-23T17:31:21.095Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "147" + ], "coveredBy": [ - "572", - "686" + "147", + "148", + "530", + "531" ], "location": { "end": { - "column": 86, - "line": 21 + "column": 8, + "line": 69 }, "start": { - "column": 55, - "line": 21 + "column": 83, + "line": 67 } } }, { - "id": "1931", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(21,5): error TS2322: Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2157", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(75,127): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 143, - "line": 21 + "column": 4, + "line": 84 }, "start": { - "column": 92, - "line": 21 + "column": 135, + "line": 75 } } }, { - "id": "1932", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(24,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2158", + "mutatorName": "MethodExpression", + "replacement": "gameHistoryPhaseRecords.every(({\n play\n}) => {\n const {\n source,\n action,\n cause\n } = play;\n return areGamePlaysEqual({\n source,\n action,\n cause\n }, upcomingPlay);\n})", + "statusReason": "Error: thrown: \"Exceeded timeout of 5000 ms for a test.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:875:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:764:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:48:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 38 + "column": 7, + "line": 80 }, "start": { - "column": 120, - "line": 24 + "column": 29, + "line": 77 } } }, { - "id": "1933", + "id": "2159", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,5): error TS2740: Type 'MakeGamePlayVoteWithRelationsDto' is missing the following properties from type 'PlayerVoteCount[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,44): error TS2345: Argument of type '(acc: PlayerVoteCount[], vote: MakeGamePlayVoteWithRelationsDto) => void' is not assignable to parameter of type '(previousValue: PlayerVoteCount[], currentValue: MakeGamePlayVoteWithRelationsDto, currentIndex: number, array: MakeGamePlayVoteWithRelationsDto[]) => PlayerVoteCount[]'.\n Type 'void' is not assignable to type 'PlayerVoteCount[]'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:341:109)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "151" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "151", + "152" ], "location": { "end": { "column": 6, - "line": 37 + "line": 80 }, "start": { - "column": 59, - "line": 27 + "column": 72, + "line": 77 } } }, { - "id": "1934", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2160", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(79,32): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GamePlay'.\n Type '{}' is missing the following properties from type 'GamePlay': source, action\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "151", + "152" ], "location": { "end": { - "column": 95, - "line": 29 + "column": 57, + "line": 79 }, "start": { - "column": 35, - "line": 29 + "column": 32, + "line": 79 } } }, { - "id": "1935", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"f543dffc1e9ada6e1becd4e3\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Fred\", \"position\": 2772846172438528, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"0ed50fe23dab4c8fb6dbefe4\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brandy\", \"position\": 7945444827070464, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"0ed50fe23dab4c8fb6dbefe4\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brandy\", \"position\": 7945444827070464, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2161", + "mutatorName": "MethodExpression", + "replacement": "game.upcomingPlays.every(gamePlay => areGamePlaysEqual(gamePlay, upcomingPlay))", + "status": "Timeout", "static": false, - "killedBy": [ - "686" - ], + "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 95, - "line": 29 + "column": 109, + "line": 81 }, "start": { - "column": 35, - "line": 29 + "column": 31, + "line": 81 } } }, { - "id": "1936", - "mutatorName": "EqualityOperator", - "replacement": "vote.source._id.toString() !== sheriffPlayer?._id.toString()", + "id": "2162", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 95, - "line": 29 + "column": 108, + "line": 81 }, "start": { - "column": 35, - "line": 29 + "column": 55, + "line": 81 } } }, { - "id": "1937", - "mutatorName": "OptionalChaining", - "replacement": "sheriffPlayer._id", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(29,66): error TS18048: 'sheriffPlayer' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2163", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:358:109)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "152" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 84, - "line": 29 + "column": 88, + "line": 82 }, "start": { - "column": 66, - "line": 29 + "column": 27, + "line": 82 } } }, { - "id": "1938", + "id": "2164", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"d7822b7f9fdc6e9ce1bcb795\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Erika\", \"position\": 1979051245830144, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e4d4db6c0b15fdf1a9a805bc\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Elyssa\", \"position\": 7447141293228032, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"d7822b7f9fdc6e9ce1bcb795\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Erika\", \"position\": 1979051245830144, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"b75d58aba2840518eb9d2a34\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Dorris\", \"position\": 5902988566593536, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e4d4db6c0b15fdf1a9a805bc\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Elyssa\", \"position\": 7447141293228032, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 32\n+ Received + 17\n\n@@ -1,49 +1,27 @@\n Object {\n \"_id\": \"a8ea9cabe462c3c5bcec0cbe\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"eat\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"werewolves\",\n+ \"name\": \"seer\",\n \"players\": Array [\n- Object {\n- \"_id\": \"ecfa33c0fef80e75de5bb46b\",\n- \"attributes\": Array [\n Object {\n- \"name\": \"seen\",\n- \"remainingPhases\": 1,\n- \"source\": \"seer\",\n- },\n- ],\n- \"isAlive\": true,\n- \"name\": \"Mike\",\n- \"position\": 6429271897669632,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": \"d8cbd5321b6306fccec7ccac\",\n+ \"_id\": \"851aa39aaca3afece82cfeea\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Madelyn\",\n- \"position\": 5152339044335616,\n+ \"name\": \"Kennedi\",\n+ \"position\": 1926923569594368,\n \"role\": Object {\n- \"current\": \"werewolf\",\n+ \"current\": \"seer\",\n \"isRevealed\": false,\n- \"original\": \"werewolf\",\n+ \"original\": \"seer\",\n },\n \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ],\n },\n },\n@@ -196,8 +174,15 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 58315061067777,\n \"turn\": 7669515466833920,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ },\n+ },\n+ ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:962:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 7, "static": false, "killedBy": [ - "686" + "531" ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 128, - "line": 30 + "column": 88, + "line": 82 }, "start": { - "column": 25, - "line": 30 + "column": 27, + "line": 82 } } }, { - "id": "1939", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2165", + "mutatorName": "LogicalOperator", + "replacement": "!!currentPlay || areGamePlaysEqual(currentPlay, upcomingPlay)", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(82,62): error TS2345: Argument of type 'null' is not assignable to parameter of type 'GamePlay'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 128, - "line": 30 + "column": 88, + "line": 82 }, "start": { - "column": 25, - "line": 30 + "column": 27, + "line": 82 } } }, { - "id": "1940", - "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.VOTE && isVoteSourceSheriff || doesSheriffHaveDoubledVote", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"0efefb1dcf685b2d21a2eedc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Axel\", \"position\": 5571201428619264, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ec198daeaedf7e338f1afdf6\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Dejon\", \"position\": 3330199621992448, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"0efefb1dcf685b2d21a2eedc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Axel\", \"position\": 5571201428619264, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"c82e2303a67abf4d1d5d1b93\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Garland\", \"position\": 6842135632412672, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"ec198daeaedf7e338f1afdf6\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Dejon\", \"position\": 3330199621992448, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2166", + "mutatorName": "BooleanLiteral", + "replacement": "!currentPlay", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(82,61): error TS2345: Argument of type 'null' is not assignable to parameter of type 'GamePlay'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "686" - ], + "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 128, - "line": 30 + "column": 40, + "line": 82 }, "start": { - "column": 25, - "line": 30 + "column": 27, + "line": 82 } } }, { - "id": "1941", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2167", + "mutatorName": "BooleanLiteral", + "replacement": "currentPlay", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(82,61): error TS2345: Argument of type 'null' is not assignable to parameter of type 'GamePlay'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 98, - "line": 30 + "column": 40, + "line": 82 }, "start": { - "column": 25, - "line": 30 + "column": 28, + "line": 82 } } }, { - "id": "1942", - "mutatorName": "LogicalOperator", - "replacement": "game.currentPlay.action === GAME_PLAY_ACTIONS.VOTE || isVoteSourceSheriff", - "status": "Timeout", + "id": "2168", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:310:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "149" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 98, - "line": 30 + "column": 68, + "line": 83 }, "start": { - "column": 25, - "line": 30 + "column": 12, + "line": 83 } } }, { - "id": "1943", + "id": "2169", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [[{\"_id\": \"4ca69b6be157d4e9c15da718\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Juliet\", \"position\": 5263810749267968, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 1], [{\"_id\": \"f6fcbb5ec49e54b4cc38cc9a\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Davin\", \"position\": 6448151347068928, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2]]\nReceived:\n [[{\"_id\": \"4ca69b6be157d4e9c15da718\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Juliet\", \"position\": 5263810749267968, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2], [{\"_id\": \"f6fcbb5ec49e54b4cc38cc9a\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": true, \"name\": \"sheriff\", \"remainingPhases\": undefined, \"source\": \"all\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Davin\", \"position\": 6448151347068928, \"role\": {\"current\": \"ancient\", \"isRevealed\": false, \"original\": \"ancient\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, 2]]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:114:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:358:109)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 7, "static": false, "killedBy": [ - "689" + "152" ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 75, - "line": 30 + "column": 68, + "line": 83 }, "start": { - "column": 25, - "line": 30 + "column": 12, + "line": 83 } } }, { - "id": "1944", - "mutatorName": "EqualityOperator", - "replacement": "game.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"eefffec2ede17506d0aac5f1\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Keith\", \"position\": 7111340181159936, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"1e4b04e68dfad31c9687ceab\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Aaron\", \"position\": 3819765921480704, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"1e4b04e68dfad31c9687ceab\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Aaron\", \"position\": 3819765921480704, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2170", + "mutatorName": "LogicalOperator", + "replacement": "!isInUpcomingPlays && !isAlreadyPlayed || !isCurrentPlay", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 6\n\n@@ -219,10 +219,16 @@\n \"status\": \"playing\",\n \"tick\": 539213407715329,\n \"turn\": 312091103723520,\n \"upcomingPlays\": Array [\n Object {\n+ \"action\": \"vote\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 7, "static": false, "killedBy": [ - "686" + "530" ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 75, - "line": 30 + "column": 68, + "line": 83 }, "start": { - "column": 25, - "line": 30 + "column": 12, + "line": 83 } } }, { - "id": "1945", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "status": "Timeout", + "id": "2171", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 12\n\n@@ -225,10 +225,22 @@\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n Object {\n+ \"action\": \"look\",\n+ \"source\": Object {\n+ \"name\": \"seer\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ },\n+ },\n+ Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 111, - "line": 31 + "column": 50, + "line": 83 }, "start": { - "column": 48, - "line": 31 + "column": 12, + "line": 83 } } }, { - "id": "1946", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2172", + "mutatorName": "LogicalOperator", + "replacement": "!isInUpcomingPlays || !isAlreadyPlayed", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "killedBy": [ + "530" + ], + "coveredBy": [ + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 111, - "line": 31 + "column": 50, + "line": 83 }, "start": { - "column": 57, - "line": 31 + "column": 12, + "line": 83 } } }, { - "id": "1947", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2173", + "mutatorName": "BooleanLiteral", + "replacement": "isInUpcomingPlays", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 12\n\n@@ -225,10 +225,22 @@\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n Object {\n+ \"action\": \"look\",\n+ \"source\": Object {\n+ \"name\": \"seer\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ },\n+ },\n+ Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "149", + "150", + "151", + "152", + "155", + "530", + "531" ], "location": { "end": { - "column": 111, - "line": 31 + "column": 30, + "line": 83 }, "start": { - "column": 57, - "line": 31 + "column": 12, + "line": 83 } } }, { - "id": "1948", - "mutatorName": "EqualityOperator", - "replacement": "value[0]._id.toString() !== vote.target._id.toString()", - "status": "Timeout", + "id": "2174", + "mutatorName": "BooleanLiteral", + "replacement": "isAlreadyPlayed", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:341:109)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "151" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "150", + "151", + "152", + "155", + "531" ], "location": { "end": { - "column": 111, - "line": 31 + "column": 50, + "line": 83 }, "start": { - "column": 57, - "line": 31 + "column": 34, + "line": 83 } } }, { - "id": "1949", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(33,9): error TS18048: 'existingPlayerVoteCount' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2175", + "mutatorName": "BooleanLiteral", + "replacement": "isCurrentPlay", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:317:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "150" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "150", + "152", + "155", + "531" ], "location": { "end": { - "column": 34, - "line": 32 + "column": 68, + "line": 83 }, "start": { - "column": 11, - "line": 32 + "column": 54, + "line": 83 } } }, { - "id": "1950", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(33,9): error TS18048: 'existingPlayerVoteCount' is possibly 'undefined'.\n", + "id": "2176", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(86,65): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "153", + "154", + "155", + "530", + "531" ], "location": { "end": { - "column": 34, - "line": 32 + "column": 4, + "line": 91 }, "start": { - "column": 11, - "line": 32 + "column": 85, + "line": 86 } } }, { - "id": "1951", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2177", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:393:62)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "154" + ], "coveredBy": [ - "687", - "688", - "689", - "690" + "153", + "154", + "155", + "530", + "531" ], "location": { "end": { - "column": 8, - "line": 35 + "column": 71, + "line": 88 }, "start": { - "column": 36, - "line": 32 + "column": 39, + "line": 88 } } }, { - "id": "1952", - "mutatorName": "AssignmentOperator", - "replacement": "existingPlayerVoteCount[1] -= voteValue", - "status": "Timeout", + "id": "2178", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:385:64)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "153" + ], "coveredBy": [ - "687", - "688", - "689", - "690" + "153", + "154", + "155", + "530", + "531" ], "location": { "end": { - "column": 48, - "line": 33 + "column": 71, + "line": 88 }, "start": { - "column": 9, - "line": 33 + "column": 39, + "line": 88 } } }, { - "id": "1953", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", + "id": "2179", + "mutatorName": "EqualityOperator", + "replacement": "game.phase !== GAME_PHASES.NIGHT", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:385:64)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "153" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "153", + "154", + "155", + "530", + "531" ], "location": { "end": { - "column": 48, - "line": 36 + "column": 71, + "line": 88 }, "start": { - "column": 14, - "line": 36 + "column": 39, + "line": 88 } } }, { - "id": "1954", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,5): error TS2740: Type 'MakeGamePlayVoteWithRelationsDto' is missing the following properties from type 'PlayerVoteCount[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,44): error TS2345: Argument of type '(acc: PlayerVoteCount[], vote: MakeGamePlayVoteWithRelationsDto) => ([] | PlayerVoteCount)[]' is not assignable to parameter of type '(previousValue: PlayerVoteCount[], currentValue: MakeGamePlayVoteWithRelationsDto, currentIndex: number, array: MakeGamePlayVoteWithRelationsDto[]) => PlayerVoteCount[]'.\n Type '([] | PlayerVoteCount)[]' is not assignable to type 'PlayerVoteCount[]'.\n Type '[] | PlayerVoteCount' is not assignable to type 'PlayerVoteCount'.\n Type '[]' is not assignable to type '[Player, number]'.\n Source has 0 element(s) but target requires 2.\n", - "status": "CompileError", + "id": "2180", + "mutatorName": "MethodExpression", + "replacement": "currentPhaseUpcomingPlays", + "statusReason": "Error: expect(jest.fn()).toHaveBeenNthCalledWith(n, ...expected)\n\nn: 1\nExpected: {\"action\": \"elect-sheriff\", \"cause\": undefined, \"source\": {\"name\": \"all\", \"players\": undefined}}, {\"_id\": \"dcaf1dc7f90c826abdcfcdab\", \"additionalCards\": undefined, \"createdAt\": 2023-08-25T22:43:48.867Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 1}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 4, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 7319229764206592}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [], \"status\": \"over\", \"tick\": 5523557670977536, \"turn\": 1299313516871680, \"upcomingPlays\": [], \"updatedAt\": 2023-08-25T16:23:52.460Z, \"victory\": undefined}, []\n\nNumber of calls: 0\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:407:75)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "155" + ], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "153", + "154", + "155", + "530", + "531" ], "location": { "end": { - "column": 47, - "line": 36 + "column": 136, + "line": 90 }, "start": { - "column": 23, - "line": 36 + "column": 12, + "line": 90 } } }, { - "id": "1955", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(27,5): error TS2740: Type 'MakeGamePlayVoteWithRelationsDto' is missing the following properties from type 'PlayerVoteCount[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(37,9): error TS2322: Type 'string' is not assignable to type 'PlayerVoteCount'.\n", - "status": "CompileError", + "id": "2181", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "687", - "688", - "689", - "690" + "153", + "154", + "155", + "530", + "531" ], "location": { "end": { - "column": 10, - "line": 37 + "column": 135, + "line": 90 }, "start": { - "column": 8, - "line": 37 + "column": 45, + "line": 90 } } }, { - "id": "1956", + "id": "2182", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(40,111): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toThrow()\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:300:87)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "157" + ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "156", + "157", + "158", + "159", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 55 + "line": 100 }, "start": { - "column": 129, - "line": 40 + "column": 74, + "line": 93 } } }, { - "id": "1957", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(47,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(50,7): error TS18048: 'ravenMarkedPlayerVoteCount' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2183", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "156", + "157", + "159", + "530", + "531" ], "location": { "end": { - "column": 88, - "line": 45 + "column": 6, + "line": 99 }, "start": { - "column": 9, - "line": 44 + "column": 47, + "line": 94 } } }, { - "id": "1958", + "id": "2184", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(47,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "156", + "157", + "159", + "530", + "531" ], "location": { "end": { - "column": 88, - "line": 45 + "column": 35, + "line": 96 }, "start": { - "column": 9, - "line": 44 + "column": 11, + "line": 96 } } }, { - "id": "1959", - "mutatorName": "LogicalOperator", - "replacement": "(clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE || ravenPlayer?.isAlive !== true || !isPlayerPowerful(ravenPlayer, clonedGame)) && ravenMarkedPlayer?.isAlive !== true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(47,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(53,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2185", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toThrow()\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:431:87)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "157" + ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "156", + "157", + "159", + "530", + "531" ], "location": { "end": { - "column": 88, - "line": 45 + "column": 35, + "line": 96 }, "start": { - "column": 9, - "line": 44 + "column": 11, + "line": 96 } } }, { - "id": "1960", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2186", + "mutatorName": "EqualityOperator", + "replacement": "playPriorityIndex !== -1", + "statusReason": "Error: expect(received).not.toThrow()\n\nThrown value: undefined\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:290:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "156" + ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "156", + "157", + "159", + "530", + "531" ], "location": { "end": { - "column": 49, - "line": 45 + "column": 35, + "line": 96 }, "start": { - "column": 9, - "line": 44 + "column": 11, + "line": 96 } } }, { - "id": "1961", - "mutatorName": "LogicalOperator", - "replacement": "(clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE || ravenPlayer?.isAlive !== true) && !isPlayerPowerful(ravenPlayer, clonedGame)", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(44,122): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2187", + "mutatorName": "UnaryOperator", + "replacement": "+1", + "statusReason": "Error: expect(received).toThrow()\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:300:87)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "157" + ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "156", + "157", + "159", + "530", + "531" ], "location": { "end": { - "column": 49, - "line": 45 + "column": 35, + "line": 96 }, "start": { - "column": 9, - "line": 44 + "column": 33, + "line": 96 } } }, { - "id": "1962", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2188", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toThrow()\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:300:87)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "157" + ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "157" ], "location": { "end": { - "column": 98, - "line": 44 + "column": 8, + "line": 98 }, "start": { - "column": 9, - "line": 44 + "column": 37, + "line": 96 } } }, { - "id": "1963", - "mutatorName": "LogicalOperator", - "replacement": "clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE && ravenPlayer?.isAlive !== true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "id": "2189", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(102,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "158", + "159", + "530", + "531" ], "location": { "end": { - "column": 98, - "line": 44 + "column": 4, + "line": 110 }, "start": { - "column": 9, - "line": 44 + "column": 78, + "line": 102 } } }, { - "id": "1964", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2190", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(104,40): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'GamePlay[]'.\n Type 'undefined' is not assignable to type 'GamePlay'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(105,5): error TS2322: Type 'undefined[]' is not assignable to type 'GamePlay[]'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(106,56): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'GamePlay'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(107,56): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'GamePlay'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "158", + "159", + "530", + "531" ], "location": { "end": { - "column": 65, - "line": 44 + "column": 95, + "line": 103 }, "start": { - "column": 9, - "line": 44 + "column": 51, + "line": 103 } } }, { - "id": "1965", - "mutatorName": "EqualityOperator", - "replacement": "clonedGame.currentPlay.action === GAME_PLAY_ACTIONS.VOTE", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"67cd3abfdcade456ff22ae20\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rhett\", \"position\": 2911345259315200, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"de4b5b2eace8d1bfaf89743b\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Kailyn\", \"position\": 1556474989903872, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"67cd3abfdcade456ff22ae20\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Rhett\", \"position\": 2911345259315200, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2191", + "mutatorName": "MethodExpression", + "replacement": "clonedUpcomingPlays", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 20\n+ Received + 20\n\n@@ -1,11 +1,11 @@\n Array [\n GamePlay {\n- \"action\": \"shoot\",\n+ \"action\": \"vote\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n+ \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"elect-sheriff\",\n@@ -14,61 +14,61 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"eat\",\n+ \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n- \"cause\": \"stuttering-judge-request\",\n+ \"action\": \"eat\",\n+ \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"werewolves\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n+ \"action\": \"look\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n+ \"action\": \"vote\",\n+ \"cause\": \"stuttering-judge-request\",\n \"source\": GamePlaySource {\n- \"name\": \"seer\",\n+ \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n+ \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n+ \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n+ \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n+ \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n+ \"action\": \"vote\",\n+ \"cause\": \"previous-votes-were-in-ties\",\n \"source\": GamePlaySource {\n- \"name\": \"witch\",\n+ \"name\": \"all\",\n \"players\": undefined,\n },\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:465:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 4, "static": false, "killedBy": [ - "686" + "159" ], "coveredBy": [ - "572", - "686", - "691", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "158", + "159", + "530", + "531" ], "location": { "end": { - "column": 65, - "line": 44 + "column": 7, + "line": 109 }, "start": { - "column": 9, - "line": 44 + "column": 12, + "line": 105 } } }, { - "id": "1966", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2192", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(105,37): error TS2345: Argument of type '(playA: GamePlay, playB: GamePlay) => void' is not assignable to parameter of type '(a: GamePlay, b: GamePlay) => number'.\n Type 'void' is not assignable to type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "159", + "530" ], "location": { "end": { - "column": 98, - "line": 44 + "column": 6, + "line": 109 }, "start": { - "column": 69, - "line": 44 + "column": 55, + "line": 105 } } }, { - "id": "1967", - "mutatorName": "EqualityOperator", - "replacement": "ravenPlayer?.isAlive === true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2193", + "mutatorName": "ArithmeticOperator", + "replacement": "playAPriorityIndex + playBPriorityIndex", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "159", + "530" ], "location": { "end": { - "column": 98, - "line": 44 + "column": 53, + "line": 108 }, "start": { - "column": 69, - "line": 44 + "column": 14, + "line": 108 } } }, { - "id": "1968", - "mutatorName": "OptionalChaining", - "replacement": "ravenPlayer.isAlive", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(44,69): error TS18048: 'ravenPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,25): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2194", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(112,122): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "686", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "144", + "145", + "146", + "160", + "161", + "162", + "163", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 89, - "line": 44 + "column": 4, + "line": 115 }, "start": { - "column": 69, - "line": 44 + "column": 130, + "line": 112 } } }, { - "id": "1969", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"d5fff2f472d5dfaa27df29e4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Javonte\", \"position\": 644449254244352, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"6b0bce9fffcbd77d20adb8de\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brigitte\", \"position\": 2831574053683200, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"d5fff2f472d5dfaa27df29e4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Javonte\", \"position\": 644449254244352, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2195", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"elect-sheriff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 12, "static": false, "killedBy": [ - "686" + "146" ], "coveredBy": [ - "572", - "686", - "692", - "693", - "694", - "695", - "696", - "697", - "698" + "144", + "145", + "146", + "160", + "161", + "162", + "163", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 98, - "line": 44 + "column": 91, + "line": 114 }, "start": { - "column": 94, - "line": 44 + "column": 12, + "line": 114 } } }, { - "id": "1970", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(ravenPlayer, clonedGame)", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"b10e8fd9c16054b93de0bf82\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Heaven\", \"position\": 8922137989480448, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"7e93ed38c0ca40feced3bcf0\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Sharon\", \"position\": 7272982661562368, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"b10e8fd9c16054b93de0bf82\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Heaven\", \"position\": 8922137989480448, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2196", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 89\n+ Received + 3\n\n@@ -1,81 +1,17 @@\n Object {\n \"_id\": Any,\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"elect-sheriff\",\n+ \"action\": \"charm\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"cupid\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39303e444854eb4f08ede\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n \"current\": \"cupid\",\n \"isRevealed\": false,\n@@ -84,26 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -281,16 +201,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 10, "static": false, "killedBy": [ - "686" + "517" ], "coveredBy": [ - "686", - "694", - "695", - "696", - "697", - "698" + "144", + "145", + "146", + "160", + "161", + "162", + "163", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 49, - "line": 45 + "column": 91, + "line": 114 }, "start": { - "column": 7, - "line": 45 + "column": 12, + "line": 114 } } }, { - "id": "1971", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(48,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2197", + "mutatorName": "LogicalOperator", + "replacement": "isEnabled && electedAt.turn === currentTurn || electedAt.phase === currentPhase", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"elect-sheriff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 12, "static": false, - "killedBy": [], - "coveredBy": [ - "686", - "695", - "696", - "697", - "698" + "killedBy": [ + "146" ], - "location": { - "end": { - "column": 88, - "line": 45 - }, - "start": { - "column": 53, - "line": 45 - } - } - }, - { - "id": "1972", - "mutatorName": "EqualityOperator", - "replacement": "ravenMarkedPlayer?.isAlive === true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(48,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "686", - "695", - "696", - "697", - "698" + "144", + "145", + "146", + "160", + "161", + "162", + "163", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 88, - "line": 45 + "column": 91, + "line": 114 }, "start": { - "column": 53, - "line": 45 + "column": 12, + "line": 114 } } }, { - "id": "1973", - "mutatorName": "OptionalChaining", - "replacement": "ravenMarkedPlayer.isAlive", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(45,53): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(48,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(54,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2198", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "686", - "695", - "696", - "697", - "698" + "144", + "145", + "146", + "160", + "161", + "162", + "163", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 79, - "line": 45 + "column": 55, + "line": 114 }, "start": { - "column": 53, - "line": 45 + "column": 12, + "line": 114 } } }, { - "id": "1974", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", + "id": "2199", + "mutatorName": "LogicalOperator", + "replacement": "isEnabled || electedAt.turn === currentTurn", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 12, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "686", - "695", - "696", - "697", - "698" + "144", + "145", + "146", + "160", + "161", + "162", + "163", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 88, - "line": 45 + "column": 55, + "line": 114 }, "start": { - "column": 84, - "line": 45 + "column": 12, + "line": 114 } } }, { - "id": "1975", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(46,119): error TS18048: 'ravenMarkedPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2200", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "572", - "691", - "692", - "693", - "694", - "695", - "696" + "144", + "145", + "146", + "161", + "162", + "163", + "517", + "518", + "530" ], "location": { "end": { - "column": 6, - "line": 47 + "column": 55, + "line": 114 }, "start": { - "column": 90, - "line": 45 + "column": 25, + "line": 114 } } }, { - "id": "1976", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 29\n\n@@ -43,8 +43,36 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- 7,\n+ 2,\n+ ],\n+ Array [\n+ Player {\n+ \"_id\": \"f7ffae16ae4ba12e3c3fedb0\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"raven-marked\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"raven\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Maximo\",\n+ \"position\": 5607862998925312,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"raven\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ 5,\n ],\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:277:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2201", + "mutatorName": "EqualityOperator", + "replacement": "electedAt.turn !== currentTurn", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 89\n+ Received + 3\n\n@@ -1,81 +1,17 @@\n Object {\n \"_id\": Any,\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"elect-sheriff\",\n+ \"action\": \"charm\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"cupid\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7b81b319ae2a156e4f1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n \"current\": \"cupid\",\n \"isRevealed\": false,\n@@ -84,26 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -281,16 +201,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 8, "static": false, "killedBy": [ - "698" + "517" ], "coveredBy": [ - "686", - "697", - "698" + "144", + "145", + "146", + "161", + "162", + "163", + "517", + "518", + "530" ], "location": { "end": { - "column": 151, - "line": 48 + "column": 55, + "line": 114 }, "start": { - "column": 62, - "line": 48 + "column": 25, + "line": 114 } } }, { - "id": "1977", + "id": "2202", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toContainAllValues(expected)\n\nExpected object to contain all values:\n [{\"_id\": \"adcbc7af529a27ee6df6ebba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Calista\", \"position\": 4886942439178240, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"87abacfbac5fa44d3d0c55a1\", \"attributes\": [{\"activeAt\": undefined, \"doesRemainAfterDeath\": undefined, \"name\": \"raven-marked\", \"remainingPhases\": 2, \"source\": \"raven\"}], \"death\": undefined, \"isAlive\": true, \"name\": \"Brian\", \"position\": 3223544852905984, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}]\nReceived:\n [{\"_id\": \"adcbc7af529a27ee6df6ebba\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Calista\", \"position\": 4886942439178240, \"role\": {\"current\": \"raven\", \"isRevealed\": false, \"original\": \"raven\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:46:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:258:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "686" + "162" ], "coveredBy": [ - "686", - "697", - "698" + "144", + "145", + "162", + "163", + "517", + "518" ], "location": { "end": { - "column": 151, - "line": 48 + "column": 91, + "line": 114 }, "start": { - "column": 81, - "line": 48 + "column": 59, + "line": 114 } } }, { - "id": "1978", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 29\n\n@@ -43,8 +43,36 @@\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- 7,\n+ 2,\n+ ],\n+ Array [\n+ Player {\n+ \"_id\": \"8bd0e7bb63eebddd0c77d8a5\",\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"raven-marked\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"raven\",\n+ },\n+ ],\n+ \"death\": undefined,\n+ \"isAlive\": true,\n+ \"name\": \"Willard\",\n+ \"position\": 8228429436551168,\n+ \"role\": PlayerRole {\n+ \"current\": \"raven\",\n+ \"isRevealed\": false,\n+ \"original\": \"raven\",\n+ },\n+ \"side\": PlayerSide {\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n+ },\n+ },\n+ 5,\n ],\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts:277:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2203", + "mutatorName": "EqualityOperator", + "replacement": "electedAt.phase !== currentPhase", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 89\n+ Received + 3\n\n@@ -1,81 +1,17 @@\n Object {\n \"_id\": Any,\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"elect-sheriff\",\n+ \"action\": \"charm\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"cupid\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7c3bdc43391e2517cbe\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n \"current\": \"cupid\",\n \"isRevealed\": false,\n@@ -84,26 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -281,16 +201,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "698" + "517" ], "coveredBy": [ - "686", - "697", - "698" + "144", + "145", + "162", + "163", + "517", + "518" ], "location": { "end": { - "column": 151, - "line": 48 + "column": 91, + "line": 114 }, "start": { - "column": 81, - "line": 48 + "column": 59, + "line": 114 } } }, { - "id": "1979", - "mutatorName": "EqualityOperator", - "replacement": "playerVoteCount[0]._id.toString() !== ravenMarkedPlayer._id.toString()", - "status": "Timeout", + "id": "2204", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(98,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "686", - "697", - "698" + "144", + "145", + "164", + "165", + "166", + "167", + "168", + "169", + "170", + "171", + "517", + "518", + "519" ], "location": { "end": { - "column": 151, - "line": 48 + "column": 4, + "line": 127 }, "start": { - "column": 81, - "line": 48 + "column": 88, + "line": 117 } } }, { - "id": "1980", + "id": "2205", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,7): error TS18048: 'ravenMarkedPlayerVoteCount' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,13): error TS2322: Type 'PlayerVoteCount | [Player | undefined, number]' is not assignable to type 'PlayerVoteCount'.\n Type '[Player | undefined, number]' is not assignable to type '[Player, number]'.\n Type at position 0 in source is not compatible with type at position 0 in target.\n Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,35): error TS2322: Type 'Player | undefined' is not assignable to type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(100,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(102,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(106,61): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(107,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "686", - "697", - "698" + "144", + "145", + "164", + "165", + "166", + "167", + "168", + "169", + "170", + "171", + "517", + "518", + "519" ], "location": { "end": { - "column": 35, - "line": 50 + "column": 38, + "line": 118 }, "start": { "column": 9, - "line": 50 + "line": 118 } } }, { - "id": "1981", + "id": "2206", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(52,7): error TS18048: 'ravenMarkedPlayerVoteCount' is possibly 'undefined'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(100,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(102,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(106,61): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(107,75): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "686", - "697", - "698" + "144", + "145", + "164", + "165", + "166", + "167", + "168", + "169", + "170", + "171", + "517", + "518", + "519" ], "location": { "end": { - "column": 35, - "line": 50 + "column": 38, + "line": 118 }, "start": { "column": 9, - "line": 50 + "line": 118 } } }, { - "id": "1982", + "id": "2207", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(70,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(74,61): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(75,75): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "698" + "164", + "165", + "517", + "518", + "519" ], "location": { "end": { "column": 6, - "line": 53 + "line": 120 }, "start": { - "column": 37, - "line": 50 + "column": 40, + "line": 118 } } }, { - "id": "1983", - "mutatorName": "AssignmentOperator", - "replacement": "ravenMarkedPlayerVoteCount[1] -= markPenalty", - "status": "Timeout", + "id": "2208", + "mutatorName": "BooleanLiteral", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.CUPID)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39315ca99f0aa816cdb62\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39315ca99f0aa816cdb63\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39315ca99f0aa816cdb64\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39315ca99f0aa816cdb65\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39315ca99f0aa816cdb66\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39315ca99f0aa816cdb67\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -291,16 +291,10 @@\n },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "698" + "164", + "165", + "517", + "518", + "519" ], "location": { "end": { - "column": 51, - "line": 51 + "column": 60, + "line": 119 }, "start": { - "column": 7, - "line": 51 + "column": 14, + "line": 119 } } }, { - "id": "1984", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", + "id": "2209", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.CUPID)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3931f6c3b337d3a6e54cb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3931f6c3b337d3a6e54cc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3931f6c3b337d3a6e54cd\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3931f6c3b337d3a6e54ce\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3931f6c3b337d3a6e54cf\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3931f6c3b337d3a6e54d0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -291,16 +291,10 @@\n },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "686", - "697" + "164", + "165", + "517", + "518", + "519" ], "location": { "end": { - "column": 67, - "line": 54 + "column": 60, + "line": 119 }, "start": { - "column": 12, - "line": 54 + "column": 15, + "line": 119 } } }, { - "id": "1985", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,13): error TS2322: Type 'PlayerVoteCount | []' is not assignable to type 'PlayerVoteCount'.\n Type '[]' is not assignable to type '[Player, number]'.\n Source has 0 element(s) but target requires 2.\nsrc/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.ts(55,34): error TS2322: Type '[]' is not assignable to type 'PlayerVoteCount'.\n", + "id": "2210", + "mutatorName": "BooleanLiteral", + "replacement": "cupidPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(107,62): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "686", - "697" + "144", + "145", + "166", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 66, - "line": 54 + "column": 21, + "line": 122 }, "start": { - "column": 34, - "line": 54 + "column": 9, + "line": 122 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { ROLE_NAMES } from \"../../../../../role/enums/role.enum\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../../dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS } from \"../../../../enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES } from \"../../../../enums/player.enum\";\nimport { createGame } from \"../../../../helpers/game.factory\";\nimport { getPlayerWithActiveAttributeName, getPlayerWithCurrentRole } from \"../../../../helpers/game.helper\";\nimport { createPlayer } from \"../../../../helpers/player/player.factory\";\nimport { isPlayerPowerful } from \"../../../../helpers/player/player.helper\";\nimport type { Player } from \"../../../../schemas/player/player.schema\";\nimport type { PlayerVoteCount } from \"../../../../types/game-play.type\";\nimport type { GameWithCurrentPlay } from \"../../../../types/game-with-current-play\";\n\n@Injectable()\nexport class GamePlayVoteService {\n public getNominatedPlayers(votes: MakeGamePlayVoteWithRelationsDto[], game: GameWithCurrentPlay): Player[] {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n let playerVoteCounts = this.getPlayerVoteCounts(votes, clonedGame);\n playerVoteCounts = this.addRavenMarkVoteToPlayerVoteCounts(playerVoteCounts, clonedGame);\n const maxVotes = Math.max(...playerVoteCounts.map(playerVoteCount => playerVoteCount[1]));\n return playerVoteCounts.filter(playerVoteCount => playerVoteCount[1] === maxVotes).map(playerVoteCount => createPlayer(playerVoteCount[0]));\n }\n \n private getPlayerVoteCounts(votes: MakeGamePlayVoteWithRelationsDto[], game: GameWithCurrentPlay): PlayerVoteCount[] {\n const { hasDoubledVote: doesSheriffHaveDoubledVote } = game.options.roles.sheriff;\n const sheriffPlayer = getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n return votes.reduce((acc, vote) => {\n const doubledVoteValue = 2;\n const isVoteSourceSheriff = vote.source._id.toString() === sheriffPlayer?._id.toString();\n const voteValue = game.currentPlay.action === GAME_PLAY_ACTIONS.VOTE && isVoteSourceSheriff && doesSheriffHaveDoubledVote ? doubledVoteValue : 1;\n const existingPlayerVoteCount = acc.find(value => value[0]._id.toString() === vote.target._id.toString());\n if (existingPlayerVoteCount) {\n existingPlayerVoteCount[1] += voteValue;\n return acc;\n }\n return [...acc, [vote.target, voteValue]];\n }, []);\n }\n \n private addRavenMarkVoteToPlayerVoteCounts(playerVoteCounts: PlayerVoteCount[], game: GameWithCurrentPlay): PlayerVoteCount[] {\n const clonedGame = createGame(game) as GameWithCurrentPlay;\n const ravenPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.RAVEN);\n const ravenMarkedPlayer = getPlayerWithActiveAttributeName(clonedGame, PLAYER_ATTRIBUTE_NAMES.RAVEN_MARKED);\n if (clonedGame.currentPlay.action !== GAME_PLAY_ACTIONS.VOTE || ravenPlayer?.isAlive !== true ||\n !isPlayerPowerful(ravenPlayer, clonedGame) || ravenMarkedPlayer?.isAlive !== true) {\n return playerVoteCounts;\n }\n const ravenMarkedPlayerVoteCount = playerVoteCounts.find(playerVoteCount => playerVoteCount[0]._id.toString() === ravenMarkedPlayer._id.toString());\n const { markPenalty } = clonedGame.options.roles.raven;\n if (ravenMarkedPlayerVoteCount) {\n ravenMarkedPlayerVoteCount[1] += markPenalty;\n return playerVoteCounts;\n }\n return [...playerVoteCounts, [ravenMarkedPlayer, markPenalty]];\n }\n}" - }, - "src/modules/game/providers/services/game-play/game-play.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "1986", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(22,57): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2211", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(106,61): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(107,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "572", - "573" + "144", + "145", + "166", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 4, - "line": 32 + "column": 21, + "line": 122 }, "start": { - "column": 71, - "line": 22 + "column": 9, + "line": 122 } } }, { - "id": "1987", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(24,45): error TS2322: Type 'string' is not assignable to type 'GamePlay'.\n", + "id": "2212", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(107,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "572", - "573" + "144", + "145", + "166", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 46, - "line": 24 + "column": 21, + "line": 122 }, "start": { - "column": 44, - "line": 24 + "column": 9, + "line": 122 } } }, { - "id": "1988", + "id": "2213", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(105,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "572", - "573" + "144", + "166" ], "location": { "end": { "column": 6, - "line": 29 + "line": 124 }, "start": { - "column": 58, - "line": 25 + "column": 23, + "line": 122 } } }, { - "id": "1989", + "id": "2214", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -14,10 +14,18 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "144" + ], + "coveredBy": [ + "144", + "166" + ], + "location": { + "end": { + "column": 19, + "line": 123 + }, + "start": { + "column": 14, + "line": 123 + } + } + }, + { + "id": "2215", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "167" + ], "coveredBy": [ - "228", - "229", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 81, - "line": 26 + "column": 157, + "line": 126 }, "start": { - "column": 11, - "line": 26 + "column": 12, + "line": 126 } } }, { - "id": "1990", + "id": "2216", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 34\n+ Received + 1\n\n@@ -150,42 +150,9 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 8105656420663296,\n \"turn\": 458364148514816,\n- \"upcomingPlays\": Array [\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": 2023-08-11T18:54:09.572Z,\n \"victory\": undefined,\n }\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -54,18 +54,10 @@\n \"name\": \"fox\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "228" + "145" ], "coveredBy": [ - "228", - "229", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 81, - "line": 26 + "column": 157, + "line": 126 }, "start": { - "column": 11, - "line": 26 + "column": 12, + "line": 126 } } }, { - "id": "1991", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2217", + "mutatorName": "LogicalOperator", + "replacement": "!inLovePlayers.length && isPlayerAliveAndPowerful(cupidPlayer, game) && inLovePlayers.length > 0 && inLovePlayers.every(player => player.isAlive)", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -54,18 +54,10 @@\n \"name\": \"fox\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "228", - "229", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 8, - "line": 28 + "column": 157, + "line": 126 }, "start": { - "column": 83, - "line": 26 + "column": 12, + "line": 126 } } }, { - "id": "1992", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(34,45): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2218", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -54,18 +54,10 @@\n \"name\": \"fox\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "230", - "231", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 4, - "line": 44 + "column": 80, + "line": 126 }, "start": { - "column": 50, - "line": 34 + "column": 12, + "line": 126 } } }, { - "id": "1993", - "mutatorName": "BooleanLiteral", - "replacement": "clonedGame.upcomingPlays.length", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'source')\n at GamePlayService.proceedToNextGamePlay (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-play/game-play.service.ts:109:30)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:114:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2219", + "mutatorName": "LogicalOperator", + "replacement": "!inLovePlayers.length || isPlayerAliveAndPowerful(cupidPlayer, game)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "230" + "167" ], "coveredBy": [ - "230", - "231", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 41, - "line": 36 + "column": 80, + "line": 126 }, "start": { - "column": 9, - "line": 36 + "column": 12, + "line": 126 } } }, { - "id": "1994", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(41,5): error TS18047: 'clonedGame.currentPlay' is possibly 'null'.\n", - "status": "CompileError", + "id": "2220", + "mutatorName": "BooleanLiteral", + "replacement": "inLovePlayers.length", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -54,18 +54,10 @@\n \"name\": \"fox\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "230", - "231", - "572", - "573" + "145", + "167", + "168", + "169", + "170", + "171" ], "location": { "end": { - "column": 41, - "line": 36 + "column": 33, + "line": 126 }, "start": { - "column": 9, - "line": 36 + "column": 12, + "line": 126 } } }, { - "id": "1995", + "id": "2221", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'source')\n at GamePlayService.proceedToNextGamePlay (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-play/game-play.service.ts:109:30)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:114:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:362:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "230" + "171" ], "coveredBy": [ - "230", - "231", - "572", - "573" + "167", + "168", + "170", + "171" ], "location": { "end": { - "column": 41, - "line": 36 + "column": 157, + "line": 126 }, "start": { - "column": 9, - "line": 36 + "column": 84, + "line": 126 } } }, { - "id": "1996", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'source')\n at GamePlayService.proceedToNextGamePlay (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-play/game-play.service.ts:109:30)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:114:32)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2222", + "mutatorName": "LogicalOperator", + "replacement": "inLovePlayers.length > 0 || inLovePlayers.every(player => player.isAlive)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "167", + "168", + "170", + "171" + ], + "location": { + "end": { + "column": 157, + "line": 126 + }, + "start": { + "column": 84, + "line": 126 + } + } + }, + { + "id": "2223", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 4, "static": false, "killedBy": [ - "230" + "167" ], "coveredBy": [ - "230" + "167", + "168", + "170", + "171" ], "location": { "end": { - "column": 6, - "line": 39 + "column": 108, + "line": 126 }, "start": { - "column": 43, - "line": 36 + "column": 84, + "line": 126 } } }, { - "id": "1997", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(46,33): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2224", + "mutatorName": "EqualityOperator", + "replacement": "inLovePlayers.length >= 0", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "232" + "167", + "168", + "170", + "171" ], "location": { "end": { - "column": 4, - "line": 48 + "column": 108, + "line": 126 }, "start": { - "column": 44, - "line": 46 + "column": 84, + "line": 126 } } }, - { - "id": "1998", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "status": "Timeout", + { + "id": "2225", + "mutatorName": "EqualityOperator", + "replacement": "inLovePlayers.length <= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "167" + ], "coveredBy": [ - "232" + "167", + "168", + "170", + "171" ], "location": { "end": { - "column": 37, - "line": 47 + "column": 108, + "line": 126 }, "start": { - "column": 12, - "line": 47 + "column": 84, + "line": 126 } } }, { - "id": "1999", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(50,67): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2226", + "mutatorName": "MethodExpression", + "replacement": "inLovePlayers.some(player => player.isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:350:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "170" + ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "170", + "171" ], "location": { "end": { - "column": 4, - "line": 61 + "column": 157, + "line": 126 }, "start": { - "column": 87, - "line": 50 + "column": 112, + "line": 126 } } }, { - "id": "2000", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2227", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:362:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "235" + "171" ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "170", + "171" ], "location": { "end": { - "column": 41, - "line": 51 + "column": 156, + "line": 126 }, "start": { - "column": 26, - "line": 51 + "column": 132, + "line": 126 } } }, { - "id": "2001", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 56\n+ Received + 0\n\n@@ -6,42 +6,10 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n- \"cause\": \"angel-presence\",\n- \"source\": GamePlaySource {\n- \"name\": \"all\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"choose-card\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"thief\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"choose-side\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"dog-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"cupid\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"look\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"seer\",\n \"players\": undefined,\n@@ -57,43 +25,19 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"choose-sign\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"stuttering-judge\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"choose-model\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"wild-child\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"mark\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2228", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(129,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "234" - ], + "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "172", + "173", + "174", + "175", + "176", + "177", + "178", + "179", + "261", + "517", + "518", + "519", + "530" ], "location": { "end": { - "column": 41, - "line": 51 + "column": 4, + "line": 138 }, "start": { - "column": 26, - "line": 51 + "column": 105, + "line": 129 } } }, { - "id": "2002", - "mutatorName": "EqualityOperator", - "replacement": "game.turn !== 1", - "status": "Timeout", + "id": "2229", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(134,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(136,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(137,54): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "172", + "173", + "174", + "175", + "176", + "177", + "178", + "179", + "261", + "517", + "518", + "519", + "530" ], "location": { "end": { - "column": 41, - "line": 51 + "column": 59, + "line": 130 }, "start": { - "column": 26, - "line": 51 + "column": 9, + "line": 130 } } }, { - "id": "2003", - "mutatorName": "MethodExpression", - "replacement": "gamePlaysNightOrder", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2230", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:377:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 15, "static": false, "killedBy": [ - "235" + "172" ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "172", + "173", + "174", + "175", + "176", + "177", + "178", + "179", + "261", + "517", + "518", + "519", + "530" ], "location": { "end": { - "column": 114, - "line": 52 + "column": 59, + "line": 130 }, "start": { - "column": 32, - "line": 52 + "column": 9, + "line": 130 } } }, { - "id": "2004", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c2cfe50c945f1c5344b7\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c2cfe50c945f1c5344b8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c2cfe50c945f1c5344b9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c2cfe50c945f1c5344ba\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c2cfe50c945f1c5344bb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c2cfe50c945f1c5344bc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2231", + "mutatorName": "EqualityOperator", + "replacement": "gamePlay.cause === GAME_PLAY_CAUSES.ANGEL_PRESENCE", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 13\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39326edc5ffed1804669e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39326edc5ffed1804669f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39326edc5ffed180466a0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39326edc5ffed180466a1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39326edc5ffed180466a2\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39326edc5ffed180466a3\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,10 +281,17 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 15, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "172", + "173", + "174", + "175", + "176", + "177", + "178", + "179", + "261", + "517", + "518", + "519", + "530" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 59, + "line": 130 }, "start": { - "column": 59, - "line": 52 + "column": 9, + "line": 130 } } }, { - "id": "2005", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2232", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"64f7756a00e88ad2cc4fe9bf\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"aaca6811b7f543fd68d80ed3\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Heloise\",\n- \"position\": 4827405178896384,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"afcd87740d45fea9a2740cf2\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Marion\",\n \"position\": 382261063057408,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"131baa5eaeffdeb6e802a4ed\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Makenna\",\n- \"position\": 4664843999117312,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"e7e1ba8ad826f3d40ae3bf07\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Josh\",\n- \"position\": 5414055474888704,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 7764917958475777,\n \"turn\": 5647685677744128,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 4, "static": false, "killedBy": [ - "235" + "530" ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "172", + "173", + "261", + "530" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 6, + "line": 132 }, "start": { - "column": 67, - "line": 52 + "column": 61, + "line": 130 } } }, { - "id": "2006", - "mutatorName": "ConditionalExpression", + "id": "2233", + "mutatorName": "BooleanLiteral", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -5,22 +5,6 @@\n \"source\": GamePlaySource {\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n- GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 57\n+ Received + 2\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"5fa1e2c7edf8c4bc4175c662\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"e554c1a3d3ff34e497a2d996\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Christopher\",\n- \"position\": 7630309247942656,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"8070fcff857acc8128bc7d8a\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Jovany\",\n \"position\": 2932894693588992,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"7f5ddaf1fa2436dedca6f6fc\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Trycia\",\n- \"position\": 8155316164231168,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"b3b094b1fb055e8bc3ae9c12\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Paolo\",\n- \"position\": 6727465403678720,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -218,16 +169,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 3294379793973249,\n \"turn\": 3933142542974976,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 4, "static": false, "killedBy": [ - "233" + "530" ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "172", + "173", + "261", + "530" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 18, + "line": 131 }, "start": { - "column": 67, - "line": 52 + "column": 14, + "line": 131 } } }, { - "id": "2007", - "mutatorName": "LogicalOperator", - "replacement": "isFirstNight && play.isFirstNightOnly !== true", - "status": "Timeout", + "id": "2234", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(115,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(117,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(118,54): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "174", + "175", + "176", + "177", + "178", + "179", + "517", + "518", + "519" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 38, + "line": 133 }, "start": { - "column": 67, - "line": 52 + "column": 9, + "line": 133 } } }, { - "id": "2008", + "id": "2235", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 1\n\n- Array [\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- ]\n+ Array []\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(115,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(117,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(118,67): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "235" - ], + "killedBy": [], "coveredBy": [ - "235" + "144", + "145", + "174", + "175", + "176", + "177", + "178", + "179", + "517", + "518", + "519" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 38, + "line": 133 }, "start": { - "column": 83, - "line": 52 + "column": 9, + "line": 133 } } }, { - "id": "2009", - "mutatorName": "EqualityOperator", - "replacement": "play.isFirstNightOnly === true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 10\n\n Array [\n GamePlay {\n- \"action\": \"eat\",\n+ \"action\": \"charm\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"werewolves\",\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n \"players\": undefined,\n },\n },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "2236", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(85,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(86,67): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "235" - ], + "killedBy": [], "coveredBy": [ - "235" + "174", + "175", + "517", + "518", + "519" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 6, + "line": 135 }, "start": { - "column": 83, - "line": 52 + "column": 40, + "line": 133 } } }, { - "id": "2010", + "id": "2237", "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 16\n\n@@ -1,7 +1,23 @@\n Array [\n GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"lovers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.ANGEL)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 13\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3932c5d357f239e3cff2a\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3932c5d357f239e3cff2b\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3932c5d357f239e3cff2c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3932c5d357f239e3cff2d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3932c5d357f239e3cff2e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e3932c5d357f239e3cff2f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,10 +281,17 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 5, "static": false, "killedBy": [ - "235" + "517" ], "coveredBy": [ - "235" + "174", + "175", + "517", + "518", + "519" ], "location": { "end": { - "column": 113, - "line": 52 + "column": 60, + "line": 134 }, "start": { - "column": 109, - "line": 52 + "column": 14, + "line": 134 } } }, { - "id": "2011", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 89\n+ Received + 3\n\n@@ -1,81 +1,17 @@\n Object {\n \"_id\": Any,\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"elect-sheriff\",\n+ \"action\": \"charm\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"cupid\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Antoine\",\n- \"position\": 0,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Mathis\",\n- \"position\": 1,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Virgil\",\n- \"position\": 2,\n- \"role\": Object {\n- \"current\": \"villager-villager\",\n- \"isRevealed\": true,\n- \"original\": \"villager-villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c3273e58afbf6f5f370a\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"JB\",\n- \"position\": 3,\n- \"role\": Object {\n- \"current\": \"white-werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"white-werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n \"current\": \"cupid\",\n \"isRevealed\": false,\n@@ -84,26 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": Any,\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Juju\",\n- \"position\": 5,\n- \"role\": Object {\n- \"current\": \"seer\",\n- \"isRevealed\": false,\n- \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -281,16 +201,10 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2238", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.ANGEL)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 13\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7db6561842a973e0881\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7db6561842a973e0882\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7db6561842a973e0883\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7db6561842a973e0884\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7db6561842a973e0885\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7db6561842a973e0886\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,10 +281,17 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "560" + "517" ], "coveredBy": [ - "233", - "234", - "560" + "174", + "175", + "517", + "518", + "519" ], "location": { "end": { - "column": 101, - "line": 54 + "column": 60, + "line": 134 }, "start": { - "column": 68, - "line": 54 + "column": 15, + "line": 134 } } }, { - "id": "2012", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(54,11): error TS2322: Type 'GamePlay[] | string[]' is not assignable to type 'GamePlay[]'.\n Type 'string[]' is not assignable to type 'GamePlay[]'.\n Type 'string' is not assignable to type 'GamePlay'.\n", - "status": "CompileError", + "id": "2239", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -6,10 +6,18 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"look\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"seer\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "144" + ], "coveredBy": [ - "235", - "561" + "144", + "145", + "176", + "177", + "178", + "179" ], "location": { "end": { - "column": 106, - "line": 54 + "column": 72, + "line": 137 }, "start": { - "column": 104, - "line": 54 + "column": 12, + "line": 137 } } }, { - "id": "2013", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c35b82fbebd932ba7f60\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c35b82fbebd932ba7f61\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c35b82fbebd932ba7f62\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c35b82fbebd932ba7f63\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c35b82fbebd932ba7f64\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c35b82fbebd932ba7f65\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2240", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -6,18 +6,10 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"vote\",\n- \"cause\": \"angel-presence\",\n- \"source\": GamePlaySource {\n- \"name\": \"all\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-card\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"thief\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 6, "static": false, "killedBy": [ - "560" + "145" ], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "176", + "177", + "178", + "179" ], "location": { "end": { - "column": 6, - "line": 59 + "column": 72, + "line": 137 }, "start": { - "column": 57, - "line": 55 + "column": 12, + "line": 137 } } }, { - "id": "2014", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2241", + "mutatorName": "LogicalOperator", + "replacement": "!!angelPlayer || isPlayerAliveAndPowerful(angelPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(118,54): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "176", + "177", + "178", + "179" ], "location": { "end": { - "column": 80, - "line": 56 + "column": 72, + "line": 137 }, "start": { - "column": 11, - "line": 56 + "column": 12, + "line": 137 } } }, { - "id": "2015", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c36013da9a9a8d088aa8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c36013da9a9a8d088aa9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c36013da9a9a8d088aaa\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c36013da9a9a8d088aab\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c36013da9a9a8d088aac\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c36013da9a9a8d088aad\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "id": "2242", + "mutatorName": "BooleanLiteral", + "replacement": "!angelPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(118,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "killedBy": [], + "coveredBy": [ + "144", + "145", + "176", + "177", + "178", + "179" ], "location": { "end": { - "column": 80, - "line": 56 + "column": 25, + "line": 137 }, "start": { - "column": 11, - "line": 56 + "column": 12, + "line": 137 } } }, { - "id": "2016", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 38\n+ Received + 7\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c39831419f6a69c192d0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c39831419f6a69c192d1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c39831419f6a69c192d2\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c39831419f6a69c192d3\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c39831419f6a69c192d4\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7c39831419f6a69c192d5\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -280,39 +280,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"charm\",\n- \"source\": Object {\n- \"name\": \"cupid\",\n- },\n- },\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 5, + "id": "2243", + "mutatorName": "BooleanLiteral", + "replacement": "angelPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(118,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "560", - "561" + "144", + "145", + "176", + "177", + "178", + "179" ], "location": { "end": { - "column": 8, - "line": 58 + "column": 25, + "line": 137 }, "start": { - "column": 82, - "line": 56 + "column": 13, + "line": 137 } } }, { - "id": "2017", + "id": "2244", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(63,122): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(140,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "236", - "237", - "238", - "239", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "180", + "181", + "182", + "183", + "184", + "185", + "186", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 66 + "line": 150 }, "start": { - "column": 130, - "line": 63 + "column": 107, + "line": 140 } } }, { - "id": "2018", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"elect-sheriff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, + "id": "2245", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(142,11): error TS2739: Type '{}' is missing the following properties from type 'Record boolean>': all, villagers, werewolves, lovers, charmed\n", + "status": "CompileError", "static": false, - "killedBy": [ - "235" - ], + "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "236", - "237", - "238", - "239", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "180", + "181", + "182", + "183", + "184", + "185", + "186", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 91, - "line": 65 + "column": 6, + "line": 148 }, "start": { - "column": 12, - "line": 65 + "column": 118, + "line": 142 } } }, { - "id": "2019", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2246", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(146,41): error TS2322: Type 'undefined' is not assignable to type 'boolean'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "236", - "237", - "238", - "239", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "180", + "181", + "182", + "183", + "184", + "185", + "186", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 91, - "line": 65 + "column": 164, + "line": 146 }, "start": { - "column": 12, - "line": 65 + "column": 35, + "line": 146 } } }, { - "id": "2020", - "mutatorName": "LogicalOperator", - "replacement": "isEnabled && electedAt.turn === currentTurn || electedAt.phase === currentPhase", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"elect-sheriff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2247", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:539:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 12, "static": false, "killedBy": [ - "235" + "185" ], "coveredBy": [ - "233", - "234", - "235", - "236", - "237", - "238", - "239", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "183", + "185", + "186", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 91, - "line": 65 + "column": 164, + "line": 146 }, "start": { - "column": 12, - "line": 65 + "column": 41, + "line": 146 } } }, { - "id": "2021", + "id": "2248", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"elect-sheriff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39354812e63d82bb74551\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39354812e63d82bb74552\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39354812e63d82bb74553\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39354812e63d82bb74554\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39354812e63d82bb74555\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39354812e63d82bb74556\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -297,16 +297,10 @@\n },\n Object {\n \"action\": \"meet-each-other\",\n \"source\": Object {\n \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 12, "static": false, "killedBy": [ - "235" + "517" ], "coveredBy": [ - "233", - "234", - "235", - "236", - "237", - "238", - "239", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "183", + "185", + "186", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 55, - "line": 65 + "column": 164, + "line": 146 }, "start": { - "column": 12, - "line": 65 + "column": 41, + "line": 146 } } }, { - "id": "2022", + "id": "2249", "mutatorName": "LogicalOperator", - "replacement": "isEnabled || electedAt.turn === currentTurn", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"elect-sheriff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"all\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 9, + "replacement": "game instanceof CreateGameDto && getGroupOfPlayers(game, source).some(werewolf => isPlayerAliveAndPowerful(werewolf, game))", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(146,92): error TS2345: Argument of type 'CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(146,158): error TS2345: Argument of type 'CreateGameDto' is not assignable to parameter of type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "235" - ], + "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "236", - "237", - "238", - "239", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "183", + "185", + "186", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 55, - "line": 65 + "column": 164, + "line": 146 }, "start": { - "column": 12, - "line": 65 + "column": 41, + "line": 146 } } }, { - "id": "2023", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2250", + "mutatorName": "MethodExpression", + "replacement": "getGroupOfPlayers(game, source).every(werewolf => isPlayerAliveAndPowerful(werewolf, game))", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:648:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "186" + ], "coveredBy": [ - "233", - "234", - "235", - "237", - "238", - "239", - "560" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531" ], "location": { "end": { - "column": 55, - "line": 65 + "column": 164, + "line": 146 }, "start": { - "column": 25, - "line": 65 + "column": 74, + "line": 146 } } }, { - "id": "2024", - "mutatorName": "EqualityOperator", - "replacement": "electedAt.turn !== currentTurn", - "status": "Timeout", + "id": "2251", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 0\n\n@@ -224,14 +224,8 @@\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n- },\n- },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "233", - "234", - "235", - "237", - "238", - "239", - "560" + "144", + "145", + "146", + "147", + "148", + "185", + "186", + "530", + "531" ], "location": { "end": { - "column": 55, - "line": 65 + "column": 163, + "line": 146 }, "start": { - "column": 25, - "line": 65 + "column": 111, + "line": 146 } } }, { - "id": "2025", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:258:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2252", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(147,40): error TS2322: Type 'undefined' is not assignable to type 'boolean'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "238" - ], + "killedBy": [], "coveredBy": [ - "233", - "234", - "238", - "239", - "560" + "144", + "145", + "146", + "147", + "148", + "180", + "181", + "182", + "183", + "184", + "185", + "186", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 91, - "line": 65 + "column": 45, + "line": 147 }, "start": { - "column": 59, - "line": 65 + "column": 34, + "line": 147 } } }, { - "id": "2026", - "mutatorName": "EqualityOperator", - "replacement": "electedAt.phase !== currentPhase", - "status": "Timeout", + "id": "2253", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:526:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "184" + ], "coveredBy": [ - "233", - "234", - "238", - "239", - "560" + "184" ], "location": { "end": { - "column": 91, - "line": 65 + "column": 45, + "line": 147 }, "start": { - "column": 59, - "line": 65 + "column": 40, + "line": 147 } } }, { - "id": "2027", + "id": "2254", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(68,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(152,85): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "240", - "241", - "242", - "243", - "244", - "245", - "246", - "247", - "560", - "561" + "145", + "146", + "147", + "148", + "187", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "519" ], "location": { "end": { "column": 4, - "line": 78 + "line": 161 }, "start": { - "column": 88, - "line": 68 + "column": 102, + "line": 152 } } }, { - "id": "2028", + "id": "2255", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(70,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(72,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(76,51): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(77,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(154,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(156,123): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(157,124): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(159,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(160,54): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "240", - "241", - "242", - "243", - "244", - "245", - "246", - "247", - "560", - "561" + "145", + "146", + "147", + "148", + "187", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "519" ], "location": { "end": { "column": 38, - "line": 69 + "line": 153 }, "start": { "column": 9, - "line": 69 + "line": 153 } } }, { - "id": "2029", + "id": "2256", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(70,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(72,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(76,51): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(154,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(156,123): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(157,124): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(159,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(160,67): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "240", - "241", - "242", - "243", - "244", - "245", - "246", - "247", - "560", - "561" + "145", + "146", + "147", + "148", + "187", + "188", + "189", + "190", + "191", + "192", + "193", + "194", + "519" ], "location": { "end": { "column": 38, - "line": 69 + "line": 153 }, "start": { "column": 9, - "line": 69 + "line": 153 } } }, { - "id": "2030", + "id": "2257", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(70,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(74,61): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(75,75): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(105,123): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(106,124): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(108,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(109,67): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "560", - "561" + "187", + "519" ], "location": { "end": { "column": 6, - "line": 71 + "line": 155 }, "start": { "column": 40, - "line": 69 + "line": 153 } } }, { - "id": "2031", + "id": "2258", "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.CUPID)", - "status": "Timeout", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.WITCH)", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:566:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "187" + ], "coveredBy": [ - "240", - "241", - "560", - "561" + "187", + "519" ], "location": { "end": { "column": 60, - "line": 70 + "line": 154 }, "start": { "column": 14, - "line": 70 + "line": 154 } } }, { - "id": "2032", + "id": "2259", "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.CUPID)", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.WITCH)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "240", - "241", - "560", - "561" + "187", + "519" ], "location": { "end": { "column": 60, - "line": 70 + "line": 154 }, "start": { "column": 15, - "line": 70 + "line": 154 } } }, { - "id": "2033", - "mutatorName": "BooleanLiteral", - "replacement": "cupidPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(77,62): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2260", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:645:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "193" + ], "coveredBy": [ - "233", - "234", - "242", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 21, - "line": 73 + "column": 159, + "line": 156 }, "start": { - "column": 9, - "line": 73 + "column": 36, + "line": 156 } } }, { - "id": "2034", + "id": "2261", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, + "static": false, + "killedBy": [ + "191" + ], + "coveredBy": [ + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" + ], + "location": { + "end": { + "column": 159, + "line": 156 + }, + "start": { + "column": 36, + "line": 156 + } + } + }, + { + "id": "2262", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length >= 0", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:645:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, + "static": false, + "killedBy": [ + "193" + ], + "coveredBy": [ + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" + ], + "location": { + "end": { + "column": 159, + "line": 156 + }, + "start": { + "column": 36, + "line": 156 + } + } + }, + { + "id": "2263", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length <= 0", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:709:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, + "static": false, + "killedBy": [ + "191" + ], + "coveredBy": [ + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" + ], + "location": { + "end": { + "column": 159, + "line": 156 + }, + "start": { + "column": 36, + "line": 156 + } + } + }, + { + "id": "2264", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(76,51): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(77,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:756:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "194" + ], "coveredBy": [ - "233", - "234", - "242", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 21, - "line": 73 + "column": 161, + "line": 157 }, "start": { - "column": 9, - "line": 73 + "column": 37, + "line": 157 } } }, { - "id": "2035", + "id": "2265", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(77,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "191" + ], "coveredBy": [ - "233", - "234", - "242", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 21, - "line": 73 + "column": 161, + "line": 157 }, "start": { - "column": 9, - "line": 73 + "column": 37, + "line": 157 } } }, { - "id": "2036", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(75,62): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2266", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length >= 0", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:660:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "194" + ], "coveredBy": [ - "233", - "242" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 6, - "line": 75 + "column": 161, + "line": 157 }, "start": { - "column": 23, - "line": 73 + "column": 37, + "line": 157 } } }, { - "id": "2037", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "status": "Timeout", + "id": "2267", + "mutatorName": "EqualityOperator", + "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length <= 0", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "191" + ], "coveredBy": [ - "233", - "242" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 19, - "line": 74 + "column": 161, + "line": 157 }, "start": { - "column": 14, - "line": 74 + "column": 37, + "line": 157 } } }, { - "id": "2038", + "id": "2268", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -5,6 +5,14 @@\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n },\n },\n+ GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n+ \"players\": undefined,\n+ },\n+ },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 11, "static": false, "killedBy": [ - "243" + "146" ], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 157, - "line": 77 + "column": 154, + "line": 160 }, "start": { "column": 12, - "line": 77 + "line": 160 } } }, { - "id": "2039", + "id": "2269", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -134,18 +134,10 @@\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"charm\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"pied-piper\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 157, - "line": 77 + "column": 154, + "line": 160 }, "start": { "column": 12, - "line": 77 + "line": 160 } } }, { - "id": "2040", + "id": "2270", "mutatorName": "LogicalOperator", - "replacement": "!inLovePlayers.length && isPlayerAliveAndPowerful(cupidPlayer, game) && inLovePlayers.length > 0 && inLovePlayers.every(player => player.isAlive)", - "status": "Timeout", + "replacement": "!!witchPlayer && isPlayerAliveAndPowerful(witchPlayer, game) || !doSkipCallIfNoTarget || !hasWitchUsedLifePotion || !hasWitchUsedDeathPotion", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -5,6 +5,14 @@\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n },\n },\n+ GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n+ \"players\": undefined,\n+ },\n+ },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:251:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "146" + ], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 157, - "line": 77 + "column": 154, + "line": 160 }, "start": { "column": 12, - "line": 77 + "line": 160 } } }, { - "id": "2041", + "id": "2271", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -54,18 +54,10 @@\n \"name\": \"fox\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "234" - ], + "killedBy": [], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 80, - "line": 77 + "column": 72, + "line": 160 }, "start": { "column": 12, - "line": 77 + "line": 160 } } }, { - "id": "2042", + "id": "2272", "mutatorName": "LogicalOperator", - "replacement": "!inLovePlayers.length || isPlayerAliveAndPowerful(cupidPlayer, game)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "replacement": "!!witchPlayer || isPlayerAliveAndPowerful(witchPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(160,54): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "243" - ], + "killedBy": [], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" + ], + "location": { + "end": { + "column": 72, + "line": 160 + }, + "start": { + "column": 12, + "line": 160 + } + } + }, + { + "id": "2273", + "mutatorName": "BooleanLiteral", + "replacement": "!witchPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(160,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 80, - "line": 77 + "column": 25, + "line": 160 }, "start": { "column": 12, - "line": 77 + "line": 160 } } }, { - "id": "2043", + "id": "2274", "mutatorName": "BooleanLiteral", - "replacement": "inLovePlayers.length", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -54,18 +54,10 @@\n \"name\": \"fox\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"lovers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-sign\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "replacement": "witchPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(160,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "234" - ], + "killedBy": [], "coveredBy": [ - "234", - "243", - "244", - "245", - "246", - "247" + "145", + "146", + "147", + "148", + "188", + "189", + "190", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 33, - "line": 77 + "column": 25, + "line": 160 }, "start": { - "column": 12, - "line": 77 + "column": 13, + "line": 160 } } }, { - "id": "2044", + "id": "2275", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:362:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "247" + "191" ], "coveredBy": [ - "243", - "244", - "246", - "247" + "145", + "147", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 157, - "line": 77 + "column": 153, + "line": 160 }, "start": { - "column": 84, - "line": 77 + "column": 77, + "line": 160 } } }, { - "id": "2045", + "id": "2276", "mutatorName": "LogicalOperator", - "replacement": "inLovePlayers.length > 0 || inLovePlayers.every(player => player.isAlive)", - "status": "Timeout", + "replacement": "(!doSkipCallIfNoTarget || !hasWitchUsedLifePotion) && !hasWitchUsedDeathPotion", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:630:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "192" + ], "coveredBy": [ - "243", - "244", - "246", - "247" + "145", + "147", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 157, - "line": 77 + "column": 153, + "line": 160 }, "start": { - "column": 84, - "line": 77 + "column": 77, + "line": 160 } } }, { - "id": "2046", + "id": "2277", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:723:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "243" + "192" ], "coveredBy": [ - "243", - "244", - "246", - "247" + "145", + "147", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 108, - "line": 77 + "column": 125, + "line": 160 }, "start": { - "column": 84, - "line": 77 + "column": 77, + "line": 160 } } }, { - "id": "2047", - "mutatorName": "EqualityOperator", - "replacement": "inLovePlayers.length >= 0", - "status": "Timeout", + "id": "2278", + "mutatorName": "LogicalOperator", + "replacement": "!doSkipCallIfNoTarget && !hasWitchUsedLifePotion", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:630:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "192" + ], "coveredBy": [ - "243", - "244", - "246", - "247" + "145", + "147", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 108, - "line": 77 + "column": 125, + "line": 160 }, "start": { - "column": 84, - "line": 77 + "column": 77, + "line": 160 } } }, { - "id": "2048", - "mutatorName": "EqualityOperator", - "replacement": "inLovePlayers.length <= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:314:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2279", + "mutatorName": "BooleanLiteral", + "replacement": "doSkipCallIfNoTarget", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "243" + "191" ], "coveredBy": [ - "243", - "244", - "246", - "247" + "145", + "147", + "191", + "192", + "193", + "194" ], "location": { "end": { - "column": 108, - "line": 77 + "column": 98, + "line": 160 }, "start": { - "column": 84, - "line": 77 + "column": 77, + "line": 160 } } }, { - "id": "2049", - "mutatorName": "MethodExpression", - "replacement": "inLovePlayers.some(player => player.isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:350:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2280", + "mutatorName": "BooleanLiteral", + "replacement": "hasWitchUsedLifePotion", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "246" + "191" ], "coveredBy": [ - "246", - "247" + "147", + "191", + "193", + "194" ], "location": { "end": { - "column": 157, - "line": 77 + "column": 125, + "line": 160 }, "start": { - "column": 112, - "line": 77 + "column": 102, + "line": 160 } } }, { - "id": "2050", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:362:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2281", + "mutatorName": "BooleanLiteral", + "replacement": "hasWitchUsedDeathPotion", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "247" + "191" ], "coveredBy": [ - "246", - "247" + "191", + "194" ], "location": { "end": { - "column": 156, - "line": 77 + "column": 153, + "line": 160 }, "start": { - "column": 132, - "line": 77 + "column": 129, + "line": 160 } } }, { - "id": "2051", + "id": "2282", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(80,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(144,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "248", - "249", - "250", - "251", - "252", - "253", - "254", - "255", - "337", - "560", - "561", - "572" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { "column": 4, - "line": 89 + "line": 174 }, "start": { - "column": 105, - "line": 80 + "column": 95, + "line": 163 } } }, { - "id": "2052", + "id": "2283", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(85,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(87,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(88,54): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6202329/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:687:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "196" + ], "coveredBy": [ - "233", - "234", - "248", - "249", - "250", - "251", - "252", - "253", - "254", - "255", - "337", - "560", - "561", - "572" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { - "column": 59, - "line": 81 + "column": 94, + "line": 165 }, "start": { - "column": 9, - "line": 81 + "column": 54, + "line": 165 } } }, { - "id": "2053", + "id": "2284", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39350c4e9339c77ecd912\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39350c4e9339c77ecd913\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39350c4e9339c77ecd914\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39350c4e9339c77ecd915\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39350c4e9339c77ecd916\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39350c4e9339c77ecd917\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 14, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "233", - "234", - "248", - "249", - "250", - "251", - "252", - "253", - "254", - "255", - "337", - "560", - "561", - "572" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { - "column": 59, - "line": 81 + "column": 94, + "line": 165 }, "start": { - "column": 9, - "line": 81 + "column": 54, + "line": 165 } } }, { - "id": "2054", + "id": "2285", "mutatorName": "EqualityOperator", - "replacement": "gamePlay.cause === GAME_PLAY_CAUSES.ANGEL_PRESENCE", - "status": "Timeout", + "replacement": "(game.turn - 1) % wakingUpInterval !== 0", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393532a96035f55c087e6\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393532a96035f55c087e7\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393532a96035f55c087e8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393532a96035f55c087e9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393532a96035f55c087ea\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393532a96035f55c087eb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 14, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "233", - "234", - "248", - "249", - "250", - "251", - "252", - "253", - "254", - "255", - "337", - "560", - "561", - "572" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { - "column": 59, - "line": 81 + "column": 94, + "line": 165 }, "start": { - "column": 9, - "line": 81 + "column": 54, + "line": 165 } } }, { - "id": "2055", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2286", + "mutatorName": "ArithmeticOperator", + "replacement": "(game.turn - 1) * wakingUpInterval", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6202329/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:687:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "196" + ], "coveredBy": [ - "248", - "249", - "337", - "572" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { - "column": 6, - "line": 83 + "column": 88, + "line": 165 }, "start": { - "column": 61, - "line": 81 + "column": 54, + "line": 165 } } }, { - "id": "2056", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 59\n+ Received + 3\n\n@@ -1,78 +1,29 @@\n Object {\n \"_id\": \"cabfd09bc4d4c6516c2de7bb\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"84412becbeeb704af3cc7ba7\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Hilda\",\n- \"position\": 5112269193084928,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"2ccbb74f36aca9cded166c7c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Hazle\",\n \"position\": 247535652306944,\n \"role\": Object {\n \"current\": \"seer\",\n \"isRevealed\": false,\n \"original\": \"seer\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"8ebbffeff6f7c4b47fa3bdc3\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Tanya\",\n- \"position\": 6789956655644672,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n },\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"20c5bcc6c4e813d427be6bd2\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Saul\",\n- \"position\": 7192410008322048,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -217,15 +168,8 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 2494477390315521,\n \"turn\": 7748203743019008,\n- \"upcomingPlays\": Array [\n- Object {\n- \"action\": \"look\",\n- \"source\": Object {\n- \"name\": \"seer\",\n- },\n- },\n- ],\n+ \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:707:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2287", + "mutatorName": "ArithmeticOperator", + "replacement": "game.turn + 1", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5921227/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:778:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 13, "static": false, "killedBy": [ - "572" + "203" ], "coveredBy": [ - "248", - "249", - "337", - "572" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { - "column": 18, - "line": 82 + "column": 68, + "line": 165 }, "start": { - "column": 14, - "line": 82 + "column": 55, + "line": 165 } } }, { - "id": "2057", + "id": "2288", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(85,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(87,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(88,54): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(148,81): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(151,65): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(152,58): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(153,106): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "250", - "251", - "252", - "253", - "254", - "255", - "560", - "561" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { "column": 38, - "line": 84 + "line": 166 }, "start": { "column": 9, - "line": 84 + "line": 166 } } }, { - "id": "2058", + "id": "2289", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(85,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(87,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(148,81): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(151,65): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(152,58): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(153,127): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "250", - "251", - "252", - "253", - "254", - "255", - "560", - "561" + "145", + "195", + "196", + "197", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205", + "517", + "518" ], "location": { "end": { "column": 38, - "line": 84 + "line": 166 }, "start": { "column": 9, - "line": 84 + "line": 166 } } }, { - "id": "2059", + "id": "2290", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(85,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(86,67): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(119,65): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(120,58): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(121,127): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "250", - "251", - "560", - "561" + "195", + "196", + "197", + "517", + "518" ], "location": { "end": { "column": 6, - "line": 86 + "line": 168 }, "start": { "column": 40, - "line": 84 - } - } - }, - { - "id": "2060", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.ANGEL)", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "250", - "251", - "560", - "561" - ], - "location": { - "end": { - "column": 60, - "line": 85 - }, - "start": { - "column": 14, - "line": 85 + "line": 166 } } }, { - "id": "2061", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.ANGEL)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2291", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:674:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 5, "static": false, "killedBy": [ - "560" - ], - "coveredBy": [ - "250", - "251", - "560", - "561" + "195" ], - "location": { - "end": { - "column": 60, - "line": 85 - }, - "start": { - "column": 15, - "line": 85 - } - } - }, - { - "id": "2062", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "233", - "234", - "252", - "253", - "254", - "255" + "195", + "196", + "197", + "517", + "518" ], "location": { "end": { - "column": 72, - "line": 88 + "column": 113, + "line": 167 }, "start": { - "column": 12, - "line": 88 + "column": 14, + "line": 167 } } }, { - "id": "2063", + "id": "2292", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7e0e03d0d4100a5a6b8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7e0e03d0d4100a5a6b9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7e0e03d0d4100a5a6ba\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7e0e03d0d4100a5a6bb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7e0e03d0d4100a5a6bc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7e0e03d0d4100a5a6bd\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "233", - "234", - "252", - "253", - "254", - "255" + "195", + "196", + "197", + "517", + "518" ], "location": { "end": { - "column": 72, - "line": 88 + "column": 113, + "line": 167 }, "start": { - "column": 12, - "line": 88 + "column": 14, + "line": 167 } } }, { - "id": "2064", + "id": "2293", "mutatorName": "LogicalOperator", - "replacement": "!!angelPlayer || isPlayerAliveAndPowerful(angelPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(88,54): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn || !!getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:674:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "195" + ], "coveredBy": [ - "233", - "234", - "252", - "253", - "254", - "255" + "195", + "196", + "197", + "517", + "518" ], "location": { "end": { - "column": 72, - "line": 88 + "column": 113, + "line": 167 }, "start": { - "column": 12, - "line": 88 + "column": 14, + "line": 167 } } }, { - "id": "2065", + "id": "2294", "mutatorName": "BooleanLiteral", - "replacement": "!angelPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(88,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7dd1a15df90a1c608c0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7dd1a15df90a1c608c1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7dd1a15df90a1c608c2\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7dd1a15df90a1c608c3\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7dd1a15df90a1c608c4\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e4c7dd1a15df90a1c608c5\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5305159/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "233", - "234", - "252", - "253", - "254", - "255" + "195", + "197", + "517", + "518" ], "location": { "end": { - "column": 25, - "line": 88 + "column": 113, + "line": 167 }, "start": { - "column": 12, - "line": 88 + "column": 58, + "line": 167 } } }, { - "id": "2066", + "id": "2295", "mutatorName": "BooleanLiteral", - "replacement": "angelPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(88,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:674:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], - "coveredBy": [ - "233", - "234", - "252", - "253", - "254", - "255" + "killedBy": [ + "195" ], - "location": { - "end": { - "column": 25, - "line": 88 - }, - "start": { - "column": 13, - "line": 88 - } - } - }, - { - "id": "2067", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(91,99): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "256", - "257", - "258", - "259", - "260", - "261", - "262", - "337", - "560", - "561", - "572", - "573" + "195", + "197", + "517", + "518" ], "location": { "end": { - "column": 4, - "line": 101 + "column": 113, + "line": 167 }, "start": { - "column": 107, - "line": 91 + "column": 59, + "line": 167 } } }, { - "id": "2068", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(93,11): error TS2739: Type '{}' is missing the following properties from type 'Record boolean>': all, villagers, werewolves, lovers, charmed\n", - "status": "CompileError", + "id": "2296", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:712:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "198" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "256", - "257", - "258", - "259", - "260", - "261", - "262", - "337", - "560", - "561", - "572", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 6, - "line": 99 + "column": 59, + "line": 173 }, "start": { - "column": 118, - "line": 93 + "column": 12, + "line": 172 } } }, { - "id": "2069", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(97,41): error TS2322: Type 'undefined' is not assignable to type 'boolean'.\n", - "status": "CompileError", + "id": "2297", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -121,18 +121,10 @@\n },\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "256", - "257", - "258", - "259", - "260", - "261", - "262", - "337", - "560", - "561", - "572", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 164, - "line": 97 + "column": 59, + "line": 173 }, "start": { - "column": 35, - "line": 97 + "column": 12, + "line": 172 } } }, { - "id": "2070", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2298", + "mutatorName": "LogicalOperator", + "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn && !!whiteWerewolfPlayer && isPlayerAliveAndPowerful(whiteWerewolfPlayer, game) || !doSkipCallIfNoTarget || !!availableTargets.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:712:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "198" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "259", - "261", - "262", - "560", - "561", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 164, - "line": 97 + "column": 59, + "line": 173 }, "start": { - "column": 41, - "line": 97 + "column": 12, + "line": 172 } } }, { - "id": "2071", + "id": "2299", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64df3cfe12fa31ea9bf7ba0a\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64df3cfe12fa31ea9bf7ba0b\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64df3cfe12fa31ea9bf7ba0c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64df3cfe12fa31ea9bf7ba0d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64df3cfe12fa31ea9bf7ba0e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64df3cfe12fa31ea9bf7ba0f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -297,16 +297,10 @@\n },\n Object {\n \"action\": \"meet-each-other\",\n \"source\": Object {\n \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:818:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 9, "static": false, "killedBy": [ - "560" + "199" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "259", - "261", - "262", - "560", - "561", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 164, - "line": 97 + "column": 132, + "line": 172 }, "start": { - "column": 41, - "line": 97 + "column": 12, + "line": 172 } } }, { - "id": "2072", + "id": "2300", "mutatorName": "LogicalOperator", - "replacement": "game instanceof CreateGameDto && getGroupOfPlayers(game, source).some(werewolf => isPlayerAliveAndPowerful(werewolf, game))", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(97,92): error TS2345: Argument of type 'CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(97,158): error TS2345: Argument of type 'CreateGameDto' is not assignable to parameter of type 'Game'.\n", + "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn && !!whiteWerewolfPlayer || isPlayerAliveAndPowerful(whiteWerewolfPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(153,106): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "259", - "261", - "262", - "560", - "561", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 164, - "line": 97 + "column": 132, + "line": 172 }, "start": { - "column": 41, - "line": 97 + "column": 12, + "line": 172 } } }, { - "id": "2073", - "mutatorName": "MethodExpression", - "replacement": "getGroupOfPlayers(game, source).every(werewolf => isPlayerAliveAndPowerful(werewolf, game))", - "status": "Timeout", + "id": "2301", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(153,45): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 164, - "line": 97 + "column": 77, + "line": 172 }, "start": { - "column": 74, - "line": 97 + "column": 12, + "line": 172 } } }, { - "id": "2074", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 40\n+ Received + 12\n\n@@ -1,49 +1,27 @@\n Object {\n \"_id\": \"bdf4faee0dd939beb267bdbc\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"eat\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"werewolves\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"ecade9d4fafe1cff2e815fdc\",\n- \"attributes\": Array [\n- Object {\n- \"name\": \"seen\",\n- \"remainingPhases\": 1,\n- \"source\": \"seer\",\n- },\n- ],\n- \"isAlive\": true,\n- \"name\": \"Delfina\",\n- \"position\": 4291660001312768,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n- \"_id\": \"4ae06d17abec0ffcdfccbeeb\",\n+ \"_id\": \"bfcbf9fa48cb4ebed7c1dff4\",\n \"attributes\": Array [],\n \"isAlive\": true,\n- \"name\": \"Luella\",\n- \"position\": 367679265308672,\n+ \"name\": \"Christiana\",\n+ \"position\": 8504845862436864,\n \"role\": Object {\n- \"current\": \"werewolf\",\n+ \"current\": \"seer\",\n \"isRevealed\": false,\n- \"original\": \"werewolf\",\n+ \"original\": \"seer\",\n },\n \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n+ \"current\": \"villagers\",\n+ \"original\": \"villagers\",\n },\n },\n ],\n },\n },\n@@ -120,21 +98,15 @@\n },\n \"votes\": Object {\n \"canBeSkipped\": false,\n },\n },\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"players\": Array [\n Object {\n \"_id\": \"ecade9d4fafe1cff2e815fdc\",\n- \"attributes\": Array [\n- Object {\n- \"name\": \"seen\",\n- \"remainingPhases\": 1,\n- \"source\": \"seer\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Delfina\",\n \"position\": 4291660001312768,\n \"role\": Object {\n \"current\": \"werewolf\",\n@@ -195,9 +167,9 @@\n },\n },\n ],\n \"status\": \"playing\",\n \"tick\": 5890472914452481,\n- \"turn\": 890574888501248,\n+ \"turn\": 890574888501249,\n \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:754:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2302", + "mutatorName": "LogicalOperator", + "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn || !!whiteWerewolfPlayer", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'isAlive')\n at isPlayerAliveAndPowerful (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/src/modules/game/helpers/player/player.helper.ts:73:200)\n at GamePlayService.isWhiteWerewolfGamePlaySuitableForCurrentPhase (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/src/modules/game/providers/services/game-play/game-play.service.ts:272:942)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:712:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 9, "static": false, "killedBy": [ - "573" + "198" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "261", - "262", - "573" + "145", + "198", + "199", + "200", + "201", + "202", + "203", + "204", + "205" ], "location": { "end": { - "column": 163, - "line": 97 + "column": 77, + "line": 172 }, "start": { - "column": 111, - "line": 97 + "column": 12, + "line": 172 } } }, { - "id": "2075", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(98,40): error TS2322: Type 'undefined' is not assignable to type 'boolean'.\n", + "id": "2303", + "mutatorName": "BooleanLiteral", + "replacement": "!whiteWerewolfPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(153,105): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "256", - "257", - "258", - "259", - "260", - "261", - "262", - "337", - "560", - "561", - "572", - "573" + "145", + "198", + "200", + "201", + "202", + "204", + "205" ], "location": { "end": { - "column": 45, - "line": 98 + "column": 77, + "line": 172 }, "start": { - "column": 34, - "line": 98 + "column": 56, + "line": 172 } } }, { - "id": "2076", + "id": "2304", "mutatorName": "BooleanLiteral", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:526:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "replacement": "whiteWerewolfPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(153,105): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "260" - ], + "killedBy": [], "coveredBy": [ - "260" + "145", + "198", + "200", + "201", + "202", + "204", + "205" ], "location": { "end": { - "column": 45, - "line": 98 + "column": 77, + "line": 172 }, "start": { - "column": 40, - "line": 98 + "column": 57, + "line": 172 } } }, { - "id": "2077", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(103,85): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2305", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:765:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "202" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "263", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "561" + "145", + "202", + "204", + "205" ], "location": { "end": { - "column": 4, - "line": 112 + "column": 58, + "line": 173 }, "start": { - "column": 102, - "line": 103 + "column": 8, + "line": 173 } } }, { - "id": "2078", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(105,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(107,123): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(108,124): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(110,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(111,54): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2306", + "mutatorName": "LogicalOperator", + "replacement": "!doSkipCallIfNoTarget && !!availableTargets.length", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -121,18 +121,10 @@\n },\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "263", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "561" + "145", + "202", + "204", + "205" ], "location": { "end": { - "column": 38, - "line": 104 + "column": 58, + "line": 173 }, "start": { - "column": 9, - "line": 104 + "column": 8, + "line": 173 } } }, { - "id": "2079", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(105,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(107,123): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(108,124): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(110,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "id": "2307", + "mutatorName": "BooleanLiteral", + "replacement": "doSkipCallIfNoTarget", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -121,18 +121,10 @@\n },\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "263", - "264", - "265", - "266", - "267", - "268", - "269", - "270", - "561" + "145", + "202", + "204", + "205" ], "location": { "end": { - "column": 38, - "line": 104 + "column": 29, + "line": 173 }, "start": { - "column": 9, - "line": 104 + "column": 8, + "line": 173 } } }, { - "id": "2080", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(105,123): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(106,124): error TS2339: Property '_id' does not exist on type 'Game | CreateGameDto'.\n Property '_id' does not exist on type 'CreateGameDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(108,50): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(109,67): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", - "status": "CompileError", + "id": "2308", + "mutatorName": "BooleanLiteral", + "replacement": "!availableTargets.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:765:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "202" + ], "coveredBy": [ - "263", - "561" + "202", + "205" ], "location": { "end": { - "column": 6, - "line": 106 + "column": 58, + "line": 173 }, "start": { - "column": 40, - "line": 104 + "column": 33, + "line": 173 } } }, { - "id": "2081", + "id": "2309", "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.WITCH)", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:566:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "availableTargets.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:765:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "263" + "202" ], "coveredBy": [ - "263", - "561" + "202", + "205" ], "location": { "end": { - "column": 60, - "line": 105 + "column": 58, + "line": 173 }, "start": { - "column": 14, - "line": 105 + "column": 34, + "line": 173 } } }, { - "id": "2082", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.WITCH)", - "status": "Timeout", + "id": "2310", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(176,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "263", - "561" + "144", + "145", + "146", + "206", + "207", + "208", + "209", + "210", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 60, - "line": 105 + "column": 4, + "line": 182 }, "start": { - "column": 15, - "line": 105 + "column": 91, + "line": 176 } } }, { - "id": "2083", + "id": "2311", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:645:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(178,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(180,54): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(181,51): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "269" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "206", + "207", + "208", + "209", + "210", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 159, - "line": 107 + "column": 38, + "line": 177 }, "start": { - "column": 36, - "line": 107 + "column": 9, + "line": 177 } } }, { - "id": "2084", + "id": "2312", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(178,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(180,54): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(181,68): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "267" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "206", + "207", + "208", + "209", + "210", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 159, - "line": 107 + "column": 38, + "line": 177 }, "start": { - "column": 36, - "line": 107 + "column": 9, + "line": 177 } } }, { - "id": "2085", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length >= 0", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:645:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "2313", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(129,54): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(130,68): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "269" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "206", + "207", + "517", + "518", + "519" ], "location": { "end": { - "column": 159, - "line": 107 + "column": 6, + "line": 179 }, "start": { - "column": 36, - "line": 107 + "column": 40, + "line": 177 } } }, { - "id": "2086", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length <= 0", - "status": "Timeout", + "id": "2314", + "mutatorName": "BooleanLiteral", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.PIED_PIPER)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:819:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "206" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "206", + "207", + "517", + "518", + "519" ], "location": { "end": { - "column": 159, - "line": 107 + "column": 65, + "line": 178 }, "start": { - "column": 36, - "line": 107 + "column": 14, + "line": 178 } } }, { - "id": "2087", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2315", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.PIED_PIPER)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:819:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "206" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "206", + "207", + "517", + "518", + "519" ], "location": { "end": { - "column": 161, - "line": 108 + "column": 65, + "line": 178 }, "start": { - "column": 37, - "line": 108 + "column": 15, + "line": 178 } } }, { - "id": "2088", + "id": "2316", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -21,6 +21,14 @@\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n },\n },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"charmed\",\n+ \"players\": undefined,\n+ },\n+ },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 6, "static": false, "killedBy": [ - "267" + "144" ], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "208", + "209", + "210", + "530", + "531" ], "location": { "end": { - "column": 161, - "line": 108 + "column": 73, + "line": 181 }, "start": { - "column": 37, - "line": 108 + "column": 12, + "line": 181 } } }, { - "id": "2089", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length >= 0", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:660:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2317", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -141,22 +141,6 @@\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"charmed\",\n- \"players\": undefined,\n- },\n- },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 6, "static": false, "killedBy": [ - "270" + "145" ], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "208", + "209", + "210", + "530", + "531" ], "location": { "end": { - "column": 161, - "line": 108 + "column": 73, + "line": 181 }, "start": { - "column": 37, - "line": 108 + "column": 12, + "line": 181 } } }, { - "id": "2090", - "mutatorName": "EqualityOperator", - "replacement": "(await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length <= 0", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "2318", + "mutatorName": "LogicalOperator", + "replacement": "!!piedPiperPlayer || canPiedPiperCharm(piedPiperPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,51): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "267" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "208", + "209", + "210", + "530", + "531" ], "location": { "end": { - "column": 161, - "line": 108 + "column": 73, + "line": 181 }, "start": { - "column": 37, - "line": 108 + "column": 12, + "line": 181 } } }, { - "id": "2091", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -168,10 +168,18 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:106:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "2319", + "mutatorName": "BooleanLiteral", + "replacement": "!piedPiperPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,50): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "229" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "208", + "209", + "210", + "530", + "531" ], "location": { "end": { - "column": 154, - "line": 111 + "column": 29, + "line": 181 }, "start": { "column": 12, - "line": 111 + "line": 181 } } }, { - "id": "2092", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -168,18 +168,10 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "2320", + "mutatorName": "BooleanLiteral", + "replacement": "piedPiperPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,50): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "228" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "144", + "145", + "146", + "208", + "209", + "210", + "530", + "531" ], "location": { "end": { - "column": 154, - "line": 111 + "column": 29, + "line": 181 }, "start": { - "column": 12, - "line": 111 + "column": 13, + "line": 181 } } }, { - "id": "2093", - "mutatorName": "LogicalOperator", - "replacement": "!!witchPlayer && isPlayerAliveAndPowerful(witchPlayer, game) || !doSkipCallIfNoTarget || !hasWitchUsedLifePotion || !hasWitchUsedDeathPotion", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -168,10 +168,18 @@\n \"name\": \"hunter\",\n \"players\": undefined,\n },\n },\n GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:106:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 11, + "id": "2321", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(165,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "229" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "145", + "211", + "212", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 154, - "line": 111 + "column": 4, + "line": 194 }, "start": { - "column": 12, - "line": 111 + "column": 92, + "line": 184 } } }, { - "id": "2094", + "id": "2322", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(167,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(170,62): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(172,55): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(173,59): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(174,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "145", + "211", + "212", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 72, - "line": 111 + "column": 38, + "line": 185 }, "start": { - "column": 12, - "line": 111 + "column": 9, + "line": 185 } } }, { - "id": "2095", - "mutatorName": "LogicalOperator", - "replacement": "!!witchPlayer || isPlayerAliveAndPowerful(witchPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(111,54): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "id": "2323", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(167,37): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(170,62): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(172,55): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(173,77): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(174,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "145", + "211", + "212", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 72, - "line": 111 + "column": 38, + "line": 185 }, "start": { - "column": 12, - "line": 111 + "column": 9, + "line": 185 } } }, { - "id": "2096", - "mutatorName": "BooleanLiteral", - "replacement": "!witchPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(111,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "id": "2324", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(138,62): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(140,55): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(141,77): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(142,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "211", + "212" ], "location": { "end": { - "column": 25, - "line": 111 + "column": 6, + "line": 187 }, "start": { - "column": 12, - "line": 111 + "column": 40, + "line": 185 } } }, { - "id": "2097", + "id": "2325", "mutatorName": "BooleanLiteral", - "replacement": "witchPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(111,53): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.BIG_BAD_WOLF)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:884:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "211" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "264", - "265", - "266", - "267", - "268", - "269", - "270" + "211", + "212" ], "location": { "end": { - "column": 25, - "line": 111 + "column": 67, + "line": 186 }, "start": { - "column": 13, - "line": 111 + "column": 14, + "line": 186 } } }, { - "id": "2098", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2326", + "mutatorName": "BooleanLiteral", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.BIG_BAD_WOLF)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:884:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 2, "static": false, "killedBy": [ - "267" + "211" ], "coveredBy": [ - "228", - "234", - "267", - "268", - "269", - "270" + "211", + "212" ], "location": { "end": { - "column": 153, - "line": 111 + "column": 67, + "line": 186 }, "start": { - "column": 77, - "line": 111 + "column": 15, + "line": 186 } } }, { - "id": "2099", - "mutatorName": "LogicalOperator", - "replacement": "(!doSkipCallIfNoTarget || !hasWitchUsedLifePotion) && !hasWitchUsedDeathPotion", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:630:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2327", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1003:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 9, "static": false, "killedBy": [ - "268" + "213" ], "coveredBy": [ - "228", - "234", - "267", - "268", - "269", - "270" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 153, - "line": 111 + "column": 122, + "line": 193 }, "start": { - "column": 77, - "line": 111 + "column": 12, + "line": 192 } } }, { - "id": "2100", + "id": "2328", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "228", - "234", - "267", - "268", - "269", - "270" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 125, - "line": 111 + "column": 122, + "line": 193 }, "start": { - "column": 77, - "line": 111 + "column": 12, + "line": 192 } } }, { - "id": "2101", + "id": "2329", "mutatorName": "LogicalOperator", - "replacement": "!doSkipCallIfNoTarget && !hasWitchUsedLifePotion", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:630:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "replacement": "!!bigBadWolfPlayer && isPlayerAliveAndPowerful(bigBadWolfPlayer, game) || !isPowerlessIfWerewolfDies || areAllWerewolvesAlive(game) && (!doSkipCallIfNoTarget || !!availableTargets.length)", + "status": "Timeout", "static": false, - "killedBy": [ - "268" - ], + "killedBy": [], "coveredBy": [ - "228", - "234", - "267", - "268", - "269", - "270" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 125, - "line": 111 + "column": 122, + "line": 193 }, "start": { - "column": 77, - "line": 111 + "column": 12, + "line": 192 } } }, { - "id": "2102", - "mutatorName": "BooleanLiteral", - "replacement": "doSkipCallIfNoTarget", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2330", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:910:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 9, "static": false, "killedBy": [ - "267" + "213" ], "coveredBy": [ - "228", - "234", - "267", - "268", - "269", - "270" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 98, - "line": 111 + "column": 82, + "line": 192 }, "start": { - "column": 77, - "line": 111 + "column": 12, + "line": 192 } } }, { - "id": "2103", - "mutatorName": "BooleanLiteral", - "replacement": "hasWitchUsedLifePotion", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2331", + "mutatorName": "LogicalOperator", + "replacement": "!!bigBadWolfPlayer || isPlayerAliveAndPowerful(bigBadWolfPlayer, game)", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(173,59): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "267" - ], + "killedBy": [], "coveredBy": [ - "267", - "269", - "270" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 125, - "line": 111 + "column": 82, + "line": 192 }, "start": { - "column": 102, - "line": 111 + "column": 12, + "line": 192 } } }, { - "id": "2104", + "id": "2332", "mutatorName": "BooleanLiteral", - "replacement": "hasWitchUsedDeathPotion", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:616:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "replacement": "!bigBadWolfPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(173,58): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "267" - ], + "killedBy": [], "coveredBy": [ - "267", - "270" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 153, - "line": 111 + "column": 30, + "line": 192 }, "start": { - "column": 129, - "line": 111 + "column": 12, + "line": 192 } } }, { - "id": "2105", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(114,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2333", + "mutatorName": "BooleanLiteral", + "replacement": "bigBadWolfPlayer", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(173,58): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 4, - "line": 125 + "column": 30, + "line": 192 }, "start": { - "column": 95, - "line": 114 + "column": 13, + "line": 192 } } }, { - "id": "2106", + "id": "2334", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6202329/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:687:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:937:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 7, "static": false, "killedBy": [ - "272" + "215" ], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 94, - "line": 116 + "column": 121, + "line": 193 }, "start": { - "column": 54, - "line": 116 + "column": 8, + "line": 193 } } }, { - "id": "2107", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93cdd64a16e93119aca2b\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93cdd64a16e93119aca2c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93cdd64a16e93119aca2d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93cdd64a16e93119aca2e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93cdd64a16e93119aca2f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93cdd64a16e93119aca30\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6202329/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 13, + "id": "2335", + "mutatorName": "LogicalOperator", + "replacement": "!isPowerlessIfWerewolfDies && areAllWerewolvesAlive(game) && (!doSkipCallIfNoTarget || !!availableTargets.length)", + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 94, - "line": 116 + "column": 121, + "line": 193 }, "start": { - "column": 54, - "line": 116 + "column": 8, + "line": 193 } } }, { - "id": "2108", - "mutatorName": "EqualityOperator", - "replacement": "(game.turn - 1) % wakingUpInterval !== 0", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93d0b405ad8bbfb6b0654\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93d0b405ad8bbfb6b0655\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93d0b405ad8bbfb6b0656\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93d0b405ad8bbfb6b0657\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93d0b405ad8bbfb6b0658\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d93d0b405ad8bbfb6b0659\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6202329/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 13, + "id": "2336", + "mutatorName": "BooleanLiteral", + "replacement": "isPowerlessIfWerewolfDies", + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "215", + "216", + "217", + "218", + "219", + "220" ], "location": { "end": { - "column": 94, - "line": 116 + "column": 34, + "line": 193 }, "start": { - "column": 54, - "line": 116 + "column": 8, + "line": 193 } } }, { - "id": "2109", - "mutatorName": "ArithmeticOperator", - "replacement": "(game.turn - 1) * wakingUpInterval", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6202329/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:687:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2337", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "272" - ], + "killedBy": [], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "215", + "216", + "217", + "219", + "220" ], "location": { "end": { - "column": 88, - "line": 116 + "column": 121, + "line": 193 }, "start": { - "column": 54, - "line": 116 + "column": 38, + "line": 193 } } }, { - "id": "2110", - "mutatorName": "ArithmeticOperator", - "replacement": "game.turn + 1", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox5921227/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:778:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2338", + "mutatorName": "LogicalOperator", + "replacement": "areAllWerewolvesAlive(game) || !doSkipCallIfNoTarget || !!availableTargets.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:937:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 6, "static": false, "killedBy": [ - "279" + "215" ], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "215", + "216", + "217", + "219", + "220" ], "location": { "end": { - "column": 68, - "line": 116 + "column": 121, + "line": 193 }, "start": { - "column": 55, - "line": 116 + "column": 38, + "line": 193 } } }, { - "id": "2111", + "id": "2339", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(118,81): error TS2345: Argument of type 'CreateGamePlayerDto[] | Player[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(121,65): error TS2345: Argument of type 'CreateGamePlayerDto[] | Player[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(122,58): error TS2345: Argument of type 'CreateGamePlayerDto[] | Player[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(123,106): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:938:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], - "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "killedBy": [ + "216" ], - "location": { - "end": { - "column": 38, - "line": 117 - }, - "start": { - "column": 9, - "line": 117 - } - } - }, - { - "id": "2112", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(118,81): error TS2345: Argument of type 'CreateGamePlayerDto[] | Player[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(121,65): error TS2345: Argument of type 'CreateGamePlayerDto[] | Player[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(122,58): error TS2345: Argument of type 'CreateGamePlayerDto[] | Player[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "234", - "271", - "272", - "273", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281", - "560" + "145", + "216", + "217", + "219", + "220" ], "location": { "end": { - "column": 38, - "line": 117 + "column": 120, + "line": 193 }, "start": { - "column": 9, - "line": 117 + "column": 70, + "line": 193 } } }, { - "id": "2113", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(119,65): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(120,58): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(121,127): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", - "status": "CompileError", + "id": "2340", + "mutatorName": "LogicalOperator", + "replacement": "!doSkipCallIfNoTarget && !!availableTargets.length", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "271", - "272", - "273", - "560" + "145", + "216", + "217", + "219", + "220" ], "location": { "end": { - "column": 6, - "line": 119 + "column": 120, + "line": 193 }, "start": { - "column": 40, - "line": 117 + "column": 70, + "line": 193 } } }, { - "id": "2114", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2341", + "mutatorName": "BooleanLiteral", + "replacement": "doSkipCallIfNoTarget", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -126,18 +126,10 @@\n \"name\": \"white-werewolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "271", - "272", - "273", - "560" + "145", + "216", + "217", + "219", + "220" ], "location": { "end": { - "column": 113, - "line": 118 + "column": 91, + "line": 193 }, "start": { - "column": 14, - "line": 118 + "column": 70, + "line": 193 } } }, { - "id": "2115", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2342", + "mutatorName": "BooleanLiteral", + "replacement": "!availableTargets.length", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "271", - "272", - "273", - "560" + "216", + "217" ], "location": { "end": { - "column": 113, - "line": 118 + "column": 120, + "line": 193 }, "start": { - "column": 14, - "line": 118 + "column": 95, + "line": 193 } } }, { - "id": "2116", - "mutatorName": "LogicalOperator", - "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn || !!getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:674:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2343", + "mutatorName": "BooleanLiteral", + "replacement": "availableTargets.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:938:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "271" + "216" ], "coveredBy": [ - "271", - "272", - "273", - "560" + "216", + "217" ], "location": { "end": { - "column": 113, - "line": 118 + "column": 120, + "line": 193 }, "start": { - "column": 14, - "line": 118 + "column": 96, + "line": 193 } } }, { - "id": "2117", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF)", - "status": "Timeout", + "id": "2344", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(177,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "271", - "273", - "560" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 113, - "line": 118 + "column": 4, + "line": 205 }, "start": { - "column": 58, - "line": 118 + "column": 95, + "line": 196 } } }, { - "id": "2118", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:674:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2345", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 10, "static": false, "killedBy": [ - "271" + "222" ], "coveredBy": [ - "271", - "273", - "560" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 113, - "line": 118 + "column": 61, + "line": 198 }, "start": { - "column": 59, - "line": 118 + "column": 41, + "line": 198 } } }, { - "id": "2119", + "id": "2346", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:712:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 10, "static": false, "killedBy": [ - "274" + "145" ], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 59, - "line": 124 + "column": 61, + "line": 198 }, - "start": { - "column": 12, - "line": 123 + "start": { + "column": 41, + "line": 198 } } }, { - "id": "2120", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -121,18 +121,10 @@\n },\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2347", + "mutatorName": "EqualityOperator", + "replacement": "wakingUpInterval >= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1127:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 10, "static": false, "killedBy": [ - "234" + "222" ], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 59, - "line": 124 + "column": 61, + "line": 198 }, "start": { - "column": 12, - "line": 123 + "column": 41, + "line": 198 } } }, { - "id": "2121", - "mutatorName": "LogicalOperator", - "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn && !!whiteWerewolfPlayer && isPlayerAliveAndPowerful(whiteWerewolfPlayer, game) || !doSkipCallIfNoTarget || !!availableTargets.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:712:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2348", + "mutatorName": "EqualityOperator", + "replacement": "wakingUpInterval <= 0", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 10, "static": false, "killedBy": [ - "274" + "145" ], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 59, - "line": 124 + "column": 61, + "line": 198 }, "start": { - "column": 12, - "line": 123 + "column": 41, + "line": 198 } } }, { - "id": "2122", + "id": "2349", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,68): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(183,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 132, - "line": 123 + "column": 38, + "line": 199 }, "start": { - "column": 12, - "line": 123 + "column": 9, + "line": 199 } } }, { - "id": "2123", - "mutatorName": "LogicalOperator", - "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn && !!whiteWerewolfPlayer || isPlayerAliveAndPowerful(whiteWerewolfPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(123,106): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2350", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,68): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(183,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "145", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 132, - "line": 123 + "column": 38, + "line": 199 }, "start": { - "column": 12, - "line": 123 + "column": 9, + "line": 199 } } }, { - "id": "2124", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(123,45): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2351", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(151,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "221", + "222", + "223" ], "location": { "end": { - "column": 77, - "line": 123 + "column": 6, + "line": 201 }, "start": { - "column": 12, - "line": 123 + "column": 40, + "line": 199 } } }, { - "id": "2125", - "mutatorName": "LogicalOperator", - "replacement": "shouldWhiteWerewolfBeCalledOnCurrentTurn || !!whiteWerewolfPlayer", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'isAlive')\n at isPlayerAliveAndPowerful (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/src/modules/game/helpers/player/player.helper.ts:73:200)\n at GamePlayService.isWhiteWerewolfGamePlaySuitableForCurrentPhase (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/src/modules/game/providers/services/game-play/game-play.service.ts:272:942)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:712:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2352", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 3, "static": false, "killedBy": [ - "274" + "221" ], "coveredBy": [ - "234", - "274", - "275", - "276", - "277", - "278", - "279", - "280", - "281" + "221", + "222", + "223" ], "location": { "end": { - "column": 77, - "line": 123 + "column": 100, + "line": 200 }, "start": { - "column": 12, - "line": 123 + "column": 14, + "line": 200 } } }, { - "id": "2126", - "mutatorName": "BooleanLiteral", - "replacement": "!whiteWerewolfPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(123,105): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2353", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1047:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], - "coveredBy": [ - "234", - "274", - "276", - "277", - "278", - "280", - "281" + "killedBy": [ + "223" ], - "location": { - "end": { - "column": 77, - "line": 123 - }, - "start": { - "column": 56, - "line": 123 - } - } - }, - { - "id": "2127", - "mutatorName": "BooleanLiteral", - "replacement": "whiteWerewolfPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(123,105): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "234", - "274", - "276", - "277", - "278", - "280", - "281" + "221", + "222", + "223" ], "location": { "end": { - "column": 77, - "line": 123 + "column": 100, + "line": 200 }, "start": { - "column": 57, - "line": 123 + "column": 14, + "line": 200 } } }, { - "id": "2128", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:765:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2354", + "mutatorName": "LogicalOperator", + "replacement": "shouldThreeBrothersBeCalled || !!getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)", + "status": "Timeout", "static": false, - "killedBy": [ - "278" - ], + "killedBy": [], "coveredBy": [ - "234", - "278", - "280", - "281" + "221", + "222", + "223" ], "location": { "end": { - "column": 58, - "line": 124 + "column": 100, + "line": 200 }, "start": { - "column": 8, - "line": 124 + "column": 14, + "line": 200 } } }, { - "id": "2129", - "mutatorName": "LogicalOperator", - "replacement": "!doSkipCallIfNoTarget && !!availableTargets.length", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -121,18 +121,10 @@\n },\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2355", + "mutatorName": "BooleanLiteral", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "234" + "221" ], "coveredBy": [ - "234", - "278", - "280", - "281" + "221", + "223" ], "location": { "end": { - "column": 58, - "line": 124 + "column": 100, + "line": 200 }, "start": { - "column": 8, - "line": 124 + "column": 45, + "line": 200 } } }, { - "id": "2130", + "id": "2356", "mutatorName": "BooleanLiteral", - "replacement": "doSkipCallIfNoTarget", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -121,18 +121,10 @@\n },\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"big-bad-wolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "234" + "221" ], "coveredBy": [ - "234", - "278", - "280", - "281" + "221", + "223" ], "location": { "end": { - "column": 29, - "line": 124 + "column": 100, + "line": 200 }, "start": { - "column": 8, - "line": 124 + "column": 46, + "line": 200 } } }, { - "id": "2131", - "mutatorName": "BooleanLiteral", - "replacement": "!availableTargets.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:765:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2357", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1152:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "278" + "224" ], "coveredBy": [ - "278", - "281" + "145", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 58, - "line": 124 + "column": 134, + "line": 204 }, "start": { - "column": 33, - "line": 124 + "column": 12, + "line": 204 } } }, { - "id": "2132", - "mutatorName": "BooleanLiteral", - "replacement": "availableTargets.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox1621447/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:765:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2358", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "278" + "145" ], "coveredBy": [ - "278", - "281" + "145", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 58, - "line": 124 + "column": 134, + "line": 204 }, "start": { - "column": 34, - "line": 124 + "column": 12, + "line": 204 } } }, { - "id": "2133", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(127,83): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2359", + "mutatorName": "LogicalOperator", + "replacement": "shouldThreeBrothersBeCalled || threeBrothersPlayers.filter(brother => brother.isAlive).length >= minimumBrotherCountToCall", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "233", - "234", - "235", - "282", - "283", - "284", - "285", - "286", - "560", - "561" + "145", + "224", + "225", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 4, - "line": 133 + "column": 134, + "line": 204 }, "start": { - "column": 91, - "line": 127 + "column": 12, + "line": 204 } } }, { - "id": "2134", + "id": "2360", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(128,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(131,54): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(132,51): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8288159/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1111:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "228" + ], "coveredBy": [ - "233", - "234", - "235", - "282", - "283", - "284", - "285", - "286", - "560", - "561" + "145", + "224", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 38, - "line": 128 + "column": 134, + "line": 204 }, "start": { - "column": 9, - "line": 128 + "column": 43, + "line": 204 } } }, { - "id": "2135", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(128,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(131,54): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "id": "2361", + "mutatorName": "EqualityOperator", + "replacement": "threeBrothersPlayers.filter(brother => brother.isAlive).length > minimumBrotherCountToCall", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1085:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "227" + ], "coveredBy": [ - "233", - "234", - "235", - "282", - "283", - "284", - "285", - "286", - "560", - "561" + "145", + "224", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 38, - "line": 128 + "column": 134, + "line": 204 }, "start": { - "column": 9, - "line": 128 + "column": 43, + "line": 204 } } }, { - "id": "2136", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(129,54): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(130,68): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", - "status": "CompileError", + "id": "2362", + "mutatorName": "EqualityOperator", + "replacement": "threeBrothersPlayers.filter(brother => brother.isAlive).length < minimumBrotherCountToCall", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "282", - "283", - "560", - "561" + "145", + "224", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 6, - "line": 130 + "column": 134, + "line": 204 }, "start": { - "column": 40, - "line": 128 + "column": 43, + "line": 204 } } }, { - "id": "2137", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.PIED_PIPER)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:819:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2363", + "mutatorName": "MethodExpression", + "replacement": "threeBrothersPlayers", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1098:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "282" + "228" ], "coveredBy": [ - "282", - "283", - "560", - "561" + "145", + "224", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 65, - "line": 129 + "column": 98, + "line": 204 }, "start": { - "column": 14, - "line": 129 + "column": 43, + "line": 204 } } }, { - "id": "2138", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.PIED_PIPER)", - "status": "Timeout", + "id": "2364", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "282", - "283", - "560", - "561" + "145", + "224", + "226", + "227", + "228", + "229" ], "location": { "end": { - "column": 65, - "line": 129 + "column": 97, + "line": 204 }, "start": { - "column": 15, - "line": 129 + "column": 71, + "line": 204 } } }, { - "id": "2139", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2365", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(188,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ + "145", + "230", + "231", + "232", "233", "234", "235", - "284", - "285", - "286" + "236", + "237" ], "location": { "end": { - "column": 73, - "line": 132 + "column": 4, + "line": 215 }, "start": { - "column": 12, - "line": 132 + "column": 92, + "line": 207 } } }, { - "id": "2140", + "id": "2366", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -141,22 +141,6 @@\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n },\n },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"charmed\",\n- \"players\": undefined,\n- },\n- },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 9, "static": false, "killedBy": [ - "234" + "231" ], "coveredBy": [ + "145", + "230", + "231", + "232", "233", "234", "235", - "284", - "285", - "286" + "236", + "237" ], "location": { "end": { - "column": 73, - "line": 132 + "column": 58, + "line": 209 }, "start": { - "column": 12, - "line": 132 + "column": 38, + "line": 209 } } }, { - "id": "2141", - "mutatorName": "LogicalOperator", - "replacement": "!!piedPiperPlayer || canPiedPiperCharm(piedPiperPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(132,51): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2367", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ + "145", + "230", + "231", + "232", "233", "234", "235", - "284", - "285", - "286" + "236", + "237" ], "location": { "end": { - "column": 73, - "line": 132 + "column": 58, + "line": 209 }, "start": { - "column": 12, - "line": 132 + "column": 38, + "line": 209 } } }, { - "id": "2142", - "mutatorName": "BooleanLiteral", - "replacement": "!piedPiperPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(132,50): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2368", + "mutatorName": "EqualityOperator", + "replacement": "wakingUpInterval >= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "231" + ], "coveredBy": [ + "145", + "230", + "231", + "232", "233", "234", "235", - "284", - "285", - "286" + "236", + "237" ], "location": { "end": { - "column": 29, - "line": 132 + "column": 58, + "line": 209 }, "start": { - "column": 12, - "line": 132 + "column": 38, + "line": 209 } } }, { - "id": "2143", - "mutatorName": "BooleanLiteral", - "replacement": "piedPiperPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(132,50): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2369", + "mutatorName": "EqualityOperator", + "replacement": "wakingUpInterval <= 0", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 9, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ + "145", + "230", + "231", + "232", "233", "234", "235", - "284", - "285", - "286" - ], - "location": { - "end": { - "column": 29, - "line": 132 - }, - "start": { - "column": 13, - "line": 132 - } - } - }, - { - "id": "2144", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(135,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "234", - "287", - "288", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "236", + "237" ], "location": { "end": { - "column": 4, - "line": 145 + "column": 58, + "line": 209 }, "start": { - "column": 92, - "line": 135 + "column": 38, + "line": 209 } } }, { - "id": "2145", + "id": "2370", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(137,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(140,62): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(142,55): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(143,59): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(144,60): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(192,65): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(194,57): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ + "145", + "230", + "231", + "232", + "233", "234", - "287", - "288", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { "column": 38, - "line": 136 + "line": 210 }, "start": { "column": 9, - "line": 136 + "line": 210 } } }, { - "id": "2146", + "id": "2371", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(137,37): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(140,62): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\nsrc/modules/game/providers/services/game-play/game-play.service.ts(142,55): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(144,60): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(192,65): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'CreateGameDto'.\n Type 'Game' is not assignable to type 'CreateGameDto'.\n Types of property 'players' are incompatible.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(194,57): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ + "145", + "230", + "231", + "232", + "233", "234", - "287", - "288", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { "column": 38, - "line": 136 + "line": 210 }, "start": { "column": 9, - "line": 136 + "line": 210 } } }, { - "id": "2147", + "id": "2372", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(138,62): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\nsrc/modules/game/providers/services/game-play/game-play.service.ts(140,55): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(141,77): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(142,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is not assignable to type 'Game'.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(162,57): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "287", - "288" + "230", + "231", + "232" ], "location": { "end": { "column": 6, - "line": 138 + "line": 212 }, "start": { "column": 40, - "line": 136 + "line": 210 } } }, { - "id": "2148", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.BIG_BAD_WOLF)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:884:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2373", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "287" + "230" ], "coveredBy": [ - "287", - "288" + "230", + "231", + "232" ], "location": { "end": { - "column": 67, - "line": 137 + "column": 94, + "line": 211 }, "start": { "column": 14, - "line": 137 - } - } - }, - { - "id": "2149", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.BIG_BAD_WOLF)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:884:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, - "static": false, - "killedBy": [ - "287" - ], - "coveredBy": [ - "287", - "288" - ], - "location": { - "end": { - "column": 67, - "line": 137 - }, - "start": { - "column": 15, - "line": 137 - } - } - }, - { - "id": "2150", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" - ], - "location": { - "end": { - "column": 122, - "line": 144 - }, - "start": { - "column": 12, - "line": 143 + "line": 211 } } }, { - "id": "2151", + "id": "2374", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "230", + "231", + "232" ], "location": { "end": { - "column": 122, - "line": 144 + "column": 94, + "line": 211 }, "start": { - "column": 12, - "line": 143 + "column": 14, + "line": 211 } } }, { - "id": "2152", + "id": "2375", "mutatorName": "LogicalOperator", - "replacement": "!!bigBadWolfPlayer && isPlayerAliveAndPowerful(bigBadWolfPlayer, game) || !isPowerlessIfWerewolfDies || areAllWerewolvesAlive(game) && (!doSkipCallIfNoTarget || !!availableTargets.length)", + "replacement": "shouldTwoSistersBeCalled || !!getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "230", + "231", + "232" ], "location": { "end": { - "column": 122, - "line": 144 + "column": 94, + "line": 211 }, "start": { - "column": 12, - "line": 143 + "column": 14, + "line": 211 } } }, { - "id": "2153", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:910:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2376", + "mutatorName": "BooleanLiteral", + "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 2, "static": false, "killedBy": [ - "289" - ], - "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" - ], - "location": { - "end": { - "column": 82, - "line": 143 - }, - "start": { - "column": 12, - "line": 143 - } - } - }, - { - "id": "2154", - "mutatorName": "LogicalOperator", - "replacement": "!!bigBadWolfPlayer || isPlayerAliveAndPowerful(bigBadWolfPlayer, game)", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(143,59): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "230" ], - "location": { - "end": { - "column": 82, - "line": 143 - }, - "start": { - "column": 12, - "line": 143 - } - } - }, - { - "id": "2155", - "mutatorName": "BooleanLiteral", - "replacement": "!bigBadWolfPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(143,58): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "230", + "232" ], "location": { "end": { - "column": 30, - "line": 143 + "column": 94, + "line": 211 }, "start": { - "column": 12, - "line": 143 + "column": 42, + "line": 211 } } }, { - "id": "2156", + "id": "2377", "mutatorName": "BooleanLiteral", - "replacement": "bigBadWolfPlayer", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(143,58): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "234", - "289", - "290", - "291", - "292", - "293", - "294", - "295", - "296" + "230", + "232" ], "location": { "end": { - "column": 30, - "line": 143 + "column": 94, + "line": 211 }, "start": { - "column": 13, - "line": 143 + "column": 43, + "line": 211 } } }, { - "id": "2157", + "id": "2378", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:937:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "status": "Timeout", "static": false, - "killedBy": [ - "291" - ], + "killedBy": [], "coveredBy": [ + "145", + "233", "234", - "291", - "292", - "293", - "294", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { "column": 121, - "line": 144 + "line": 214 }, "start": { - "column": 8, - "line": 144 + "column": 12, + "line": 214 } } }, { - "id": "2158", - "mutatorName": "LogicalOperator", - "replacement": "!isPowerlessIfWerewolfDies && areAllWerewolvesAlive(game) && (!doSkipCallIfNoTarget || !!availableTargets.length)", + "id": "2379", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ + "145", + "233", "234", - "291", - "292", - "293", - "294", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { "column": 121, - "line": 144 + "line": 214 }, "start": { - "column": 8, - "line": 144 + "column": 12, + "line": 214 } } }, { - "id": "2159", - "mutatorName": "BooleanLiteral", - "replacement": "isPowerlessIfWerewolfDies", + "id": "2380", + "mutatorName": "LogicalOperator", + "replacement": "shouldTwoSistersBeCalled && twoSistersPlayers.length > 0 || twoSistersPlayers.every(sister => sister.isAlive)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ + "145", + "233", "234", - "291", - "292", - "293", - "294", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { - "column": 34, - "line": 144 + "column": 121, + "line": 214 }, "start": { - "column": 8, - "line": 144 + "column": 12, + "line": 214 } } }, { - "id": "2160", + "id": "2381", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -126,18 +126,10 @@\n \"name\": \"white-werewolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1164:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 6, "static": false, "killedBy": [ - "234" + "233" ], "coveredBy": [ + "145", + "233", "234", - "291", - "292", - "293", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { - "column": 121, - "line": 144 + "column": 68, + "line": 214 }, "start": { - "column": 38, - "line": 144 + "column": 12, + "line": 214 } } }, { - "id": "2161", + "id": "2382", "mutatorName": "LogicalOperator", - "replacement": "areAllWerewolvesAlive(game) || !doSkipCallIfNoTarget || !!availableTargets.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:937:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "shouldTwoSistersBeCalled || twoSistersPlayers.length > 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1270:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 6, "static": false, "killedBy": [ - "291" + "233" ], "coveredBy": [ + "145", + "233", "234", - "291", - "292", - "293", - "295", - "296" + "235", + "236", + "237" ], "location": { "end": { - "column": 121, - "line": 144 + "column": 68, + "line": 214 }, "start": { - "column": 38, - "line": 144 + "column": 12, + "line": 214 } } }, { - "id": "2162", + "id": "2383", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:938:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1164:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "292" + "233" ], "coveredBy": [ - "234", - "292", - "293", - "295", - "296" + "145", + "233", + "235", + "236", + "237" ], "location": { "end": { - "column": 120, - "line": 144 + "column": 68, + "line": 214 }, "start": { - "column": 70, - "line": 144 + "column": 40, + "line": 214 } } }, { - "id": "2163", - "mutatorName": "LogicalOperator", - "replacement": "!doSkipCallIfNoTarget && !!availableTargets.length", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -126,18 +126,10 @@\n \"name\": \"white-werewolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2384", + "mutatorName": "EqualityOperator", + "replacement": "twoSistersPlayers.length >= 0", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1270:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "234" + "233" ], "coveredBy": [ - "234", - "292", - "293", - "295", - "296" + "145", + "233", + "235", + "236", + "237" ], "location": { "end": { - "column": 120, - "line": 144 + "column": 68, + "line": 214 }, "start": { - "column": 70, - "line": 144 + "column": 40, + "line": 214 } } }, { - "id": "2164", - "mutatorName": "BooleanLiteral", - "replacement": "doSkipCallIfNoTarget", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -126,18 +126,10 @@\n \"name\": \"white-werewolf\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2385", + "mutatorName": "EqualityOperator", + "replacement": "twoSistersPlayers.length <= 0", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "234" + "145" ], "coveredBy": [ - "234", - "292", - "293", - "295", - "296" + "145", + "233", + "235", + "236", + "237" ], "location": { "end": { - "column": 91, - "line": 144 + "column": 68, + "line": 214 }, "start": { - "column": 70, - "line": 144 + "column": 40, + "line": 214 } } }, { - "id": "2165", - "mutatorName": "BooleanLiteral", - "replacement": "!availableTargets.length", - "status": "Timeout", + "id": "2386", + "mutatorName": "MethodExpression", + "replacement": "twoSistersPlayers.some(sister => sister.isAlive)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1203:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "236" + ], "coveredBy": [ - "292", - "293" + "145", + "235", + "236", + "237" ], "location": { "end": { - "column": 120, - "line": 144 + "column": 121, + "line": 214 }, "start": { - "column": 95, - "line": 144 + "column": 72, + "line": 214 } } }, { - "id": "2166", - "mutatorName": "BooleanLiteral", - "replacement": "availableTargets.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:938:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2387", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 4, "static": false, "killedBy": [ - "292" + "145" ], "coveredBy": [ - "292", - "293" + "145", + "235", + "236", + "237" ], "location": { "end": { "column": 120, - "line": 144 + "line": 214 }, "start": { "column": 96, - "line": 144 + "line": 214 } } }, { - "id": "2167", + "id": "2388", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(147,87): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(217,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "260", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { "column": 4, - "line": 156 + "line": 237 }, "start": { - "column": 95, - "line": 147 + "column": 121, + "line": 217 } } }, { - "id": "2168", + "id": "2389", + "mutatorName": "BooleanLiteral", + "replacement": "player", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(230,34): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(230,92): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(231,37): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(231,95): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(236,12): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(236,78): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "144", + "145", + "146", + "147", + "148", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "260", + "517", + "518", + "519", + "530", + "531" + ], + "location": { + "end": { + "column": 16, + "line": 220 + }, + "start": { + "column": 9, + "line": 220 + } + } + }, + { + "id": "2390", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(230,92): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(231,95): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(236,78): error TS2345: Argument of type 'Player | CreateGamePlayerDto | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "298" - ], + "killedBy": [], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "260", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 61, - "line": 149 + "column": 16, + "line": 220 }, "start": { - "column": 41, - "line": 149 + "column": 9, + "line": 220 } } }, { - "id": "2169", + "id": "2391", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 10, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(230,92): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(231,95): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(236,78): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "234" - ], + "killedBy": [], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "238", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "260", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 61, - "line": 149 + "column": 16, + "line": 220 }, "start": { - "column": 41, - "line": 149 + "column": 9, + "line": 220 } } }, { - "id": "2170", - "mutatorName": "EqualityOperator", - "replacement": "wakingUpInterval >= 0", - "status": "Timeout", + "id": "2392", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(228,92): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(229,95): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(234,78): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "146", + "238", + "260", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 61, - "line": 149 + "column": 6, + "line": 222 }, "start": { - "column": 41, - "line": 149 + "column": 18, + "line": 220 } } }, { - "id": "2171", - "mutatorName": "EqualityOperator", - "replacement": "wakingUpInterval <= 0", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2393", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:572:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 10, + "testsCompleted": 9, "static": false, "killedBy": [ - "234" + "517" ], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "146", + "238", + "260", + "517", + "518", + "519", + "530", + "531" + ], + "location": { + "end": { + "column": 19, + "line": 221 + }, + "start": { + "column": 14, + "line": 221 + } + } + }, + { + "id": "2394", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 25, + "static": false, + "killedBy": [ + "147" + ], + "coveredBy": [ + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 61, - "line": 149 + "column": 6, + "line": 232 }, "start": { - "column": 41, - "line": 149 + "column": 96, + "line": 223 } } }, { - "id": "2172", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(151,68): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(153,60): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "id": "2395", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(224,33): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 38, - "line": 150 + "column": 93, + "line": 224 }, "start": { - "column": 9, - "line": 150 + "column": 33, + "line": 224 } } }, { - "id": "2173", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(151,68): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(153,60): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "id": "2396", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(225,36): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "297", - "298", - "299", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 38, - "line": 150 + "column": 99, + "line": 225 }, "start": { - "column": 9, - "line": 150 + "column": 36, + "line": 225 } } }, { - "id": "2174", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(151,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", + "id": "2397", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(226,34): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "297", - "298", - "299" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 6, - "line": 152 + "column": 94, + "line": 226 }, "start": { - "column": 40, - "line": 150 + "column": 34, + "line": 226 } } }, { - "id": "2175", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2398", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(227,32): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "297" - ], + "killedBy": [], "coveredBy": [ - "297", - "298", - "299" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 100, - "line": 151 + "column": 91, + "line": 227 }, "start": { - "column": 14, - "line": 151 + "column": 32, + "line": 227 } } }, { - "id": "2176", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1047:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2399", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(228,36): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "299" - ], + "killedBy": [], "coveredBy": [ - "297", - "298", - "299" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 100, - "line": 151 + "column": 99, + "line": 228 }, "start": { - "column": 14, - "line": 151 + "column": 36, + "line": 228 } } }, { - "id": "2177", - "mutatorName": "LogicalOperator", - "replacement": "shouldThreeBrothersBeCalled || !!getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)", - "status": "Timeout", + "id": "2400", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(229,27): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "297", - "298", - "299" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 100, - "line": 151 + "column": 87, + "line": 229 }, "start": { - "column": 14, - "line": 151 + "column": 27, + "line": 229 } } }, { - "id": "2178", - "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2401", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(230,28): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "297" - ], + "killedBy": [], "coveredBy": [ - "297", - "299" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 100, - "line": 151 + "column": 113, + "line": 230 }, "start": { - "column": 45, - "line": 151 + "column": 28, + "line": 230 } } }, { - "id": "2179", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1021:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2402", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1391:105)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "297" + "247" ], "coveredBy": [ - "297", - "299" + "147", + "148", + "245", + "246", + "247" ], "location": { "end": { - "column": 100, - "line": 151 + "column": 113, + "line": 230 }, "start": { - "column": 46, - "line": 151 + "column": 34, + "line": 230 } } }, { - "id": "2180", + "id": "2403", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "147" + ], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305" + "147", + "148", + "245", + "246", + "247" ], "location": { "end": { - "column": 134, - "line": 155 + "column": 113, + "line": 230 }, "start": { - "column": 12, - "line": 155 + "column": 34, + "line": 230 } } }, { - "id": "2181", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "id": "2404", + "mutatorName": "LogicalOperator", + "replacement": "player instanceof CreateGamePlayerDto && isPlayerPowerful(player, (game as Game))", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(230,92): error TS2345: Argument of type 'CreateGamePlayerDto' is not assignable to parameter of type 'Player'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "status": "CompileError", "static": false, - "killedBy": [ - "234" - ], + "killedBy": [], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305" + "147", + "148", + "245", + "246", + "247" ], "location": { "end": { - "column": 134, - "line": 155 + "column": 113, + "line": 230 }, "start": { - "column": 12, - "line": 155 + "column": 34, + "line": 230 } } }, { - "id": "2182", - "mutatorName": "LogicalOperator", - "replacement": "shouldThreeBrothersBeCalled || threeBrothersPlayers.filter(brother => brother.isAlive).length >= minimumBrotherCountToCall", - "status": "Timeout", + "id": "2405", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(231,31): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "300", - "301", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 134, - "line": 155 + "column": 116, + "line": 231 }, "start": { - "column": 12, - "line": 155 + "column": 31, + "line": 231 } } }, { - "id": "2183", + "id": "2406", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8288159/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1111:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "304" - ], - "coveredBy": [ - "234", - "300", - "302", - "303", - "304", - "305" + "killedBy": [], + "coveredBy": [ + "248", + "249", + "250" ], "location": { "end": { - "column": 134, - "line": 155 + "column": 116, + "line": 231 }, "start": { - "column": 43, - "line": 155 + "column": 37, + "line": 231 } } }, { - "id": "2184", - "mutatorName": "EqualityOperator", - "replacement": "threeBrothersPlayers.filter(brother => brother.isAlive).length > minimumBrotherCountToCall", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1085:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2407", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "303" - ], + "killedBy": [], "coveredBy": [ - "234", - "300", - "302", - "303", - "304", - "305" + "248", + "249", + "250" ], "location": { "end": { - "column": 134, - "line": 155 + "column": 116, + "line": 231 }, "start": { - "column": 43, - "line": 155 + "column": 37, + "line": 231 } } }, { - "id": "2185", - "mutatorName": "EqualityOperator", - "replacement": "threeBrothersPlayers.filter(brother => brother.isAlive).length < minimumBrotherCountToCall", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2408", + "mutatorName": "LogicalOperator", + "replacement": "player instanceof CreateGamePlayerDto && isPlayerPowerful(player, (game as Game))", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(182,95): error TS2345: Argument of type 'CreateGamePlayerDto' is not assignable to parameter of type 'Player'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "status": "CompileError", "static": false, - "killedBy": [ - "234" - ], + "killedBy": [], "coveredBy": [ - "234", - "300", - "302", - "303", - "304", - "305" + "248", + "249", + "250" ], "location": { "end": { - "column": 134, - "line": 155 + "column": 116, + "line": 231 }, "start": { - "column": 43, - "line": 155 + "column": 37, + "line": 231 } } }, { - "id": "2186", - "mutatorName": "MethodExpression", - "replacement": "threeBrothersPlayers", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1098:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2409", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(236,78): error TS2345: Argument of type 'Player | CreateGamePlayerDto | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "304" - ], + "killedBy": [], "coveredBy": [ - "234", - "300", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 98, - "line": 155 + "column": 50, + "line": 233 }, "start": { - "column": 43, - "line": 155 + "column": 9, + "line": 233 } } }, { - "id": "2187", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -78,18 +78,10 @@\n \"name\": \"two-sisters\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2410", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 25, "static": false, "killedBy": [ - "234" + "147" ], "coveredBy": [ - "234", - "300", - "302", - "303", - "304", - "305" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 97, - "line": 155 + "column": 50, + "line": 233 }, "start": { - "column": 71, - "line": 155 + "column": 9, + "line": 233 } } }, { - "id": "2188", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(158,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2411", + "mutatorName": "EqualityOperator", + "replacement": "specificRoleMethods[source] === undefined", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -6,18 +6,10 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 25, "static": false, - "killedBy": [], + "killedBy": [ + "144" + ], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "144", + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 4, - "line": 166 + "column": 50, + "line": 233 }, "start": { - "column": 92, - "line": 158 + "column": 9, + "line": 233 } } }, { - "id": "2189", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2412", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:253:85)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 19, "static": false, "killedBy": [ - "307" + "147" ], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "517", + "518", + "519" ], "location": { "end": { - "column": 58, - "line": 160 + "column": 6, + "line": 235 }, "start": { - "column": 38, - "line": 160 + "column": 52, + "line": 233 } } }, { - "id": "2190", + "id": "2413", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -5,6 +5,14 @@\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n },\n },\n+ GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n+ \"players\": undefined,\n+ },\n+ },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 19, "static": false, "killedBy": [ - "234" + "146" ], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "517", + "518", + "519" ], "location": { "end": { - "column": 58, - "line": 160 + "column": 60, + "line": 234 }, "start": { - "column": 38, - "line": 160 + "column": 14, + "line": 234 } } }, { - "id": "2191", - "mutatorName": "EqualityOperator", - "replacement": "wakingUpInterval >= 0", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2414", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 48\n+ Received + 0\n\n@@ -70,26 +70,10 @@\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n@@ -114,42 +98,10 @@\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 19, "static": false, "killedBy": [ - "307" + "145" ], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "517", + "518", + "519" ], "location": { "end": { - "column": 58, - "line": 160 + "column": 60, + "line": 234 }, "start": { - "column": 38, - "line": 160 + "column": 14, + "line": 234 } } }, { - "id": "2192", + "id": "2415", "mutatorName": "EqualityOperator", - "replacement": "wakingUpInterval <= 0", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "(await specificRoleMethods[source]?.()) !== true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 48\n+ Received + 0\n\n@@ -70,26 +70,10 @@\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n@@ -114,42 +98,10 @@\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox2063901/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 19, "static": false, "killedBy": [ - "234" + "145" ], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "517", + "518", + "519" ], "location": { "end": { - "column": 58, - "line": 160 + "column": 60, + "line": 234 }, "start": { - "column": 38, - "line": 160 + "column": 14, + "line": 234 } } }, { - "id": "2193", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(162,65): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(164,57): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "id": "2416", + "mutatorName": "OptionalChaining", + "replacement": "specificRoleMethods[source]()", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(234,20): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "517", + "518", + "519" ], "location": { "end": { - "column": 38, - "line": 161 + "column": 51, + "line": 234 }, "start": { - "column": 9, - "line": 161 + "column": 20, + "line": 234 } } }, { - "id": "2194", - "mutatorName": "ConditionalExpression", + "id": "2417", + "mutatorName": "BooleanLiteral", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(162,65): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'CreateGamePlayerDto[]'.\n Type 'Player[]' is not assignable to type 'CreateGamePlayerDto[]'.\n Type 'Player' is not assignable to type 'CreateGamePlayerDto'.\n Types of property 'role' are incompatible.\n Property 'name' is missing in type 'PlayerRole' but required in type 'CreateGamePlayerRoleDto'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(164,57): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 48\n+ Received + 0\n\n@@ -70,26 +70,10 @@\n \"name\": \"stuttering-judge\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"three-brothers\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"choose-model\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"wild-child\",\n \"players\": undefined,\n@@ -114,42 +98,10 @@\n GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"white-werewolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"eat\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"big-bad-wolf\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"charm\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"pied-piper\",\n \"players\": undefined,\n },\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 19, "static": false, - "killedBy": [], + "killedBy": [ + "145" + ], "coveredBy": [ - "234", - "306", - "307", - "308", - "309", - "310", - "311", - "312", - "313" + "145", + "146", + "147", + "148", + "239", + "240", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "517", + "518", + "519" ], "location": { "end": { - "column": 38, - "line": 161 + "column": 60, + "line": 234 }, "start": { - "column": 9, - "line": 161 + "column": 56, + "line": 234 } } }, { - "id": "2195", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(162,57): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", - "status": "CompileError", + "id": "2418", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -1,7 +1,15 @@\n Array [\n GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "146" + ], "coveredBy": [ - "306", - "307", - "308" + "144", + "145", + "146", + "147", + "148", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { - "end": { - "column": 6, - "line": 163 + "end": { + "column": 99, + "line": 236 }, "start": { - "column": 40, - "line": 161 + "column": 12, + "line": 236 } } }, { - "id": "2196", + "id": "2419", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -6,18 +6,10 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:233:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 13, "static": false, "killedBy": [ - "306" + "144" ], "coveredBy": [ - "306", - "307", - "308" + "144", + "145", + "146", + "147", + "148", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 94, - "line": 162 + "column": 99, + "line": 236 }, "start": { - "column": 14, - "line": 162 + "column": 12, + "line": 236 } } }, { - "id": "2197", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2420", + "mutatorName": "LogicalOperator", + "replacement": "player instanceof CreateGamePlayerDto && isPlayerAliveAndPowerful(player, (game as Game))", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(236,78): error TS2345: Argument of type 'CreateGamePlayerDto' is not assignable to parameter of type 'Player'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "306", - "307", - "308" + "144", + "145", + "146", + "147", + "148", + "251", + "252", + "253", + "254", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 94, - "line": 162 + "column": 99, + "line": 236 }, "start": { - "column": 14, - "line": 162 + "column": 12, + "line": 236 } } }, { - "id": "2198", - "mutatorName": "LogicalOperator", - "replacement": "shouldTwoSistersBeCalled || !!getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS)", - "status": "Timeout", + "id": "2421", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(190,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "306", - "307", - "308" + "255", + "256", + "257", + "258", + "259" ], "location": { "end": { - "column": 94, - "line": 162 + "column": 4, + "line": 248 }, "start": { - "column": 14, - "line": 162 + "column": 89, + "line": 239 } } }, { - "id": "2199", + "id": "2422", "mutatorName": "BooleanLiteral", - "replacement": "!getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1138:89)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "game.options.roles.sheriff.isEnabled", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1478:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "306" + "255" ], "coveredBy": [ - "306", - "308" + "255", + "256", + "257", + "258", + "259" ], "location": { "end": { - "column": 94, - "line": 162 + "column": 46, + "line": 240 }, "start": { - "column": 42, - "line": 162 + "column": 9, + "line": 240 } } }, { - "id": "2200", - "mutatorName": "BooleanLiteral", - "replacement": "getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS)", - "status": "Timeout", + "id": "2423", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(197,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "306", - "308" + "255", + "256", + "257", + "258", + "259" ], "location": { "end": { - "column": 94, - "line": 162 + "column": 46, + "line": 240 }, "start": { - "column": 43, - "line": 162 + "column": 9, + "line": 240 } } }, { - "id": "2201", + "id": "2424", "mutatorName": "ConditionalExpression", - "replacement": "true", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "234", - "309", - "310", - "311", - "312", - "313" + "255", + "256", + "257", + "258", + "259" ], "location": { "end": { - "column": 121, - "line": 165 + "column": 46, + "line": 240 }, "start": { - "column": 12, - "line": 165 + "column": 9, + "line": 240 } } }, { - "id": "2202", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2425", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8288159/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1491:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 2, "static": false, "killedBy": [ - "234" + "255" ], "coveredBy": [ - "234", - "309", - "310", - "311", - "312", - "313" + "255" ], "location": { "end": { - "column": 121, - "line": 165 + "column": 6, + "line": 242 }, "start": { - "column": 12, - "line": 165 + "column": 48, + "line": 240 } } }, { - "id": "2203", - "mutatorName": "LogicalOperator", - "replacement": "shouldTwoSistersBeCalled && twoSistersPlayers.length > 0 || twoSistersPlayers.every(sister => sister.isAlive)", - "status": "Timeout", + "id": "2426", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1478:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "255" + ], "coveredBy": [ - "234", - "309", - "310", - "311", - "312", - "313" + "255" ], "location": { "end": { - "column": 121, - "line": 165 + "column": 19, + "line": 241 }, "start": { - "column": 12, - "line": 165 + "column": 14, + "line": 241 } } }, { - "id": "2204", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1164:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "id": "2429", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(195,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "status": "CompileError", "static": false, - "killedBy": [ - "309" - ], + "killedBy": [], "coveredBy": [ - "234", - "309", - "310", - "311", - "312", - "313" + "256" ], "location": { "end": { - "column": 68, - "line": 165 + "column": 6, + "line": 245 }, "start": { - "column": 12, - "line": 165 + "column": 40, + "line": 243 } } }, { - "id": "2205", - "mutatorName": "LogicalOperator", - "replacement": "shouldTwoSistersBeCalled || twoSistersPlayers.length > 0", - "status": "Timeout", + "id": "2430", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1485:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "256" + ], "coveredBy": [ - "234", - "309", - "310", - "311", - "312", - "313" + "256" ], "location": { "end": { - "column": 68, - "line": 165 + "column": 18, + "line": 244 }, "start": { - "column": 12, - "line": 165 + "column": 14, + "line": 244 } } }, { - "id": "2206", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1164:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2431", + "mutatorName": "BooleanLiteral", + "replacement": "!sheriffPlayer", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1498:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "309" + "257" ], "coveredBy": [ - "234", - "309", - "311", - "312", - "313" + "257", + "258", + "259" ], "location": { "end": { - "column": 68, - "line": 165 + "column": 27, + "line": 247 }, "start": { - "column": 40, - "line": 165 + "column": 12, + "line": 247 } } }, { - "id": "2207", - "mutatorName": "EqualityOperator", - "replacement": "twoSistersPlayers.length >= 0", - "status": "Timeout", + "id": "2432", + "mutatorName": "BooleanLiteral", + "replacement": "sheriffPlayer", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3437858/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1498:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "257" + ], "coveredBy": [ - "234", - "309", - "311", - "312", - "313" + "257", + "258", + "259" ], "location": { "end": { - "column": 68, - "line": 165 + "column": 27, + "line": 247 }, "start": { - "column": 40, - "line": 165 + "column": 13, + "line": 247 } } }, { - "id": "2208", - "mutatorName": "EqualityOperator", - "replacement": "twoSistersPlayers.length <= 0", - "status": "Timeout", + "id": "2433", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(250,100): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "234", - "309", - "311", - "312", - "313" + "144", + "145", + "146", + "147", + "148", + "259", + "260", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 68, - "line": 165 + "column": 4, + "line": 257 }, "start": { - "column": 40, - "line": 165 + "column": 117, + "line": 250 } } }, { - "id": "2209", - "mutatorName": "MethodExpression", - "replacement": "twoSistersPlayers.some(sister => sister.isAlive)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1203:86)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2434", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39392ce34f345a9fbbe10\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39392ce34f345a9fbbe11\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39392ce34f345a9fbbe12\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39392ce34f345a9fbbe13\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39392ce34f345a9fbbe14\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39392ce34f345a9fbbe15\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -291,22 +291,10 @@\n },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n- },\n- },\n- Object {\n- \"action\": \"meet-each-other\",\n- \"source\": Object {\n- \"name\": \"lovers\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"werewolves\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 13, "static": false, "killedBy": [ - "312" + "517" ], "coveredBy": [ - "234", - "311", - "312", - "313" + "144", + "145", + "146", + "147", + "148", + "259", + "260", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 121, - "line": 165 + "column": 47, + "line": 251 }, "start": { - "column": 72, - "line": 165 + "column": 9, + "line": 251 } } }, { - "id": "2210", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -73,18 +73,10 @@\n },\n GamePlay {\n \"action\": \"meet-each-other\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n- \"name\": \"two-sisters\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"meet-each-other\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n \"name\": \"three-brothers\",\n \"players\": undefined,\n },\n },\n GamePlay {\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2435", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 78\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b5101bef20796e29aa7\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b5101bef20796e29aa8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b5101bef20796e29aa9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b5101bef20796e29aaa\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b5101bef20796e29aab\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b5101bef20796e29aac\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,38 +281,110 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"choose-card\",\n+ \"source\": Object {\n+ \"name\": \"thief\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-side\",\n+ \"source\": Object {\n+ \"name\": \"dog-wolf\",\n+ },\n+ },\n Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"sniff\",\n+ \"source\": Object {\n+ \"name\": \"fox\",\n },\n },\n Object {\n \"action\": \"meet-each-other\",\n \"source\": Object {\n \"name\": \"lovers\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-sign\",\n+ \"source\": Object {\n+ \"name\": \"stuttering-judge\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"two-sisters\",\n+ },\n },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"three-brothers\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-model\",\n+ \"source\": Object {\n+ \"name\": \"wild-child\",\n+ },\n },\n Object {\n+ \"action\": \"mark\",\n+ \"source\": Object {\n+ \"name\": \"raven\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ },\n+ },\n+ Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"big-bad-wolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"charm\",\n+ \"source\": Object {\n+ \"name\": \"pied-piper\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 13, "static": false, "killedBy": [ - "234" + "517" ], "coveredBy": [ - "234", - "311", - "312", - "313" + "144", + "145", + "146", + "147", + "148", + "259", + "260", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 120, - "line": 165 + "column": 47, + "line": 251 }, "start": { - "column": 96, - "line": 165 + "column": 9, + "line": 251 } } }, { - "id": "2211", + "id": "2436", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(168,104): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 78\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b517df0cd8bd319787b\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b517df0cd8bd319787c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b517df0cd8bd319787d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b517df0cd8bd319787e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b517df0cd8bd319787f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e61b517df0cd8bd3197880\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -281,38 +281,110 @@\n ],\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"choose-card\",\n+ \"source\": Object {\n+ \"name\": \"thief\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-side\",\n+ \"source\": Object {\n+ \"name\": \"dog-wolf\",\n+ },\n+ },\n Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"sniff\",\n+ \"source\": Object {\n+ \"name\": \"fox\",\n },\n },\n Object {\n \"action\": \"meet-each-other\",\n \"source\": Object {\n \"name\": \"lovers\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-sign\",\n+ \"source\": Object {\n+ \"name\": \"stuttering-judge\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"two-sisters\",\n+ },\n },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"three-brothers\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"choose-model\",\n+ \"source\": Object {\n+ \"name\": \"wild-child\",\n+ },\n },\n Object {\n+ \"action\": \"mark\",\n+ \"source\": Object {\n+ \"name\": \"raven\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"protect\",\n+ \"source\": Object {\n+ \"name\": \"guard\",\n+ },\n+ },\n+ Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n },\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"big-bad-wolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"use-potions\",\n+ \"source\": Object {\n+ \"name\": \"witch\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"charm\",\n+ \"source\": Object {\n+ \"name\": \"pied-piper\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:573:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 10, "static": false, - "killedBy": [], - "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "336", - "560", - "561", - "572" + "killedBy": [ + "517" ], - "location": { - "end": { - "column": 4, - "line": 188 - }, - "start": { - "column": 121, - "line": 168 - } - } - }, - { - "id": "2212", - "mutatorName": "BooleanLiteral", - "replacement": "player", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,34): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(181,92): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(182,37): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(182,95): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(187,12): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(187,78): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "336", - "560", - "561", - "572" + "144", + "145", + "146", + "147", + "148", + "260", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 16, - "line": 171 + "column": 6, + "line": 253 }, "start": { - "column": 9, - "line": 171 + "column": 49, + "line": 251 } } }, { - "id": "2213", + "id": "2437", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,92): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(182,95): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(187,78): error TS2345: Argument of type 'Player | CreateGamePlayerDto | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "TypeError: specificGroupMethods[source] is not a function\n at GamePlayService.isGroupGamePlaySuitableForCurrentPhase (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/providers/services/game-play/game-play.service.ts:225:42)\n at GamePlayService.isGamePlaySuitableForCurrentPhase (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/src/modules/game/providers/services/game-play/game-play.service.ts:437:23)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1533:67)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 12, "static": false, - "killedBy": [], + "killedBy": [ + "259" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "336", - "560", - "561", - "572" + "144", + "145", + "146", + "147", + "148", + "259", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 16, - "line": 171 + "column": 55, + "line": 253 }, "start": { - "column": 9, - "line": 171 + "column": 16, + "line": 253 } } }, { - "id": "2214", + "id": "2438", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,92): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(182,95): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(187,78): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 19\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39399196dfbcf9369cd51\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39399196dfbcf9369cd52\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39399196dfbcf9369cd53\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39399196dfbcf9369cd54\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39399196dfbcf9369cd55\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e39399196dfbcf9369cd56\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -282,10 +282,17 @@\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n@@ -309,10 +316,16 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"charmed\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 12, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "314", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "336", - "560", - "561", - "572" + "144", + "145", + "146", + "147", + "148", + "259", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { - "column": 16, - "line": 171 + "column": 55, + "line": 253 }, "start": { - "column": 9, - "line": 171 + "column": 16, + "line": 253 } } }, { - "id": "2215", + "id": "2439", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(179,92): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(180,95): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/game-play/game-play.service.ts(185,78): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 19\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393a0e4b6a10b0e41d3c8\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393a0e4b6a10b0e41d3c9\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393a0e4b6a10b0e41d3ca\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393a0e4b6a10b0e41d3cb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393a0e4b6a10b0e41d3cc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64e393a0e4b6a10b0e41d3cd\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -282,10 +282,17 @@\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n@@ -309,10 +316,16 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"charmed\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:508:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "517" + ], "coveredBy": [ - "233", - "235", - "314", - "336", - "560", - "561" + "144", + "145", + "146", + "147", + "148", + "261", + "517", + "518", + "519", + "530", + "531" ], "location": { "end": { "column": 6, - "line": 173 + "line": 255 }, "start": { - "column": 18, - "line": 171 + "column": 57, + "line": 253 } } }, { - "id": "2216", - "mutatorName": "BooleanLiteral", + "id": "2427", + "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 112\n\n@@ -6,21 +6,133 @@\n \"name\": \"all\",\n \"players\": undefined,\n },\n },\n GamePlay {\n+ \"action\": \"choose-card\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"thief\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"choose-side\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"dog-wolf\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"cupid\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"look\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"seer\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"sniff\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"fox\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"choose-sign\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"stuttering-judge\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"two-sisters\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"meet-each-other\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"three-brothers\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"choose-model\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"wild-child\",\n \"players\": undefined,\n },\n },\n GamePlay {\n+ \"action\": \"mark\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"raven\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"protect\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"guard\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"eat\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"white-werewolf\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"eat\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"big-bad-wolf\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"use-potions\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"witch\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n+ \"action\": \"charm\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"pied-piper\",\n \"players\": undefined,\n },\n },\n ]\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:238:76\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 6, + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(246,60): error TS2345: Argument of type 'CreateGameDto | Game' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", + "status": "CompileError", "static": false, - "killedBy": [ - "233" - ], "coveredBy": [ - "233", - "235", - "314", - "336", - "560", - "561" + "256", + "257", + "258", + "259" ], "location": { "end": { - "column": 19, - "line": 172 + "column": 38, + "line": 243 }, "start": { - "column": 14, - "line": 172 + "column": 9, + "line": 243 } } }, { - "id": "2217", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 24, + "id": "2428", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(246,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", + "status": "CompileError", "static": false, - "killedBy": [ - "228" - ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "256", + "257", + "258", + "259" ], "location": { "end": { - "column": 6, - "line": 183 + "column": 38, + "line": 243 }, "start": { - "column": 96, - "line": 174 + "column": 9, + "line": 243 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { createNoGamePlayPriorityUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { gamePlaysNightOrder } from \"../../../constants/game.constant\";\nimport { CreateGamePlayerDto } from \"../../../dto/create-game/create-game-player/create-game-player.dto\";\nimport { CreateGameDto } from \"../../../dto/create-game/create-game.dto\";\nimport { GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { createGamePlay, createGamePlayAllElectSheriff, createGamePlayAllVote } from \"../../../helpers/game-play/game-play.factory\";\nimport { areGamePlaysEqual, findPlayPriorityIndex } from \"../../../helpers/game-play/game-play.helper\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { areAllWerewolvesAlive, getExpectedPlayersToPlay, getGroupOfPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getPlayerDtoWithRole, getPlayersWithActiveAttributeName, getPlayersWithCurrentRole, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole, isGameSourceGroup, isGameSourceRole } from \"../../../helpers/game.helper\";\nimport { canPiedPiperCharm, isPlayerAliveAndPowerful, isPlayerPowerful } from \"../../../helpers/player/player.helper\";\nimport type { GameHistoryRecord } from \"../../../schemas/game-history-record/game-history-record.schema\";\nimport type { SheriffGameOptions } from \"../../../schemas/game-options/roles-game-options/sheriff-game-options/sheriff-game-options.schema\";\nimport type { GamePlay } from \"../../../schemas/game-play/game-play.schema\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport { GameHistoryRecordService } from \"../game-history/game-history-record.service\";\n\n@Injectable()\nexport class GamePlayService {\n public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {}\n\n public async refreshUpcomingPlays(game: Game): Promise {\n let clonedGame = createGame(game);\n clonedGame = await this.removeObsoleteUpcomingPlays(clonedGame);\n const currentPhaseNewUpcomingPlays = await this.getNewUpcomingPlaysForCurrentPhase(clonedGame);\n const upcomingPlaysToSort = [...clonedGame.upcomingPlays, ...currentPhaseNewUpcomingPlays];\n clonedGame.upcomingPlays = this.sortUpcomingPlaysByPriority(upcomingPlaysToSort);\n return clonedGame;\n }\n\n public proceedToNextGamePlay(game: Game): Game {\n const clonedGame = createGame(game);\n if (!clonedGame.upcomingPlays.length) {\n clonedGame.currentPlay = null;\n return clonedGame;\n }\n clonedGame.currentPlay = clonedGame.upcomingPlays[0];\n clonedGame.currentPlay.source.players = getExpectedPlayersToPlay(clonedGame);\n clonedGame.upcomingPlays.shift();\n return clonedGame;\n }\n\n public getUpcomingDayPlays(): GamePlay[] {\n return [createGamePlayAllVote()];\n }\n\n public async getUpcomingNightPlays(game: CreateGameDto | Game): Promise {\n const isFirstNight = game.turn === 1;\n const eligibleNightPlays = gamePlaysNightOrder.filter(play => isFirstNight || play.isFirstNightOnly !== true);\n const isSheriffElectionTime = this.isSheriffElectionTime(game.options.roles.sheriff, game.turn, game.phase);\n const upcomingNightPlays: GamePlay[] = isSheriffElectionTime ? [createGamePlayAllElectSheriff()] : [];\n for (const eligibleNightPlay of eligibleNightPlays) {\n if (await this.isGamePlaySuitableForCurrentPhase(game, eligibleNightPlay)) {\n upcomingNightPlays.push(createGamePlay(eligibleNightPlay));\n }\n }\n return upcomingNightPlays;\n }\n\n private async removeObsoleteUpcomingPlays(game: Game): Promise {\n const clonedGame = createGame(game);\n const validUpcomingPlays: GamePlay[] = [];\n for (const upcomingPlay of clonedGame.upcomingPlays) {\n if (await this.isGamePlaySuitableForCurrentPhase(clonedGame, upcomingPlay)) {\n validUpcomingPlays.push(upcomingPlay);\n }\n }\n clonedGame.upcomingPlays = validUpcomingPlays;\n return clonedGame;\n }\n\n private isUpcomingPlayNewForCurrentPhase(upcomingPlay: GamePlay, game: Game, gameHistoryPhaseRecords: GameHistoryRecord[]): boolean {\n const { currentPlay } = game;\n const isAlreadyPlayed = gameHistoryPhaseRecords.some(({ play }) => {\n const { source, action, cause } = play;\n return areGamePlaysEqual({ source, action, cause }, upcomingPlay);\n });\n const isInUpcomingPlays = game.upcomingPlays.some(gamePlay => areGamePlaysEqual(gamePlay, upcomingPlay));\n const isCurrentPlay = !!currentPlay && areGamePlaysEqual(currentPlay, upcomingPlay);\n return !isInUpcomingPlays && !isAlreadyPlayed && !isCurrentPlay;\n }\n\n private async getNewUpcomingPlaysForCurrentPhase(game: Game): Promise {\n const { _id, turn, phase } = game;\n const currentPhaseUpcomingPlays = game.phase === GAME_PHASES.NIGHT ? await this.getUpcomingNightPlays(game) : this.getUpcomingDayPlays();\n const gameHistoryPhaseRecords = await this.gameHistoryRecordService.getGameHistoryPhaseRecords(_id, turn, phase);\n return currentPhaseUpcomingPlays.filter(gamePlay => this.isUpcomingPlayNewForCurrentPhase(gamePlay, game, gameHistoryPhaseRecords));\n }\n\n private validateUpcomingPlaysPriority(upcomingPlays: GamePlay[]): void {\n for (const upcomingPlay of upcomingPlays) {\n const playPriorityIndex = findPlayPriorityIndex(upcomingPlay);\n if (playPriorityIndex === -1) {\n throw createNoGamePlayPriorityUnexpectedException(this.validateUpcomingPlaysPriority.name, upcomingPlay);\n }\n }\n }\n\n private sortUpcomingPlaysByPriority(upcomingPlays: GamePlay[]): GamePlay[] {\n const clonedUpcomingPlays = upcomingPlays.map(upcomingPlay => createGamePlay(upcomingPlay));\n this.validateUpcomingPlaysPriority(clonedUpcomingPlays);\n return clonedUpcomingPlays.sort((playA, playB) => {\n const playAPriorityIndex = findPlayPriorityIndex(playA);\n const playBPriorityIndex = findPlayPriorityIndex(playB);\n return playAPriorityIndex - playBPriorityIndex;\n });\n }\n\n private isSheriffElectionTime(sheriffGameOptions: SheriffGameOptions, currentTurn: number, currentPhase: GAME_PHASES): boolean {\n const { electedAt, isEnabled } = sheriffGameOptions;\n return isEnabled && electedAt.turn === currentTurn && electedAt.phase === currentPhase;\n }\n\n private isLoversGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.CUPID);\n }\n const cupidPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.CUPID);\n if (!cupidPlayer) {\n return false;\n }\n const inLovePlayers = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n return !inLovePlayers.length && isPlayerAliveAndPowerful(cupidPlayer, game) || inLovePlayers.length > 0 && inLovePlayers.every(player => player.isAlive);\n }\n\n private isAllGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): boolean {\n if (gamePlay.cause !== GAME_PLAY_CAUSES.ANGEL_PRESENCE) {\n return true;\n }\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.ANGEL);\n }\n const angelPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.ANGEL);\n return !!angelPlayer && isPlayerAliveAndPowerful(angelPlayer, game);\n }\n\n private isGroupGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): boolean {\n const source = gamePlay.source.name as PLAYER_GROUPS;\n const specificGroupMethods: Record boolean> = {\n [PLAYER_GROUPS.ALL]: this.isAllGamePlaySuitableForCurrentPhase,\n [PLAYER_GROUPS.LOVERS]: this.isLoversGamePlaySuitableForCurrentPhase,\n [PLAYER_GROUPS.CHARMED]: this.isPiedPiperGamePlaySuitableForCurrentPhase,\n [PLAYER_GROUPS.WEREWOLVES]: () => game instanceof CreateGameDto || getGroupOfPlayers(game, source).some(werewolf => isPlayerAliveAndPowerful(werewolf, game)),\n [PLAYER_GROUPS.VILLAGERS]: () => false,\n };\n return specificGroupMethods[source](game, gamePlay);\n }\n\n private async isWitchGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): Promise {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.WITCH);\n }\n const hasWitchUsedLifePotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length > 0;\n const hasWitchUsedDeathPotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length > 0;\n const { doSkipCallIfNoTarget } = game.options.roles;\n const witchPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WITCH);\n return !!witchPlayer && isPlayerAliveAndPowerful(witchPlayer, game) && (!doSkipCallIfNoTarget || !hasWitchUsedLifePotion || !hasWitchUsedDeathPotion);\n }\n\n private isWhiteWerewolfGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n const { wakingUpInterval } = game.options.roles.whiteWerewolf;\n const shouldWhiteWerewolfBeCalledOnCurrentTurn = (game.turn - 1) % wakingUpInterval === 0;\n if (game instanceof CreateGameDto) {\n return shouldWhiteWerewolfBeCalledOnCurrentTurn && !!getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n }\n const { doSkipCallIfNoTarget } = game.options.roles;\n const availableTargets = getLeftToEatByWhiteWerewolfPlayers(game);\n const whiteWerewolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n return shouldWhiteWerewolfBeCalledOnCurrentTurn && !!whiteWerewolfPlayer && isPlayerAliveAndPowerful(whiteWerewolfPlayer, game) &&\n (!doSkipCallIfNoTarget || !!availableTargets.length);\n }\n\n private isPiedPiperGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.PIED_PIPER);\n }\n const piedPiperPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.PIED_PIPER);\n return !!piedPiperPlayer && canPiedPiperCharm(piedPiperPlayer, game);\n }\n\n private isBigBadWolfGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.BIG_BAD_WOLF);\n }\n const { doSkipCallIfNoTarget } = game.options.roles;\n const availableTargets = getLeftToEatByWerewolvesPlayers(game);\n const { isPowerlessIfWerewolfDies } = game.options.roles.bigBadWolf;\n const bigBadWolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.BIG_BAD_WOLF);\n return !!bigBadWolfPlayer && isPlayerAliveAndPowerful(bigBadWolfPlayer, game) &&\n (!isPowerlessIfWerewolfDies || areAllWerewolvesAlive(game) && (!doSkipCallIfNoTarget || !!availableTargets.length));\n }\n\n private isThreeBrothersGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n const { wakingUpInterval } = game.options.roles.threeBrothers;\n const shouldThreeBrothersBeCalled = wakingUpInterval > 0;\n if (game instanceof CreateGameDto) {\n return shouldThreeBrothersBeCalled && !!getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS);\n }\n const threeBrothersPlayers = getPlayersWithCurrentRole(game, ROLE_NAMES.THREE_BROTHERS);\n const minimumBrotherCountToCall = 2;\n return shouldThreeBrothersBeCalled && threeBrothersPlayers.filter(brother => brother.isAlive).length >= minimumBrotherCountToCall;\n }\n\n private isTwoSistersGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n const { wakingUpInterval } = game.options.roles.twoSisters;\n const shouldTwoSistersBeCalled = wakingUpInterval > 0;\n if (game instanceof CreateGameDto) {\n return shouldTwoSistersBeCalled && !!getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS);\n }\n const twoSistersPlayers = getPlayersWithCurrentRole(game, ROLE_NAMES.TWO_SISTERS);\n return shouldTwoSistersBeCalled && twoSistersPlayers.length > 0 && twoSistersPlayers.every(sister => sister.isAlive);\n }\n\n private async isRoleGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): Promise {\n const source = gamePlay.source.name as ROLE_NAMES;\n const player = game instanceof CreateGameDto ? getPlayerDtoWithRole(game, source) : getPlayerWithCurrentRole(game, source);\n if (!player) {\n return false;\n }\n const specificRoleMethods: Partial Promise | boolean>> = {\n [ROLE_NAMES.TWO_SISTERS]: () => this.isTwoSistersGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.THREE_BROTHERS]: () => this.isThreeBrothersGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.BIG_BAD_WOLF]: () => this.isBigBadWolfGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.PIED_PIPER]: () => this.isPiedPiperGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.WHITE_WEREWOLF]: () => this.isWhiteWerewolfGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.WITCH]: async() => this.isWitchGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.HUNTER]: () => player instanceof CreateGamePlayerDto || isPlayerPowerful(player, game as Game),\n [ROLE_NAMES.SCAPEGOAT]: () => player instanceof CreateGamePlayerDto || isPlayerPowerful(player, game as Game),\n };\n if (specificRoleMethods[source] !== undefined) {\n return await specificRoleMethods[source]?.() === true;\n }\n return player instanceof CreateGamePlayerDto || isPlayerAliveAndPowerful(player, game as Game);\n }\n\n private isSheriffGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (!game.options.roles.sheriff.isEnabled) {\n return false;\n }\n if (game instanceof CreateGameDto) {\n return true;\n }\n const sheriffPlayer = getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n return !!sheriffPlayer;\n }\n\n private async isGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): Promise {\n if (isGameSourceRole(gamePlay.source.name)) {\n return this.isRoleGamePlaySuitableForCurrentPhase(game, gamePlay);\n } else if (isGameSourceGroup(gamePlay.source.name)) {\n return this.isGroupGamePlaySuitableForCurrentPhase(game, gamePlay);\n }\n return this.isSheriffGamePlaySuitableForCurrentPhase(game);\n }\n}" + }, + "src/modules/game/providers/services/game-random-composition.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "2218", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(175,33): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "id": "2440", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(13,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731" ], "location": { "end": { - "column": 93, - "line": 175 + "column": 4, + "line": 27 }, "start": { - "column": 33, - "line": 175 + "column": 138, + "line": 13 } } }, { - "id": "2219", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(176,36): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", - "status": "CompileError", + "id": "2441", + "mutatorName": "ArithmeticOperator", + "replacement": "getGameRandomCompositionDto.players.length + werewolfRolesCount", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "727" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731" ], "location": { "end": { - "column": 99, - "line": 176 + "column": 95, + "line": 16 }, "start": { - "column": 36, - "line": 176 + "column": 32, + "line": 16 } } }, { - "id": "2220", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(177,34): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "id": "2442", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(21,48): error TS2339: Property 'name' does not exist on type 'never'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731" ], "location": { "end": { - "column": 94, - "line": 177 + "column": 6, + "line": 20 }, "start": { - "column": 34, - "line": 177 + "column": 25, + "line": 17 } } }, { - "id": "2221", + "id": "2443", "mutatorName": "ArrowFunction", "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(178,32): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(22,101): error TS2322: Type 'undefined' is not assignable to type 'GetGameRandomCompositionPlayerResponseDto'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731" ], "location": { "end": { - "column": 91, - "line": 178 + "column": 7, + "line": 26 }, "start": { - "column": 32, - "line": 178 + "column": 95, + "line": 22 } } }, { - "id": "2222", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(179,36): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", - "status": "CompileError", + "id": "2444", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'current')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:226:14\n at Array.every ()\n at Object.toSatisfyAll (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-extended/dist/matchers/toSatisfyAll.js:13:23)\n at __EXTERNAL_MATCHER_TRAP__ (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:325:30)\n at Object.throwingMatcher [as toSatisfyAll] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:326:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:225:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "493" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731" ], "location": { "end": { - "column": 99, - "line": 179 + "column": 6, + "line": 26 }, "start": { - "column": 36, - "line": 179 + "column": 173, + "line": 22 } } }, { - "id": "2223", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(180,27): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", - "status": "CompileError", + "id": "2445", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {}, \"side\": {}}, {\"name\": \"2\", \"role\": {}, \"side\": {}}, {\"name\": \"3\", \"role\": {}, \"side\": {}}, {\"name\": \"4\", \"role\": {}, \"side\": {}}, {\"name\": \"5\", \"role\": {}, \"side\": {}}, {\"name\": \"6\", \"role\": {}, \"side\": {}}, {\"name\": \"7\", \"role\": {}, \"side\": {}}, {\"name\": \"8\", \"role\": {}, \"side\": {}}, {\"name\": \"9\", \"role\": {}, \"side\": {}}, {\"name\": \"10\", \"role\": {}, \"side\": {}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:225:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "493" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731" + ], + "location": { + "end": { + "column": 54, + "line": 24 + }, + "start": { + "column": 13, + "line": 24 + } + } + }, + { + "id": "2446", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(29,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 87, - "line": 180 + "column": 4, + "line": 50 }, "start": { - "column": 27, - "line": 180 + "column": 109, + "line": 29 } } }, { - "id": "2224", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,28): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "id": "2447", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(30,34): error TS2322: Type 'string' is not assignable to type 'Role'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 113, - "line": 181 + "column": 35, + "line": 30 }, "start": { - "column": 28, - "line": 181 + "column": 33, + "line": 30 } } }, { - "id": "2225", + "id": "2448", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1391:105)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "323" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "321", - "322", - "323" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 113, - "line": 181 + "column": 59, + "line": 32 }, "start": { - "column": 34, - "line": 181 + "column": 30, + "line": 32 } } }, { - "id": "2226", + "id": "2449", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:56:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 13, "static": false, "killedBy": [ - "228" + "733" ], "coveredBy": [ - "228", - "229", - "321", - "322", - "323" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 113, - "line": 181 + "column": 59, + "line": 32 }, "start": { - "column": 34, - "line": 181 + "column": 30, + "line": 32 } } }, { - "id": "2227", - "mutatorName": "LogicalOperator", - "replacement": "player instanceof CreateGamePlayerDto && isPlayerPowerful(player, (game as Game))", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(181,92): error TS2345: Argument of type 'CreateGamePlayerDto' is not assignable to parameter of type 'Player'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "id": "2450", + "mutatorName": "EqualityOperator", + "replacement": "side !== ROLE_SIDES.VILLAGERS", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:49:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "732" + ], "coveredBy": [ - "228", - "229", - "321", - "322", - "323" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 113, - "line": 181 + "column": 59, + "line": 32 }, "start": { - "column": 34, - "line": 181 + "column": 30, + "line": 32 } } }, { - "id": "2228", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(182,31): error TS2322: Type '() => undefined' is not assignable to type '() => boolean | Promise'.\n Type 'undefined' is not assignable to type 'boolean | Promise'.\n", + "id": "2451", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 116, - "line": 182 + "column": 41, + "line": 34 }, "start": { - "column": 31, - "line": 182 + "column": 21, + "line": 34 } } }, { - "id": "2229", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2452", + "mutatorName": "EqualityOperator", + "replacement": "i <= rolesToPickCount", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:39:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "728" + ], "coveredBy": [ - "324", - "325", - "326" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 116, - "line": 182 + "column": 41, + "line": 34 }, "start": { - "column": 37, - "line": 182 + "column": 21, + "line": 34 } } }, { - "id": "2230", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2453", + "mutatorName": "EqualityOperator", + "replacement": "i >= rolesToPickCount", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "727" + ], "coveredBy": [ - "324", - "325", - "326" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 116, - "line": 182 + "column": 41, + "line": 34 }, "start": { - "column": 37, - "line": 182 + "column": 21, + "line": 34 } } }, { - "id": "2231", - "mutatorName": "LogicalOperator", - "replacement": "player instanceof CreateGamePlayerDto && isPlayerPowerful(player, (game as Game))", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(182,95): error TS2345: Argument of type 'CreateGamePlayerDto' is not assignable to parameter of type 'Player'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "id": "2454", + "mutatorName": "AssignmentOperator", + "replacement": "i -= randomRolesToPickCount", + "statusReason": "Hit limit reached (43213/43200)", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "324", - "325", - "326" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 116, - "line": 182 + "column": 70, + "line": 34 }, "start": { - "column": 37, - "line": 182 + "column": 43, + "line": 34 } } }, { - "id": "2232", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(187,78): error TS2345: Argument of type 'Player | CreateGamePlayerDto | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2455", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "727" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 50, - "line": 184 + "column": 6, + "line": 48 }, "start": { - "column": 9, - "line": 184 + "column": 72, + "line": 34 } } }, { - "id": "2233", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2456", + "mutatorName": "ArithmeticOperator", + "replacement": "rolesToPickCount + i", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 90\nReceived length: 108\nReceived array: [{\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:89:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 24, + "testsCompleted": 13, "static": false, "killedBy": [ - "228" + "735" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 50, - "line": 184 + "column": 56, + "line": 35 }, "start": { - "column": 9, - "line": 184 + "column": 36, + "line": 35 } } }, { - "id": "2234", - "mutatorName": "EqualityOperator", - "replacement": "specificRoleMethods[source] === undefined", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -152,26 +152,10 @@\n \"status\": \"playing\",\n \"tick\": 5933537018511360,\n \"turn\": 8860817648779264,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 24, + "id": "2457", + "mutatorName": "MethodExpression", + "replacement": "availableSidedRoles", + "status": "Timeout", "static": false, - "killedBy": [ - "228" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 50, - "line": 184 + "column": 157, + "line": 36 }, "start": { - "column": 9, - "line": 184 + "column": 31, + "line": 36 } } }, { - "id": "2235", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -160,18 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"use-potions\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"witch\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2458", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"pied-piper\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:67:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 13, "static": false, "killedBy": [ - "228" + "734" ], "coveredBy": [ - "228", - "229", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "560", - "561" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 6, - "line": 186 + "column": 156, + "line": 36 }, "start": { - "column": 52, - "line": 184 + "column": 58, + "line": 36 } } }, { - "id": "2236", + "id": "2459", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "728" + ], "coveredBy": [ - "228", - "229", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "560", - "561" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 60, - "line": 185 + "column": 156, + "line": 36 }, "start": { - "column": 14, - "line": 185 + "column": 66, + "line": 36 } } }, { - "id": "2237", + "id": "2460", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -160,26 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"pied-piper\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:67:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 11, "static": false, "killedBy": [ - "228" + "734" ], "coveredBy": [ - "228", - "229", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "560", - "561" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 60, - "line": 185 + "column": 156, + "line": 36 }, "start": { - "column": 14, - "line": 185 + "column": 66, + "line": 36 } } }, { - "id": "2238", - "mutatorName": "EqualityOperator", - "replacement": "(await specificRoleMethods[source]?.()) !== true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 0\n\n@@ -160,26 +160,10 @@\n \"name\": \"seer\",\n \"players\": undefined,\n },\n },\n GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2461", + "mutatorName": "LogicalOperator", + "replacement": "role.maxInGame || role.minInGame === undefined || role.minInGame <= leftRolesToPickCount", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 18, + "testsCompleted": 11, "static": false, "killedBy": [ - "228" + "728" ], "coveredBy": [ - "228", - "229", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "560", - "561" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 60, - "line": 185 + "column": 156, + "line": 36 }, "start": { - "column": 14, - "line": 185 + "column": 66, + "line": 36 } } }, { - "id": "2239", - "mutatorName": "OptionalChaining", - "replacement": "specificRoleMethods[source]()", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(185,20): error TS2722: Cannot invoke an object which is possibly 'undefined'.\n", + "id": "2462", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 90\nReceived length: 100\nReceived array: [{\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:89:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, + "static": false, + "killedBy": [ + "735" + ], + "coveredBy": [ + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" + ], + "location": { + "end": { + "column": 155, + "line": 36 + }, + "start": { + "column": 85, + "line": 36 + } + } + }, + { + "id": "2463", + "mutatorName": "LogicalOperator", + "replacement": "role.minInGame === undefined && role.minInGame <= leftRolesToPickCount", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(36,117): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "560", - "561" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 51, - "line": 185 + "column": 155, + "line": 36 }, "start": { - "column": 20, - "line": 185 + "column": 85, + "line": 36 } } }, { - "id": "2240", - "mutatorName": "BooleanLiteral", + "id": "2464", + "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 12\n+ Received + 6\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cca80d98ccac13074810\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cca80d98ccac13074811\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cca80d98ccac13074812\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cca80d98ccac13074813\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cca80d98ccac13074814\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cca80d98ccac13074815\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -303,16 +303,10 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"werewolves\",\n- },\n- },\n- Object {\n- \"action\": \"eat\",\n- \"source\": Object {\n- \"name\": \"white-werewolf\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 18, + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(36,94): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "234", - "235", - "315", - "316", - "317", - "318", - "319", - "320", - "321", - "322", - "323", - "324", - "325", - "326", - "560", - "561" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 60, - "line": 185 + "column": 113, + "line": 36 }, "start": { - "column": 56, - "line": 185 + "column": 85, + "line": 36 } } }, { - "id": "2241", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 8\n\n@@ -160,10 +160,18 @@\n \"status\": \"playing\",\n \"tick\": 2914403374596096,\n \"turn\": 113045432958976,\n \"upcomingPlays\": Array [\n GamePlay {\n+ \"action\": \"look\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"seer\",\n+ \"players\": undefined,\n+ },\n+ },\n+ GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:106:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 12, + "id": "2465", + "mutatorName": "EqualityOperator", + "replacement": "role.minInGame !== undefined", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(36,117): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "229" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 99, - "line": 187 + "column": 113, + "line": 36 }, "start": { - "column": 12, - "line": 187 + "column": 85, + "line": 36 } } }, { - "id": "2242", + "id": "2466", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -152,18 +152,10 @@\n \"status\": \"canceled\",\n \"tick\": 5570596555456512,\n \"turn\": 6013921406222336,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:98:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 12, + "testsCompleted": 8, "static": false, "killedBy": [ - "228" + "736" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "728", + "729", + "730", + "731", + "735", + "736", + "737" ], "location": { "end": { - "column": 99, - "line": 187 + "column": 155, + "line": 36 }, "start": { - "column": 12, - "line": 187 + "column": 117, + "line": 36 } } }, { - "id": "2243", - "mutatorName": "LogicalOperator", - "replacement": "player instanceof CreateGamePlayerDto && isPlayerAliveAndPowerful(player, (game as Game))", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(187,78): error TS2345: Argument of type 'CreateGamePlayerDto' is not assignable to parameter of type 'Player'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "id": "2467", + "mutatorName": "EqualityOperator", + "replacement": "role.minInGame < leftRolesToPickCount", + "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:98:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "736" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "327", - "328", - "329", - "330", - "560", - "561", - "572" + "493", + "728", + "729", + "730", + "731", + "735", + "736", + "737" ], "location": { "end": { - "column": 99, - "line": 187 + "column": 155, + "line": 36 }, "start": { - "column": 12, - "line": 187 + "column": 117, + "line": 36 } } }, { - "id": "2244", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(190,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2468", + "mutatorName": "EqualityOperator", + "replacement": "role.minInGame > leftRolesToPickCount", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 90\nReceived length: 101\nReceived array: [{\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:89:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 8, "static": false, - "killedBy": [], + "killedBy": [ + "735" + ], "coveredBy": [ - "331", - "332", - "333", - "334", - "335" + "493", + "728", + "729", + "730", + "731", + "735", + "736", + "737" ], "location": { "end": { - "column": 4, - "line": 199 + "column": 155, + "line": 36 }, "start": { - "column": 89, - "line": 190 + "column": 117, + "line": 36 } } }, { - "id": "2245", - "mutatorName": "BooleanLiteral", - "replacement": "game.options.roles.sheriff.isEnabled", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1478:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2469", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "331" - ], + "killedBy": [], "coveredBy": [ - "331", - "332", - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 46, - "line": 191 + "column": 35, + "line": 38 }, "start": { - "column": 9, - "line": 191 + "column": 11, + "line": 38 } } }, { - "id": "2246", + "id": "2470", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(197,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "331", - "332", - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 46, - "line": 191 + "column": 35, + "line": 38 }, "start": { - "column": 9, - "line": 191 + "column": 11, + "line": 38 } } }, { - "id": "2247", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2471", + "mutatorName": "EqualityOperator", + "replacement": "randomRole !== undefined", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Role'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "331", - "332", - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 46, - "line": 191 + "column": 35, + "line": 38 }, "start": { - "column": 9, - "line": 191 + "column": 11, + "line": 38 } } }, { - "id": "2248", + "id": "2472", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox8288159/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1491:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 8, "static": false, "killedBy": [ - "331" + "728" ], "coveredBy": [ - "331" + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735" ], "location": { "end": { - "column": 6, - "line": 193 + "column": 8, + "line": 41 }, "start": { - "column": 48, - "line": 191 + "column": 37, + "line": 38 } } }, { - "id": "2249", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1478:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2473", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 11, "static": false, "killedBy": [ - "331" + "493" ], "coveredBy": [ - "331" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 19, - "line": 192 + "column": 8, + "line": 47 }, "start": { "column": 14, - "line": 192 + "line": 41 } } }, { - "id": "2250", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(197,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", + "id": "2474", + "mutatorName": "LogicalOperator", + "replacement": "randomRole.minInGame && 1", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,9): error TS2322: Type 'number | undefined' is not assignable to type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "332", - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 38, - "line": 194 + "column": 59, + "line": 42 }, "start": { - "column": 9, - "line": 194 + "column": 34, + "line": 42 } } }, { - "id": "2251", + "id": "2475", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(197,60): error TS2345: Argument of type 'Game | CreateGameDto' is not assignable to parameter of type 'Game'.\n Type 'CreateGameDto' is missing the following properties from type 'Game': _id, tick, status, createdAt, updatedAt\n", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "332", - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 38, - "line": 194 + "column": 51, + "line": 43 }, "start": { - "column": 9, - "line": 194 + "column": 25, + "line": 43 } } }, { - "id": "2252", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(195,50): error TS2345: Argument of type 'Player[] | CreateGamePlayerDto[]' is not assignable to parameter of type 'Player[]'.\n Type 'CreateGamePlayerDto[]' is not assignable to type 'Player[]'.\n Type 'CreateGamePlayerDto' is missing the following properties from type 'Player': _id, attributes, isAlive\n", - "status": "CompileError", + "id": "2476", + "mutatorName": "EqualityOperator", + "replacement": "j <= randomRolesToPickCount", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "727" + ], "coveredBy": [ - "332" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 6, - "line": 196 + "column": 51, + "line": 43 }, "start": { - "column": 40, - "line": 194 + "column": 25, + "line": 43 } } }, { - "id": "2253", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1485:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2477", + "mutatorName": "EqualityOperator", + "replacement": "j >= randomRolesToPickCount", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 11, "static": false, "killedBy": [ - "332" + "493" ], "coveredBy": [ - "332" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 18, - "line": 195 + "column": 51, + "line": 43 }, "start": { - "column": 14, - "line": 195 + "column": 25, + "line": 43 } } }, { - "id": "2254", - "mutatorName": "BooleanLiteral", - "replacement": "!sheriffPlayer", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1498:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2478", + "mutatorName": "UpdateOperator", + "replacement": "j--", + "statusReason": "Hit limit reached (21011/21000)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" + ], + "location": { + "end": { + "column": 56, + "line": 43 + }, + "start": { + "column": 53, + "line": 43 + } + } + }, + { + "id": "2479", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 11, "static": false, "killedBy": [ - "333" + "727" ], "coveredBy": [ - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 27, - "line": 198 + "column": 10, + "line": 46 }, "start": { - "column": 12, - "line": 198 + "column": 58, + "line": 43 } } }, { - "id": "2255", - "mutatorName": "BooleanLiteral", - "replacement": "sheriffPlayer", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3437858/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:1498:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2480", + "mutatorName": "UpdateOperator", + "replacement": "randomRole.maxInGame++", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 11, "static": false, "killedBy": [ - "333" + "728" ], "coveredBy": [ - "333", - "334", - "335" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738" ], "location": { "end": { - "column": 27, - "line": 198 + "column": 33, + "line": 44 }, "start": { - "column": 13, - "line": 198 + "column": 11, + "line": 44 } } }, { - "id": "2256", + "id": "2481", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-play/game-play.service.ts(201,100): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(52,64): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "336", - "337", - "560", - "561", - "572", - "573" + "493", + "727", + "728", + "729", + "730", + "731", + "739", + "740", + "741", + "742", + "743", + "744" ], "location": { "end": { "column": 4, - "line": 208 + "line": 55 }, "start": { - "column": 117, - "line": 201 + "column": 71, + "line": 52 } } }, { - "id": "2257", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2482", + "mutatorName": "ArithmeticOperator", + "replacement": "playerCount * werewolvesRatio", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:38:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 12, "static": false, - "killedBy": [], + "killedBy": [ + "727" + ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "336", - "337", - "560", - "561", - "572", - "573" + "493", + "727", + "728", + "729", + "730", + "731", + "739", + "740", + "741", + "742", + "743", + "744" ], "location": { "end": { - "column": 47, - "line": 202 + "column": 51, + "line": 54 }, "start": { - "column": 9, - "line": 202 + "column": 22, + "line": 54 } } }, { - "id": "2258", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 0\n\n@@ -152,34 +152,10 @@\n \"status\": \"playing\",\n \"tick\": 8915432931065856,\n \"turn\": 6265903324856320,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 12, + "id": "2483", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(57,112): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "228" + "killedBy": [], + "coveredBy": [ + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], + "location": { + "end": { + "column": 4, + "line": 75 + }, + "start": { + "column": 119, + "line": 57 + } + } + }, + { + "id": "2484", + "mutatorName": "MethodExpression", + "replacement": "roles", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(65,5): error TS4104: The type 'readonly Role[]' is 'readonly' and cannot be assigned to the mutable type 'Role[]'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "336", - "337", - "560", - "561", - "572", - "573" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 47, - "line": 202 + "column": 7, + "line": 74 }, "start": { - "column": 9, - "line": 202 + "column": 12, + "line": 65 } } }, { - "id": "2259", + "id": "2485", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 24\n+ Received + 0\n\n@@ -152,34 +152,10 @@\n \"status\": \"canceled\",\n \"tick\": 2319964339961856,\n \"turn\": 660533715927040,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"look\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"seer\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"shoot\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"hunter\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n- \"action\": \"use-potions\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"witch\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"eat\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"werewolves\",\n \"players\": undefined,\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts:81:82)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 9, + "testsCompleted": 13, "static": false, "killedBy": [ - "228" + "746" ], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "336", - "560", - "561", - "572" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { "column": 6, - "line": 204 + "line": 74 }, "start": { - "column": 49, - "line": 202 + "column": 33, + "line": 65 } } }, { - "id": "2260", + "id": "2486", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "337", - "560", - "561", - "572", - "573" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 55, - "line": 204 + "column": 44, + "line": 66 }, "start": { - "column": 16, - "line": 204 + "column": 11, + "line": 66 } } }, { - "id": "2261", + "id": "2487", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 19\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdabfb68806b13e5229c\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdabfb68806b13e5229d\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdabfb68806b13e5229e\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdabfb68806b13e5229f\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdabfb68806b13e522a0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdabfb68806b13e522a1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -282,10 +282,17 @@\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n@@ -309,10 +316,16 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"charmed\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 11, + "status": "Timeout", "static": false, - "killedBy": [ - "560" - ], + "killedBy": [], "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "335", - "337", - "560", - "561", - "572", - "573" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 55, - "line": 204 + "column": 44, + "line": 66 }, "start": { - "column": 16, - "line": 204 + "column": 11, + "line": 66 } } }, { - "id": "2262", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 19\n\n@@ -5,11 +5,11 @@\n \"action\": \"elect-sheriff\",\n \"source\": Object {\n \"name\": \"all\",\n \"players\": Array [\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdb20f6a4e69ff5bbacf\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Antoine\",\n \"position\": 0,\n \"role\": Object {\n@@ -21,11 +21,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdb20f6a4e69ff5bbad0\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Mathis\",\n \"position\": 1,\n \"role\": Object {\n@@ -37,11 +37,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdb20f6a4e69ff5bbad1\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Virgil\",\n \"position\": 2,\n \"role\": Object {\n@@ -53,11 +53,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdb20f6a4e69ff5bbad2\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"JB\",\n \"position\": 3,\n \"role\": Object {\n@@ -69,11 +69,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdb20f6a4e69ff5bbad3\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Doudou\",\n \"position\": 4,\n \"role\": Object {\n@@ -85,11 +85,11 @@\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n Object {\n- \"_id\": Any,\n+ \"_id\": \"64d7cdb20f6a4e69ff5bbad4\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Juju\",\n \"position\": 5,\n \"role\": Object {\n@@ -282,10 +282,17 @@\n \"status\": \"playing\",\n \"tick\": 1,\n \"turn\": 1,\n \"upcomingPlays\": Array [\n Object {\n+ \"action\": \"vote\",\n+ \"cause\": \"angel-presence\",\n+ \"source\": Object {\n+ \"name\": \"all\",\n+ },\n+ },\n+ Object {\n \"action\": \"charm\",\n \"source\": Object {\n \"name\": \"cupid\",\n },\n },\n@@ -309,10 +316,16 @@\n },\n Object {\n \"action\": \"eat\",\n \"source\": Object {\n \"name\": \"white-werewolf\",\n+ },\n+ },\n+ Object {\n+ \"action\": \"meet-each-other\",\n+ \"source\": Object {\n+ \"name\": \"charmed\",\n },\n },\n ],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:440:31)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 10, - "static": false, - "killedBy": [ - "560" - ], - "coveredBy": [ - "228", - "229", - "233", - "234", - "235", - "337", - "560", - "561", - "572", - "573" - ], - "location": { - "end": { - "column": 6, - "line": 206 - }, - "start": { - "column": 57, - "line": 204 - } - } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { ROLE_NAMES } from \"../../../../role/enums/role.enum\";\nimport { gamePlaysNightOrder } from \"../../../constants/game.constant\";\nimport { CreateGamePlayerDto } from \"../../../dto/create-game/create-game-player/create-game-player.dto\";\nimport { CreateGameDto } from \"../../../dto/create-game/create-game.dto\";\nimport { GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../enums/game-play.enum\";\nimport type { GAME_PHASES } from \"../../../enums/game.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../enums/player.enum\";\nimport { createGamePlay, createGamePlayAllElectSheriff, createGamePlayAllVote } from \"../../../helpers/game-play/game-play.factory\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { areAllWerewolvesAlive, getExpectedPlayersToPlay, getGroupOfPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getPlayerDtoWithRole, getPlayersWithActiveAttributeName, getPlayersWithCurrentRole, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole, isGameSourceGroup, isGameSourceRole } from \"../../../helpers/game.helper\";\nimport { canPiedPiperCharm, isPlayerAliveAndPowerful, isPlayerPowerful } from \"../../../helpers/player/player.helper\";\nimport type { SheriffGameOptions } from \"../../../schemas/game-options/roles-game-options/sheriff-game-options/sheriff-game-options.schema\";\nimport type { GamePlay } from \"../../../schemas/game-play/game-play.schema\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport { GameHistoryRecordService } from \"../game-history/game-history-record.service\";\n\n@Injectable()\nexport class GamePlayService {\n public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {}\n \n public async removeObsoleteUpcomingPlays(game: Game): Promise {\n const clonedGame = createGame(game);\n const validUpcomingPlays: GamePlay[] = [];\n for (const upcomingPlay of clonedGame.upcomingPlays) {\n if (await this.isGamePlaySuitableForCurrentPhase(clonedGame, upcomingPlay)) {\n validUpcomingPlays.push(upcomingPlay);\n }\n }\n clonedGame.upcomingPlays = validUpcomingPlays;\n return clonedGame;\n }\n\n public proceedToNextGamePlay(game: Game): Game {\n const clonedGame = createGame(game);\n if (!clonedGame.upcomingPlays.length) {\n clonedGame.currentPlay = null;\n return clonedGame;\n }\n clonedGame.currentPlay = clonedGame.upcomingPlays[0];\n clonedGame.currentPlay.source.players = getExpectedPlayersToPlay(clonedGame);\n clonedGame.upcomingPlays.shift();\n return clonedGame;\n }\n\n public getUpcomingDayPlays(): GamePlay[] {\n return [createGamePlayAllVote()];\n }\n\n public async getUpcomingNightPlays(game: CreateGameDto | Game): Promise {\n const isFirstNight = game.turn === 1;\n const eligibleNightPlays = gamePlaysNightOrder.filter(play => isFirstNight || play.isFirstNightOnly !== true);\n const isSheriffElectionTime = this.isSheriffElectionTime(game.options.roles.sheriff, game.turn, game.phase);\n const upcomingNightPlays: GamePlay[] = isSheriffElectionTime ? [createGamePlayAllElectSheriff()] : [];\n for (const eligibleNightPlay of eligibleNightPlays) {\n if (await this.isGamePlaySuitableForCurrentPhase(game, eligibleNightPlay)) {\n upcomingNightPlays.push(createGamePlay(eligibleNightPlay));\n }\n }\n return upcomingNightPlays;\n }\n\n private isSheriffElectionTime(sheriffGameOptions: SheriffGameOptions, currentTurn: number, currentPhase: GAME_PHASES): boolean {\n const { electedAt, isEnabled } = sheriffGameOptions;\n return isEnabled && electedAt.turn === currentTurn && electedAt.phase === currentPhase;\n }\n\n private isLoversGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.CUPID);\n }\n const cupidPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.CUPID);\n if (!cupidPlayer) {\n return false;\n }\n const inLovePlayers = getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.IN_LOVE);\n return !inLovePlayers.length && isPlayerAliveAndPowerful(cupidPlayer, game) || inLovePlayers.length > 0 && inLovePlayers.every(player => player.isAlive);\n }\n\n private isAllGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): boolean {\n if (gamePlay.cause !== GAME_PLAY_CAUSES.ANGEL_PRESENCE) {\n return true;\n }\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.ANGEL);\n }\n const angelPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.ANGEL);\n return !!angelPlayer && isPlayerAliveAndPowerful(angelPlayer, game);\n }\n\n private isGroupGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): boolean {\n const source = gamePlay.source.name as PLAYER_GROUPS;\n const specificGroupMethods: Record boolean> = {\n [PLAYER_GROUPS.ALL]: this.isAllGamePlaySuitableForCurrentPhase,\n [PLAYER_GROUPS.LOVERS]: this.isLoversGamePlaySuitableForCurrentPhase,\n [PLAYER_GROUPS.CHARMED]: this.isPiedPiperGamePlaySuitableForCurrentPhase,\n [PLAYER_GROUPS.WEREWOLVES]: () => game instanceof CreateGameDto || getGroupOfPlayers(game, source).some(werewolf => isPlayerAliveAndPowerful(werewolf, game)),\n [PLAYER_GROUPS.VILLAGERS]: () => false,\n };\n return specificGroupMethods[source](game, gamePlay);\n }\n\n private async isWitchGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): Promise {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.WITCH);\n }\n const hasWitchUsedLifePotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.LIFE)).length > 0;\n const hasWitchUsedDeathPotion = (await this.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords(game._id, WITCH_POTIONS.DEATH)).length > 0;\n const { doSkipCallIfNoTarget } = game.options.roles;\n const witchPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WITCH);\n return !!witchPlayer && isPlayerAliveAndPowerful(witchPlayer, game) && (!doSkipCallIfNoTarget || !hasWitchUsedLifePotion || !hasWitchUsedDeathPotion);\n }\n\n private isWhiteWerewolfGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n const { wakingUpInterval } = game.options.roles.whiteWerewolf;\n const shouldWhiteWerewolfBeCalledOnCurrentTurn = (game.turn - 1) % wakingUpInterval === 0;\n if (game instanceof CreateGameDto) {\n return shouldWhiteWerewolfBeCalledOnCurrentTurn && !!getPlayerDtoWithRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n }\n const { doSkipCallIfNoTarget } = game.options.roles;\n const availableTargets = getLeftToEatByWhiteWerewolfPlayers(game);\n const whiteWerewolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.WHITE_WEREWOLF);\n return shouldWhiteWerewolfBeCalledOnCurrentTurn && !!whiteWerewolfPlayer && isPlayerAliveAndPowerful(whiteWerewolfPlayer, game) &&\n (!doSkipCallIfNoTarget || !!availableTargets.length);\n }\n\n private isPiedPiperGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.PIED_PIPER);\n }\n const piedPiperPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.PIED_PIPER);\n return !!piedPiperPlayer && canPiedPiperCharm(piedPiperPlayer, game);\n }\n\n private isBigBadWolfGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (game instanceof CreateGameDto) {\n return !!getPlayerDtoWithRole(game, ROLE_NAMES.BIG_BAD_WOLF);\n }\n const { doSkipCallIfNoTarget } = game.options.roles;\n const availableTargets = getLeftToEatByWerewolvesPlayers(game);\n const { isPowerlessIfWerewolfDies } = game.options.roles.bigBadWolf;\n const bigBadWolfPlayer = getPlayerWithCurrentRole(game, ROLE_NAMES.BIG_BAD_WOLF);\n return !!bigBadWolfPlayer && isPlayerAliveAndPowerful(bigBadWolfPlayer, game) &&\n (!isPowerlessIfWerewolfDies || areAllWerewolvesAlive(game) && (!doSkipCallIfNoTarget || !!availableTargets.length));\n }\n\n private isThreeBrothersGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n const { wakingUpInterval } = game.options.roles.threeBrothers;\n const shouldThreeBrothersBeCalled = wakingUpInterval > 0;\n if (game instanceof CreateGameDto) {\n return shouldThreeBrothersBeCalled && !!getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS);\n }\n const threeBrothersPlayers = getPlayersWithCurrentRole(game, ROLE_NAMES.THREE_BROTHERS);\n const minimumBrotherCountToCall = 2;\n return shouldThreeBrothersBeCalled && threeBrothersPlayers.filter(brother => brother.isAlive).length >= minimumBrotherCountToCall;\n }\n\n private isTwoSistersGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n const { wakingUpInterval } = game.options.roles.twoSisters;\n const shouldTwoSistersBeCalled = wakingUpInterval > 0;\n if (game instanceof CreateGameDto) {\n return shouldTwoSistersBeCalled && !!getPlayerDtoWithRole(game, ROLE_NAMES.TWO_SISTERS);\n }\n const twoSistersPlayers = getPlayersWithCurrentRole(game, ROLE_NAMES.TWO_SISTERS);\n return shouldTwoSistersBeCalled && twoSistersPlayers.length > 0 && twoSistersPlayers.every(sister => sister.isAlive);\n }\n\n private async isRoleGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): Promise {\n const source = gamePlay.source.name as ROLE_NAMES;\n const player = game instanceof CreateGameDto ? getPlayerDtoWithRole(game, source) : getPlayerWithCurrentRole(game, source);\n if (!player) {\n return false;\n }\n const specificRoleMethods: Partial Promise | boolean>> = {\n [ROLE_NAMES.TWO_SISTERS]: () => this.isTwoSistersGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.THREE_BROTHERS]: () => this.isThreeBrothersGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.BIG_BAD_WOLF]: () => this.isBigBadWolfGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.PIED_PIPER]: () => this.isPiedPiperGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.WHITE_WEREWOLF]: () => this.isWhiteWerewolfGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.WITCH]: async() => this.isWitchGamePlaySuitableForCurrentPhase(game),\n [ROLE_NAMES.HUNTER]: () => player instanceof CreateGamePlayerDto || isPlayerPowerful(player, game as Game),\n [ROLE_NAMES.SCAPEGOAT]: () => player instanceof CreateGamePlayerDto || isPlayerPowerful(player, game as Game),\n };\n if (specificRoleMethods[source] !== undefined) {\n return await specificRoleMethods[source]?.() === true;\n }\n return player instanceof CreateGamePlayerDto || isPlayerAliveAndPowerful(player, game as Game);\n }\n\n private isSheriffGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game): boolean {\n if (!game.options.roles.sheriff.isEnabled) {\n return false;\n }\n if (game instanceof CreateGameDto) {\n return true;\n }\n const sheriffPlayer = getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n return !!sheriffPlayer;\n }\n\n private async isGamePlaySuitableForCurrentPhase(game: CreateGameDto | Game, gamePlay: GamePlay): Promise {\n if (isGameSourceRole(gamePlay.source.name)) {\n return this.isRoleGamePlaySuitableForCurrentPhase(game, gamePlay);\n } else if (isGameSourceGroup(gamePlay.source.name)) {\n return this.isGroupGamePlaySuitableForCurrentPhase(game, gamePlay);\n }\n return this.isSheriffGamePlaySuitableForCurrentPhase(game);\n }\n}" - }, - "src/modules/game/providers/services/game-random-composition.service.ts": { - "language": "typescript", - "mutants": [ - { - "id": "2263", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(13,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2488", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== ROLE_NAMES.VILLAGER", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(68,18): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.VILLAGER' and 'ROLE_NAMES.WEREWOLF' have no overlap.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 4, - "line": 27 + "column": 44, + "line": 66 }, "start": { - "column": 138, - "line": 13 + "column": 11, + "line": 66 } } }, { - "id": "2264", - "mutatorName": "ArithmeticOperator", - "replacement": "getGameRandomCompositionDto.players.length + werewolfRolesCount", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2489", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:175:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 13, "static": false, "killedBy": [ - "699" + "747" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 95, - "line": 16 + "column": 8, + "line": 68 }, "start": { - "column": 32, - "line": 16 + "column": 46, + "line": 66 } } }, { - "id": "2265", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(21,48): error TS2339: Property 'name' does not exist on type 'never'.\n", - "status": "CompileError", + "id": "2490", + "mutatorName": "BooleanLiteral", + "replacement": "arePowerfulVillagerRolesPrioritized", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "746" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 6, - "line": 20 + "column": 52, + "line": 67 }, "start": { - "column": 25, - "line": 17 + "column": 16, + "line": 67 } } }, { - "id": "2266", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(22,101): error TS2322: Type 'undefined' is not assignable to type 'GetGameRandomCompositionPlayerResponseDto'.\n", + "id": "2491", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 7, - "line": 26 + "column": 51, + "line": 68 }, "start": { - "column": 95, - "line": 22 + "column": 18, + "line": 68 } } }, { - "id": "2267", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'current')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:226:14\n at Array.every ()\n at Object.toSatisfyAll (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-extended/dist/matchers/toSatisfyAll.js:13:23)\n at __EXTERNAL_MATCHER_TRAP__ (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:325:30)\n at Object.throwingMatcher [as toSatisfyAll] (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:326:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:225:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2492", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:189:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 13, "static": false, "killedBy": [ - "544" + "749" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 6, - "line": 26 + "column": 51, + "line": 68 }, "start": { - "column": 173, - "line": 22 + "column": 18, + "line": 68 } } }, { - "id": "2268", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toSatisfyAll(expected)\n\nExpected array to satisfy predicate for all values:\n [Function anonymous]\nReceived:\n [{\"name\": \"1\", \"role\": {}, \"side\": {}}, {\"name\": \"2\", \"role\": {}, \"side\": {}}, {\"name\": \"3\", \"role\": {}, \"side\": {}}, {\"name\": \"4\", \"role\": {}, \"side\": {}}, {\"name\": \"5\", \"role\": {}, \"side\": {}}, {\"name\": \"6\", \"role\": {}, \"side\": {}}, {\"name\": \"7\", \"role\": {}, \"side\": {}}, {\"name\": \"8\", \"role\": {}, \"side\": {}}, {\"name\": \"9\", \"role\": {}, \"side\": {}}, {\"name\": \"10\", \"role\": {}, \"side\": {}}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:225:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 6, + "id": "2493", + "mutatorName": "EqualityOperator", + "replacement": "role.name !== ROLE_NAMES.WEREWOLF", + "status": "Timeout", "static": false, - "killedBy": [ - "544" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 54, - "line": 24 + "column": 51, + "line": 68 }, "start": { - "column": 13, - "line": 24 + "column": 18, + "line": 68 } } }, { - "id": "2269", + "id": "2494", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(29,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:189:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], - "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "killedBy": [ + "749" ], - "location": { - "end": { - "column": 4, - "line": 50 - }, - "start": { - "column": 109, - "line": 29 - } - } - }, - { - "id": "2270", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(30,34): error TS2322: Type 'string' is not assignable to type 'Role'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 35, - "line": 30 + "column": 8, + "line": 70 }, "start": { - "column": 33, - "line": 30 + "column": 53, + "line": 68 } } }, { - "id": "2271", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2495", + "mutatorName": "BooleanLiteral", + "replacement": "arePowerfulWerewolfRolesPrioritized", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:182:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "748" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 59, - "line": 32 + "column": 52, + "line": 69 }, "start": { - "column": 30, - "line": 32 + "column": 16, + "line": 69 } } }, { - "id": "2272", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:56:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2496", + "mutatorName": "BooleanLiteral", + "replacement": "excludedRoles.includes(role.name)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:161:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "705" - ], - "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "testsCompleted": 13, + "static": false, + "killedBy": [ + "745" + ], + "coveredBy": [ + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 59, - "line": 32 + "column": 65, + "line": 71 }, "start": { - "column": 30, - "line": 32 + "column": 31, + "line": 71 } } }, { - "id": "2273", - "mutatorName": "EqualityOperator", - "replacement": "side !== ROLE_SIDES.VILLAGERS", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:49:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2497", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:201:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 13, "static": false, "killedBy": [ - "704" + "750" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 59, - "line": 32 + "column": 166, + "line": 72 }, "start": { - "column": 30, - "line": 32 + "column": 40, + "line": 72 } } }, { - "id": "2274", + "id": "2498", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "751" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 41, - "line": 34 + "column": 166, + "line": 72 }, "start": { - "column": 21, - "line": 34 + "column": 40, + "line": 72 } } }, { - "id": "2275", - "mutatorName": "EqualityOperator", - "replacement": "i <= rolesToPickCount", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:39:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2499", + "mutatorName": "LogicalOperator", + "replacement": "(!areRecommendedMinPlayersRespected || role.recommendedMinPlayers === undefined) && role.recommendedMinPlayers <= players.length", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,124): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "700" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 41, - "line": 34 + "column": 166, + "line": 72 }, "start": { - "column": 21, - "line": 34 + "column": 40, + "line": 72 } } }, { - "id": "2276", - "mutatorName": "EqualityOperator", - "replacement": "i >= rolesToPickCount", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2500", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,49): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "699" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 41, - "line": 34 + "column": 118, + "line": 72 }, "start": { - "column": 21, - "line": 34 + "column": 40, + "line": 72 } } }, { - "id": "2277", - "mutatorName": "AssignmentOperator", - "replacement": "i -= randomRolesToPickCount", - "statusReason": "Hit limit reached (43213/43200)", - "status": "Timeout", + "id": "2501", + "mutatorName": "LogicalOperator", + "replacement": "!areRecommendedMinPlayersRespected && role.recommendedMinPlayers === undefined", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 70, - "line": 34 + "column": 118, + "line": 72 }, "start": { - "column": 43, - "line": 34 + "column": 40, + "line": 72 } } }, { - "id": "2278", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2502", + "mutatorName": "BooleanLiteral", + "replacement": "areRecommendedMinPlayersRespected", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:201:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 13, "static": false, "killedBy": [ - "699" + "750" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 6, - "line": 48 + "column": 74, + "line": 72 }, "start": { - "column": 72, - "line": 34 + "column": 40, + "line": 72 } } }, { - "id": "2279", - "mutatorName": "ArithmeticOperator", - "replacement": "rolesToPickCount + i", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 90\nReceived length: 108\nReceived array: [{\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:89:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2503", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,87): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "707" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 56, - "line": 35 + "column": 118, + "line": 72 }, "start": { - "column": 36, - "line": 35 + "column": 78, + "line": 72 } } }, { - "id": "2280", - "mutatorName": "MethodExpression", - "replacement": "availableSidedRoles", - "status": "Timeout", + "id": "2504", + "mutatorName": "EqualityOperator", + "replacement": "role.recommendedMinPlayers !== undefined", + "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 157, - "line": 36 + "column": 118, + "line": 72 }, "start": { - "column": 31, - "line": 36 + "column": 78, + "line": 72 } } }, { - "id": "2281", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"pied-piper\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:67:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2505", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 13, "static": false, "killedBy": [ - "706" + "751" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 156, - "line": 36 + "column": 166, + "line": 72 }, "start": { - "column": 58, - "line": 36 + "column": 122, + "line": 72 } } }, { - "id": "2282", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2506", + "mutatorName": "EqualityOperator", + "replacement": "role.recommendedMinPlayers < players.length", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 13, "static": false, "killedBy": [ - "700" + "751" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 156, - "line": 36 + "column": 166, + "line": 72 }, "start": { - "column": 66, - "line": 36 + "column": 122, + "line": 72 } } }, { - "id": "2283", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"pied-piper\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:67:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2507", + "mutatorName": "EqualityOperator", + "replacement": "role.recommendedMinPlayers > players.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:201:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 13, "static": false, "killedBy": [ - "706" + "750" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 156, - "line": 36 + "column": 166, + "line": 72 }, "start": { - "column": 66, - "line": 36 + "column": 122, + "line": 72 } } }, { - "id": "2284", - "mutatorName": "LogicalOperator", - "replacement": "role.maxInGame || role.minInGame === undefined || role.minInGame <= leftRolesToPickCount", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2508", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:161:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 13, "static": false, "killedBy": [ - "700" + "745" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 156, - "line": 36 + "column": 57, + "line": 73 }, "start": { - "column": 66, - "line": 36 + "column": 14, + "line": 73 } } }, { - "id": "2285", + "id": "2509", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 90\nReceived length: 100\nReceived array: [{\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:89:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 13, "static": false, "killedBy": [ - "707" + "751" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 155, - "line": 36 + "column": 57, + "line": 73 }, "start": { - "column": 85, - "line": 36 + "column": 14, + "line": 73 } } }, { - "id": "2286", + "id": "2510", "mutatorName": "LogicalOperator", - "replacement": "role.minInGame === undefined && role.minInGame <= leftRolesToPickCount", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(36,117): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "isRolePermitted || isRoleMinInGameRespected", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:161:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "745" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "493", + "727", + "728", + "729", + "730", + "731", + "745", + "746", + "747", + "748", + "749", + "750", + "751" ], "location": { "end": { - "column": 155, - "line": 36 + "column": 57, + "line": 73 }, "start": { - "column": 85, - "line": 36 + "column": 14, + "line": 73 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport { sample, shuffle } from \"lodash\";\nimport { defaultVillagerRole, defaultWerewolfRole, roles } from \"../../../role/constants/role.constant\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../role/enums/role.enum\";\nimport { getRolesWithSide } from \"../../../role/helpers/role.helper\";\nimport { Role } from \"../../../role/types/role.type\";\nimport { GetGameRandomCompositionPlayerResponseDto } from \"../../dto/get-game-random-composition/get-game-random-composition-player-response/get-game-random-composition-player-response.dto\";\nimport type { GetGameRandomCompositionDto } from \"../../dto/get-game-random-composition/get-game-random-composition.dto\";\n\n@Injectable()\nexport class GameRandomCompositionService {\n public getGameRandomComposition(getGameRandomCompositionDto: GetGameRandomCompositionDto): GetGameRandomCompositionPlayerResponseDto[] {\n const availableRoles = plainToInstance(Role, this.getAvailableRolesForGameRandomComposition(getGameRandomCompositionDto));\n const werewolfRolesCount = this.getWerewolfCountForComposition(getGameRandomCompositionDto.players.length);\n const villagerRolesCount = getGameRandomCompositionDto.players.length - werewolfRolesCount;\n const randomRoles = [\n ...this.getRandomRolesForSide(availableRoles, werewolfRolesCount, ROLE_SIDES.WEREWOLVES),\n ...this.getRandomRolesForSide(availableRoles, villagerRolesCount, ROLE_SIDES.VILLAGERS),\n ];\n const shuffledRandomRoles = shuffle(randomRoles);\n return getGameRandomCompositionDto.players.map((player, index) => plainToInstance(GetGameRandomCompositionPlayerResponseDto, {\n name: player.name,\n role: { name: shuffledRandomRoles[index].name },\n side: {},\n }));\n }\n\n private getRandomRolesForSide(availableRoles: Role[], rolesToPickCount: number, side: ROLE_SIDES): Role[] {\n const randomRoles: Role[] = [];\n const availableSidedRoles = getRolesWithSide(availableRoles, side);\n const defaultSidedRole = side === ROLE_SIDES.VILLAGERS ? defaultVillagerRole : defaultWerewolfRole;\n let randomRolesToPickCount = 1;\n for (let i = 0; i < rolesToPickCount; i += randomRolesToPickCount) {\n const leftRolesToPickCount = rolesToPickCount - i;\n const leftRolesToPick = availableSidedRoles.filter(role => role.maxInGame && (role.minInGame === undefined || role.minInGame <= leftRolesToPickCount));\n const randomRole = sample(leftRolesToPick);\n if (randomRole === undefined) {\n randomRolesToPickCount = 1;\n randomRoles.push(defaultSidedRole);\n } else {\n randomRolesToPickCount = randomRole.minInGame ?? 1;\n for (let j = 0; j < randomRolesToPickCount; j++) {\n randomRole.maxInGame--;\n randomRoles.push(randomRole);\n }\n }\n }\n return randomRoles;\n }\n\n private getWerewolfCountForComposition(playerCount: number): number {\n const werewolvesRatio = 6;\n return Math.ceil(playerCount / werewolvesRatio);\n }\n\n private getAvailableRolesForGameRandomComposition(getGameRandomCompositionDto: GetGameRandomCompositionDto): Role[] {\n const {\n players,\n excludedRoles,\n areRecommendedMinPlayersRespected,\n arePowerfulVillagerRolesPrioritized,\n arePowerfulWerewolfRolesPrioritized,\n } = getGameRandomCompositionDto;\n return roles.filter(role => {\n if (role.name === ROLE_NAMES.VILLAGER) {\n return !arePowerfulVillagerRolesPrioritized;\n } else if (role.name === ROLE_NAMES.WEREWOLF) {\n return !arePowerfulWerewolfRolesPrioritized;\n }\n const isRolePermitted = !excludedRoles.includes(role.name);\n const isRoleMinInGameRespected = !areRecommendedMinPlayersRespected || role.recommendedMinPlayers === undefined || role.recommendedMinPlayers <= players.length;\n return isRolePermitted && isRoleMinInGameRespected;\n });\n }\n}" + }, + "src/modules/game/providers/services/game.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "2287", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(36,94): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", + "id": "2511", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(39,28): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "482", + "483", + "691" ], "location": { "end": { - "column": 113, - "line": 36 + "column": 4, + "line": 41 }, "start": { - "column": 85, - "line": 36 + "column": 44, + "line": 39 } } }, { - "id": "2288", - "mutatorName": "EqualityOperator", - "replacement": "role.minInGame !== undefined", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(36,117): error TS18048: 'role.minInGame' is possibly 'undefined'.\n", + "id": "2512", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(43,49): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "517", + "518", + "519", + "692", + "693", + "694" ], "location": { "end": { - "column": 113, - "line": 36 + "column": 4, + "line": 58 }, "start": { - "column": 85, - "line": 36 + "column": 63, + "line": 43 } } }, { - "id": "2289", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:98:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2513", + "mutatorName": "BooleanLiteral", + "replacement": "upcomingPlays.length", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:507:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 6, "static": false, "killedBy": [ - "708" + "517" ], "coveredBy": [ - "544", - "700", - "701", - "702", - "703", - "707", - "708", - "709" + "517", + "518", + "519", + "692", + "693", + "694" ], "location": { "end": { - "column": 155, - "line": 36 + "column": 30, + "line": 45 }, "start": { - "column": 117, - "line": 36 + "column": 9, + "line": 45 } } }, { - "id": "2290", - "mutatorName": "EqualityOperator", - "replacement": "role.minInGame < leftRolesToPickCount", - "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"minInGame\": 3, \"name\": \"three-brothers\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:98:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2514", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "UnexpectedException: Unexpected exception in createGame\n at createCantGenerateGamePlaysUnexpectedException (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/shared/exception/helpers/unexpected-exception.factory.ts:92:12)\n at GameService.createGame (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game.service.ts:95:63)\n at async Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:174:7)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 5, "static": false, "killedBy": [ - "708" + "693" ], "coveredBy": [ - "544", - "700", - "701", - "702", - "703", - "707", - "708", - "709" + "517", + "518", + "519", + "692", + "693", + "694" ], "location": { "end": { - "column": 155, - "line": 36 + "column": 30, + "line": 45 }, "start": { - "column": 117, - "line": 36 + "column": 9, + "line": 45 } } }, { - "id": "2291", - "mutatorName": "EqualityOperator", - "replacement": "role.minInGame > leftRolesToPickCount", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 90\nReceived length: 101\nReceived array: [{\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": -98, \"minInGame\": 99, \"name\": \"fox\", \"side\": \"villagers\", \"type\": \"villager\"}, …]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:89:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2515", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).rejects.toThrow()\n\nReceived promise resolved instead of rejected\nResolved to value: {\"_id\": \"5fd641ab5eafb1f7d9796f4e\", \"createdAt\": 2023-08-12T13:44:54.497Z, \"currentPlay\": {\"action\": \"sniff\", \"cause\": undefined, \"source\": {\"name\": \"seer\", \"players\": []}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 2158891930484736}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [], \"status\": \"playing\", \"tick\": 1640331391008768, \"turn\": 7236335574188032, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T08:01:53.183Z}\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 8, + "testsCompleted": 5, "static": false, "killedBy": [ - "707" + "692" ], "coveredBy": [ - "544", - "700", - "701", - "702", - "703", - "707", - "708", - "709" + "517", + "518", + "519", + "692", + "693", + "694" ], "location": { "end": { - "column": 155, - "line": 36 + "column": 30, + "line": 45 }, "start": { - "column": 117, - "line": 36 + "column": 9, + "line": 45 } } }, { - "id": "2292", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", - "status": "CompileError", + "id": "2516", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).rejects.toThrow()\n\nReceived promise resolved instead of rejected\nResolved to value: {\"_id\": \"1dc604d36c2ceebc9cdbddb1\", \"createdAt\": 2023-08-12T06:03:16.948Z, \"currentPlay\": {\"action\": \"choose-sign\", \"cause\": undefined, \"source\": {\"name\": \"raven\", \"players\": []}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 3297899853119488}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [], \"status\": \"over\", \"tick\": 7658916343185408, \"turn\": 4188017050779648, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T20:53:06.530Z}\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "692" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "692" ], "location": { "end": { - "column": 35, - "line": 38 + "column": 6, + "line": 47 }, "start": { - "column": 11, - "line": 38 + "column": 32, + "line": 45 } } }, { - "id": "2293", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", - "status": "CompileError", + "id": "2517", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).rejects.toThrow(expected)\n\nExpected message: \"Unexpected exception in createGame\"\nReceived message: \"Unexpected exception in \"\n\n 90 | } else {\n 91 | stryCov_9fa48(\"2688\");\n > 92 | return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_GENERATE_GAME_PLAYS);\n | ^\n 93 | }\n 94 | }\n 95 | function createNoCurrentGamePlayUnexpectedException(scope: string, interpolations: {\n\n at createCantGenerateGamePlaysUnexpectedException (src/shared/exception/helpers/unexpected-exception.factory.ts:92:12)\n at GameService.createGame (src/modules/game/providers/services/game.service.ts:95:63)\n at async Object. (tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:7)\n at Object.toThrow (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:218:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:68)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "692" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "692" ], "location": { "end": { - "column": 35, - "line": 38 + "column": 72, + "line": 46 }, "start": { - "column": 11, - "line": 38 + "column": 60, + "line": 46 } } }, { - "id": "2294", - "mutatorName": "EqualityOperator", - "replacement": "randomRole !== undefined", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,34): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Role'.\n", - "status": "CompileError", + "id": "2518", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"currentPlay\": {\"action\": \"vote\", \"cause\": undefined, \"source\": {\"name\": \"all\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [], \"turn\": 1, \"upcomingPlays\": []}], but it was called with {\"currentPlay\": undefined, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": undefined, \"turn\": 1, \"upcomingPlays\": []}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:181:40)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "693" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710" + "517", + "518", + "519", + "693", + "694" ], "location": { "end": { - "column": 35, - "line": 38 + "column": 6, + "line": 54 }, "start": { - "column": 11, - "line": 38 + "column": 57, + "line": 50 } } }, { - "id": "2295", + "id": "2519", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 8, + "statusReason": "src/modules/game/providers/services/game.service.ts(60,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "700" - ], + "killedBy": [], "coveredBy": [ - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707" + "522", + "523", + "695", + "696" ], "location": { "end": { - "column": 8, - "line": 41 + "column": 4, + "line": 65 }, "start": { - "column": 37, - "line": 38 + "column": 54, + "line": 60 } } }, { - "id": "2296", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2520", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:550:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 4, "static": false, "killedBy": [ - "544" + "523" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "522", + "523", + "695", + "696" ], "location": { "end": { - "column": 8, - "line": 47 + "column": 46, + "line": 61 }, "start": { - "column": 14, - "line": 41 + "column": 9, + "line": 61 } } }, { - "id": "2297", - "mutatorName": "LogicalOperator", - "replacement": "randomRole.minInGame && 1", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(42,9): error TS2322: Type 'number | undefined' is not assignable to type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", + "id": "2521", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:534:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "522" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "522", + "523", + "695", + "696" ], "location": { "end": { - "column": 59, - "line": 42 + "column": 46, + "line": 61 }, "start": { - "column": 34, - "line": 42 + "column": 9, + "line": 61 } } }, { - "id": "2298", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(44,11): error TS18048: 'randomRole' is possibly 'undefined'.\nsrc/modules/game/providers/services/game-random-composition.service.ts(45,28): error TS2345: Argument of type 'Role | undefined' is not assignable to parameter of type 'Role'.\n Type 'undefined' is not assignable to type 'Role'.\n", - "status": "CompileError", + "id": "2522", + "mutatorName": "EqualityOperator", + "replacement": "game.status === GAME_STATUSES.PLAYING", + "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:211:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], - "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "killedBy": [ + "695" + ], + "coveredBy": [ + "522", + "523", + "695", + "696" ], "location": { "end": { - "column": 51, - "line": 43 + "column": 46, + "line": 61 }, "start": { - "column": 25, - "line": 43 + "column": 9, + "line": 61 } } }, { - "id": "2299", - "mutatorName": "EqualityOperator", - "replacement": "j <= randomRolesToPickCount", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2523", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:534:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 2, "static": false, "killedBy": [ - "699" + "522" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710" + "522", + "695" ], "location": { "end": { - "column": 51, - "line": 43 + "column": 6, + "line": 63 }, "start": { - "column": 25, - "line": 43 + "column": 48, + "line": 61 } } }, { - "id": "2300", - "mutatorName": "EqualityOperator", - "replacement": "j >= randomRolesToPickCount", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2524", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -82,11 +82,11 @@\n \"canBeSkipped\": false,\n },\n },\n \"phase\": \"night\",\n \"players\": Array [],\n- \"status\": \"canceled\",\n+ \"status\": \"playing\",\n \"tick\": 3768716288327680,\n \"turn\": 2148731333902336,\n \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:551:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 2, "static": false, "killedBy": [ - "544" + "523" ], "coveredBy": [ - "544", + "523", + "696" + ], + "location": { + "end": { + "column": 72, + "line": 64 + }, + "start": { + "column": 38, + "line": 64 + } + } + }, + { + "id": "2525", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(67,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "528", + "529", + "530", + "531", + "697", + "698", "699", "700", "701", "702", "703", - "706", - "707", - "708", - "709", - "710" + "704", + "705", + "706" ], "location": { "end": { - "column": 51, - "line": 43 + "column": 4, + "line": 87 }, "start": { - "column": 25, - "line": 43 + "column": 90, + "line": 67 } } }, { - "id": "2301", - "mutatorName": "UpdateOperator", - "replacement": "j--", - "statusReason": "Hit limit reached (21011/21000)", - "status": "Timeout", + "id": "2526", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: thrown: BadResourceMutationException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:262:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:222:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:38:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 14, "static": false, - "killedBy": [], + "killedBy": [ + "698" + ], "coveredBy": [ - "544", + "528", + "529", + "530", + "531", + "697", + "698", "699", "700", "701", "702", "703", - "706", - "707", - "708", - "709", - "710" + "704", + "705", + "706" ], "location": { "end": { - "column": 56, - "line": 43 + "column": 52, + "line": 69 }, "start": { - "column": 53, - "line": 43 + "column": 9, + "line": 69 } } }, { - "id": "2302", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "TypeError: Cannot read properties of undefined (reading 'name')\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:72:44\n at Array.map ()\n at GameRandomCompositionService.getGameRandomComposition (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game-random-composition.service.ts:69:50)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:34:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2527", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:913:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 14, "static": false, "killedBy": [ - "699" + "530" ], "coveredBy": [ - "544", + "528", + "529", + "530", + "531", + "697", + "698", "699", "700", "701", "702", "703", - "706", - "707", - "708", - "709", - "710" + "704", + "705", + "706" ], "location": { "end": { - "column": 10, - "line": 46 + "column": 52, + "line": 69 }, "start": { - "column": 58, - "line": 43 + "column": 9, + "line": 69 } } }, { - "id": "2303", - "mutatorName": "UpdateOperator", - "replacement": "randomRole.maxInGame++", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:40:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2528", + "mutatorName": "EqualityOperator", + "replacement": "clonedGame.status === GAME_STATUSES.PLAYING", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 1\n\n Object {\n- \"error\": \"Game Play - Player in `targets.player` is not in the game players\",\n- \"message\": \"Player with id \\\"accbae9cbb7299be89c6e4be\\\" not found\",\n+ \"message\": \"Game with id \\\"ef8e5d6b94b5e0a0b8e059cc\\\" not found\",\n \"statusCode\": 404,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:838:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 14, "static": false, "killedBy": [ - "700" + "528" ], "coveredBy": [ - "544", + "528", + "529", + "530", + "531", + "697", + "698", "699", "700", "701", "702", "703", - "706", - "707", - "708", - "709", - "710" + "704", + "705", + "706" ], "location": { "end": { - "column": 33, - "line": 44 + "column": 52, + "line": 69 }, "start": { - "column": 11, - "line": 44 + "column": 9, + "line": 69 } } }, { - "id": "2304", + "id": "2529", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(52,64): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "711", - "712", - "713", - "714", - "715", - "716" + "697" ], "location": { "end": { - "column": 4, - "line": 55 + "column": 6, + "line": 71 }, "start": { - "column": 71, - "line": 52 + "column": 54, + "line": 69 } } }, { - "id": "2305", - "mutatorName": "ArithmeticOperator", - "replacement": "playerCount * werewolvesRatio", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:38:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2530", + "mutatorName": "UpdateOperator", + "replacement": "clonedGame.tick--", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -215,11 +215,11 @@\n \"original\": \"werewolves\",\n },\n },\n ],\n \"status\": \"playing\",\n- \"tick\": 558444639682561,\n+ \"tick\": 558444639682559,\n \"turn\": 2858639620571136,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n \"source\": Object {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 12, + "testsCompleted": 11, "static": false, "killedBy": [ - "699" + "530" ], "coveredBy": [ - "544", + "530", + "531", + "698", "699", "700", "701", "702", "703", - "711", - "712", - "713", - "714", - "715", - "716" + "704", + "705", + "706" ], "location": { "end": { - "column": 51, - "line": 54 + "column": 22, + "line": 77 }, "start": { - "column": 22, - "line": 54 + "column": 5, + "line": 77 } } }, { - "id": "2306", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(57,112): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2531", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 53\n+ Received + 10\n\n@@ -1,31 +1,14 @@\n Object {\n \"_id\": \"baebcdfbd30cdf2fadebd671\",\n \"createdAt\": Any,\n \"currentPlay\": Object {\n- \"action\": \"vote\",\n- \"cause\": \"previous-votes-were-in-ties\",\n+ \"action\": \"look\",\n \"source\": Object {\n- \"name\": \"all\",\n+ \"name\": \"seer\",\n \"players\": Array [\n Object {\n- \"_id\": \"f5c2b03a0cc1feaaddde7ebb\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Simone\",\n- \"position\": 6020225122172928,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n- Object {\n \"_id\": \"b2702e7c5ffebaede84bc3cc\",\n \"attributes\": Array [],\n \"isAlive\": true,\n \"name\": \"Amelia\",\n \"position\": 5560601216548864,\n@@ -37,42 +20,10 @@\n \"side\": Object {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n },\n },\n- Object {\n- \"_id\": \"ad31cd30c0e7abcc5c787696\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Sincere\",\n- \"position\": 4982655391105024,\n- \"role\": Object {\n- \"current\": \"villager\",\n- \"isRevealed\": false,\n- \"original\": \"villager\",\n- },\n- \"side\": Object {\n- \"current\": \"villagers\",\n- \"original\": \"villagers\",\n- },\n- },\n- Object {\n- \"_id\": \"c5bdc9fa0bee5a0961b4b018\",\n- \"attributes\": Array [],\n- \"isAlive\": true,\n- \"name\": \"Yoshiko\",\n- \"position\": 5654306040578048,\n- \"role\": Object {\n- \"current\": \"werewolf\",\n- \"isRevealed\": false,\n- \"original\": \"werewolf\",\n- },\n- \"side\": Object {\n- \"current\": \"werewolves\",\n- \"original\": \"werewolves\",\n- },\n- },\n ],\n },\n },\n \"options\": Object {\n \"composition\": Object {\n@@ -147,11 +98,11 @@\n },\n \"votes\": Object {\n \"canBeSkipped\": true,\n },\n },\n- \"phase\": \"day\",\n+ \"phase\": \"night\",\n \"players\": Array [\n Object {\n \"_id\": \"f5c2b03a0cc1feaaddde7ebb\",\n \"attributes\": Array [],\n \"isAlive\": true,\n@@ -216,12 +167,18 @@\n },\n },\n ],\n \"status\": \"playing\",\n \"tick\": 442425371787265,\n- \"turn\": 7618731289083904,\n+ \"turn\": 7618731289083905,\n \"upcomingPlays\": Array [\n+ Object {\n+ \"action\": \"eat\",\n+ \"source\": Object {\n+ \"name\": \"werewolves\",\n+ },\n+ },\n Object {\n \"action\": \"look\",\n \"source\": Object {\n \"name\": \"seer\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "544", + "530", + "531", + "698", "699", "700", "701", "702", "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "704", + "705", + "706" ], "location": { "end": { - "column": 4, - "line": 75 + "column": 36, + "line": 78 }, "start": { - "column": 119, - "line": 57 + "column": 9, + "line": 78 } } }, { - "id": "2307", - "mutatorName": "MethodExpression", - "replacement": "roles", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(65,5): error TS4104: The type 'readonly Role[]' is 'readonly' and cannot be assigned to the mutable type 'Role[]'.\n", - "status": "CompileError", + "id": "2532", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:300:64)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "702" + ], "coveredBy": [ - "544", + "530", + "531", + "698", "699", "700", "701", "702", "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "704", + "705", + "706" ], "location": { "end": { - "column": 7, - "line": 74 + "column": 36, + "line": 78 }, "start": { - "column": 12, - "line": 65 + "column": 9, + "line": 78 } } }, { - "id": "2308", + "id": "2533", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:300:64)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 1, "static": false, "killedBy": [ - "718" + "702" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "702" ], "location": { "end": { "column": 6, - "line": 74 + "line": 80 }, "start": { - "column": 33, - "line": 65 + "column": 38, + "line": 78 } } }, { - "id": "2309", + "id": "2534", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -214,11 +214,11 @@\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n },\n },\n ],\n- \"status\": \"playing\",\n+ \"status\": \"over\",\n \"tick\": 6345520456925185,\n \"turn\": 2209345022459904,\n \"upcomingPlays\": Array [\n Object {\n \"action\": \"look\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:914:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], + "killedBy": [ + "530" + ], "coveredBy": [ - "544", + "530", + "531", + "698", "699", "700", "701", "702", "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "704", + "705", + "706" ], "location": { "end": { - "column": 44, - "line": 66 + "column": 31, + "line": 83 }, "start": { - "column": 11, - "line": 66 + "column": 9, + "line": 83 } } }, { - "id": "2310", + "id": "2535", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:338:52)", + "status": "Killed", + "testsCompleted": 11, "static": false, - "killedBy": [], - "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "killedBy": [ + "706" ], - "location": { - "end": { - "column": 44, - "line": 66 - }, - "start": { - "column": 11, - "line": 66 - } - } - }, - { - "id": "2311", - "mutatorName": "EqualityOperator", - "replacement": "role.name !== ROLE_NAMES.VILLAGER", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(68,18): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.VILLAGER' and 'ROLE_NAMES.WEREWOLF' have no overlap.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "544", + "530", + "531", + "698", "699", "700", "701", "702", "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "704", + "705", + "706" ], "location": { "end": { - "column": 44, - "line": 66 + "column": 31, + "line": 83 }, "start": { - "column": 11, - "line": 66 + "column": 9, + "line": 83 } } }, { - "id": "2312", + "id": "2536", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:175:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:338:52)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 1, "static": false, "killedBy": [ - "719" + "706" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "706" ], "location": { "end": { - "column": 8, - "line": 68 + "column": 6, + "line": 85 }, "start": { - "column": 46, - "line": 66 + "column": 33, + "line": 83 } } }, { - "id": "2313", - "mutatorName": "BooleanLiteral", - "replacement": "arePowerfulVillagerRolesPrioritized", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2537", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(89,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "718" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "707", + "708", + "709", + "710" ], "location": { "end": { - "column": 52, - "line": 67 + "column": 4, + "line": 95 }, "start": { - "column": 16, - "line": 67 + "column": 70, + "line": 89 } } }, { - "id": "2314", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "id": "2538", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(97,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "517", + "518", + "519", + "523", + "530", + "531", + "711", + "712" ], "location": { "end": { - "column": 51, - "line": 68 + "column": 4, + "line": 103 }, "start": { - "column": 18, - "line": 68 + "column": 100, + "line": 97 } } }, { - "id": "2315", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:189:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2539", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"e7a460ff720b9ab5c28d0ea0\"}, {\"status\": \"over\"}], but it was called with {}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:392:46)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 7, "static": false, "killedBy": [ - "721" + "712" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "517", + "518", + "519", + "523", + "530", + "531", + "711", + "712" ], "location": { "end": { - "column": 51, - "line": 68 + "column": 76, + "line": 98 }, "start": { - "column": 18, - "line": 68 + "column": 61, + "line": 98 } } }, { - "id": "2316", - "mutatorName": "EqualityOperator", - "replacement": "role.name !== ROLE_NAMES.WEREWOLF", - "status": "Timeout", + "id": "2540", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/game.service.ts(102,5): error TS2322: Type 'Game | null' is not assignable to type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "517", + "518", + "519", + "523", + "530", + "531", + "711", + "712" ], "location": { "end": { - "column": 51, - "line": 68 + "column": 29, + "line": 99 }, "start": { - "column": 18, - "line": 68 + "column": 9, + "line": 99 } } }, { - "id": "2317", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:189:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2541", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/game.service.ts(102,5): error TS2322: Type 'Game | null' is not assignable to type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "721" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "517", + "518", + "519", + "523", + "530", + "531", + "711", + "712" ], "location": { "end": { - "column": 8, - "line": 70 + "column": 29, + "line": 99 }, "start": { - "column": 53, - "line": 68 + "column": 9, + "line": 99 } } }, { - "id": "2318", - "mutatorName": "BooleanLiteral", - "replacement": "arePowerfulWerewolfRolesPrioritized", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:182:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2542", + "mutatorName": "EqualityOperator", + "replacement": "updatedGame !== null", + "statusReason": "src/modules/game/providers/services/game.service.ts(102,5): error TS2322: Type 'null' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "720" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "517", + "518", + "519", + "523", + "530", + "531", + "711", + "712" ], "location": { "end": { - "column": 52, - "line": 69 + "column": 29, + "line": 99 }, "start": { - "column": 16, - "line": 69 + "column": 9, + "line": 99 } } }, { - "id": "2319", - "mutatorName": "BooleanLiteral", - "replacement": "excludedRoles.includes(role.name)", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:161:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2543", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(100,5): error TS2322: Type 'Game | null' is not assignable to type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "717" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "711" ], "location": { "end": { - "column": 65, - "line": 71 + "column": 6, + "line": 101 }, "start": { "column": 31, - "line": 71 + "line": 99 } } }, { - "id": "2320", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:201:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2544", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/game.service.ts(105,38): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "722" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "713" ], "location": { "end": { - "column": 166, - "line": 72 + "column": 4, + "line": 110 }, "start": { - "column": 40, - "line": 72 + "column": 43, + "line": 105 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport type { Types } from \"mongoose\";\nimport { API_RESOURCES } from \"../../../../shared/api/enums/api.enum\";\nimport { BAD_RESOURCE_MUTATION_REASONS } from \"../../../../shared/exception/enums/bad-resource-mutation-error.enum\";\nimport { createCantGenerateGamePlaysUnexpectedException } from \"../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { BadResourceMutationException } from \"../../../../shared/exception/types/bad-resource-mutation-exception.type\";\nimport { ResourceNotFoundException } from \"../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { CreateGameDto } from \"../../dto/create-game/create-game.dto\";\nimport type { MakeGamePlayDto } from \"../../dto/make-game-play/make-game-play.dto\";\nimport { GAME_STATUSES } from \"../../enums/game.enum\";\nimport { isGamePhaseOver } from \"../../helpers/game-phase/game-phase.helper\";\nimport { createMakeGamePlayDtoWithRelations } from \"../../helpers/game-play/game-play.helper\";\nimport { generateGameVictoryData, isGameOver } from \"../../helpers/game-victory/game-victory.helper\";\nimport { createGame as createGameFromFactory } from \"../../helpers/game.factory\";\nimport { getExpectedPlayersToPlay } from \"../../helpers/game.helper\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport type { GameWithCurrentPlay } from \"../../types/game-with-current-play\";\nimport { GameRepository } from \"../repositories/game.repository\";\nimport { GameHistoryRecordService } from \"./game-history/game-history-record.service\";\nimport { GamePhaseService } from \"./game-phase/game-phase.service\";\nimport { GamePlayMakerService } from \"./game-play/game-play-maker.service\";\nimport { GamePlayValidatorService } from \"./game-play/game-play-validator.service\";\nimport { GamePlayService } from \"./game-play/game-play.service\";\nimport { PlayerAttributeService } from \"./player/player-attribute.service\";\n\n@Injectable()\nexport class GameService {\n public constructor(\n private readonly gamePlayService: GamePlayService,\n private readonly gamePlayValidatorService: GamePlayValidatorService,\n private readonly gamePlayMakerService: GamePlayMakerService,\n private readonly gamePhaseService: GamePhaseService,\n private readonly gameRepository: GameRepository,\n private readonly playerAttributeService: PlayerAttributeService,\n private readonly gameHistoryRecordService: GameHistoryRecordService,\n ) {}\n\n public async getGames(): Promise {\n return this.gameRepository.find();\n }\n\n public async createGame(game: CreateGameDto): Promise {\n const upcomingPlays = await this.gamePlayService.getUpcomingNightPlays(game);\n if (!upcomingPlays.length) {\n throw createCantGenerateGamePlaysUnexpectedException(\"createGame\");\n }\n const currentPlay = upcomingPlays[0];\n upcomingPlays.shift();\n const gameToCreate = plainToInstance(CreateGameDto, {\n ...game,\n currentPlay,\n upcomingPlays,\n });\n const createdGame = await this.gameRepository.create(gameToCreate) as GameWithCurrentPlay;\n createdGame.currentPlay.source.players = getExpectedPlayersToPlay(createdGame);\n return this.updateGame(createdGame._id, createdGame);\n }\n\n public async cancelGame(game: Game): Promise {\n if (game.status !== GAME_STATUSES.PLAYING) {\n throw new BadResourceMutationException(API_RESOURCES.GAMES, game._id.toString(), BAD_RESOURCE_MUTATION_REASONS.GAME_NOT_PLAYING);\n }\n return this.updateGame(game._id, { status: GAME_STATUSES.CANCELED });\n }\n\n public async makeGamePlay(game: Game, makeGamePlayDto: MakeGamePlayDto): Promise {\n let clonedGame = createGameFromFactory(game);\n if (clonedGame.status !== GAME_STATUSES.PLAYING) {\n throw new BadResourceMutationException(API_RESOURCES.GAMES, clonedGame._id.toString(), BAD_RESOURCE_MUTATION_REASONS.GAME_NOT_PLAYING);\n }\n const play = createMakeGamePlayDtoWithRelations(makeGamePlayDto, clonedGame);\n await this.gamePlayValidatorService.validateGamePlayWithRelationsDto(play, clonedGame);\n clonedGame = await this.gamePlayMakerService.makeGamePlay(play, clonedGame);\n clonedGame = await this.gamePlayService.refreshUpcomingPlays(clonedGame);\n clonedGame = this.gamePlayService.proceedToNextGamePlay(clonedGame);\n clonedGame.tick++;\n if (isGamePhaseOver(clonedGame)) {\n clonedGame = await this.handleGamePhaseCompletion(clonedGame);\n }\n const gameHistoryRecordToInsert = this.gameHistoryRecordService.generateCurrentGameHistoryRecordToInsert(game, clonedGame, play);\n await this.gameHistoryRecordService.createGameHistoryRecord(gameHistoryRecordToInsert);\n if (isGameOver(clonedGame)) {\n clonedGame = this.setGameAsOver(clonedGame);\n }\n return this.updateGame(clonedGame._id, clonedGame);\n }\n\n private async handleGamePhaseCompletion(game: Game): Promise {\n let clonedGame = createGameFromFactory(game);\n clonedGame = await this.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayers(clonedGame);\n clonedGame = this.playerAttributeService.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes(clonedGame);\n clonedGame = await this.gamePhaseService.switchPhaseAndAppendGamePhaseUpcomingPlays(clonedGame);\n return this.gamePlayService.proceedToNextGamePlay(clonedGame);\n }\n\n private async updateGame(gameId: Types.ObjectId, gameDataToUpdate: Partial): Promise {\n const updatedGame = await this.gameRepository.updateOne({ _id: gameId }, gameDataToUpdate);\n if (updatedGame === null) {\n throw new ResourceNotFoundException(API_RESOURCES.GAMES, gameId.toString());\n }\n return updatedGame;\n }\n\n private setGameAsOver(game: Game): Game {\n const clonedGame = createGameFromFactory(game);\n clonedGame.status = GAME_STATUSES.OVER;\n clonedGame.victory = generateGameVictoryData(clonedGame);\n return clonedGame;\n }\n}" + }, + "src/modules/game/providers/services/player/player-attribute.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "2321", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2545", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(16,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "723" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "864" ], "location": { "end": { - "column": 166, - "line": 72 + "column": 4, + "line": 19 }, "start": { - "column": 40, - "line": 72 + "column": 115, + "line": 16 } } }, { - "id": "2322", - "mutatorName": "LogicalOperator", - "replacement": "(!areRecommendedMinPlayersRespected || role.recommendedMinPlayers === undefined) && role.recommendedMinPlayers <= players.length", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,124): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2546", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"f06c4db3d2d6331bce47f6ac\", {\"_id\": \"5b379d8074aa2e7b7a33d4ef\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:38:54.725Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 4192857483116544}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [], \"status\": \"playing\", \"tick\": 8619916628328448, \"turn\": 586090513694720, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T15:17:43.425Z, \"victory\": undefined}, {\"cause\": \"eaten\", \"source\": \"big-bad-wolf\"}], but it was called with \"f06c4db3d2d6331bce47f6ac\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:43:60)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "864" + ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "864" ], "location": { "end": { - "column": 166, - "line": 72 + "column": 82, + "line": 17 }, "start": { - "column": 40, - "line": 72 + "column": 54, + "line": 17 } } }, { - "id": "2323", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,49): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "id": "2547", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(21,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "865" ], "location": { "end": { - "column": 118, - "line": 72 + "column": 4, + "line": 24 }, "start": { - "column": 40, - "line": 72 + "column": 98, + "line": 21 } } }, { - "id": "2324", - "mutatorName": "LogicalOperator", - "replacement": "!areRecommendedMinPlayersRespected && role.recommendedMinPlayers === undefined", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "id": "2548", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(26,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "866" ], "location": { "end": { - "column": 118, - "line": 72 + "column": 4, + "line": 29 }, "start": { - "column": 40, - "line": 72 + "column": 94, + "line": 26 } } }, { - "id": "2325", - "mutatorName": "BooleanLiteral", - "replacement": "areRecommendedMinPlayersRespected", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:201:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2549", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(31,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "722" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "872" ], "location": { "end": { - "column": 74, - "line": 72 + "column": 4, + "line": 35 }, "start": { - "column": 40, - "line": 72 + "column": 85, + "line": 31 } } }, { - "id": "2326", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,87): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "id": "2550", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(33,5): error TS2322: Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "872" ], "location": { "end": { - "column": 118, - "line": 72 + "column": 134, + "line": 33 }, "start": { - "column": 78, - "line": 72 + "column": 49, + "line": 33 } } }, { - "id": "2327", - "mutatorName": "EqualityOperator", - "replacement": "role.recommendedMinPlayers !== undefined", - "statusReason": "src/modules/game/providers/services/game-random-composition.service.ts(72,122): error TS18048: 'role.recommendedMinPlayers' is possibly 'undefined'.\n", + "id": "2551", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(37,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "867", + "868", + "869", + "871", + "872" ], "location": { "end": { - "column": 118, - "line": 72 + "column": 4, + "line": 43 }, "start": { - "column": 78, - "line": 72 + "column": 100, + "line": 37 } } }, { - "id": "2328", + "id": "2552", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, - "static": false, - "killedBy": [ - "723" - ], - "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "867", + "868", + "869", + "871", + "872" ], "location": { "end": { - "column": 166, - "line": 72 + "column": 104, + "line": 39 }, "start": { - "column": 122, - "line": 72 + "column": 9, + "line": 39 } } }, { - "id": "2329", - "mutatorName": "EqualityOperator", - "replacement": "role.recommendedMinPlayers < players.length", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2553", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "723" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "867", + "868", + "869", + "871", + "872" ], "location": { "end": { - "column": 166, - "line": 72 + "column": 104, + "line": 39 }, "start": { - "column": 122, - "line": 72 + "column": 9, + "line": 39 } } }, { - "id": "2330", - "mutatorName": "EqualityOperator", - "replacement": "role.recommendedMinPlayers > players.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:201:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2554", + "mutatorName": "LogicalOperator", + "replacement": "clonedAttribute.remainingPhases !== undefined || isPlayerAttributeActive(clonedAttribute, game)", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "722" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "867", + "868", + "869", + "871", + "872" ], "location": { "end": { - "column": 166, - "line": 72 + "column": 104, + "line": 39 }, "start": { - "column": 122, - "line": 72 + "column": 9, + "line": 39 } } }, { - "id": "2331", + "id": "2555", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:161:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "717" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "867", + "868", + "869", + "871", + "872" ], "location": { "end": { - "column": 57, - "line": 73 + "column": 54, + "line": 39 }, "start": { - "column": 14, - "line": 73 + "column": 9, + "line": 39 } } }, { - "id": "2332", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 6\nReceived length: 1\nReceived array: [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"werewolf\", \"recommendedMinPlayers\": undefined, \"side\": \"werewolves\", \"type\": \"werewolf\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:220:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2556", + "mutatorName": "EqualityOperator", + "replacement": "clonedAttribute.remainingPhases === undefined", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "723" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "867", + "868", + "869", + "871", + "872" ], "location": { "end": { - "column": 57, - "line": 73 + "column": 54, + "line": 39 }, "start": { - "column": 14, - "line": 73 + "column": 9, + "line": 39 } } }, { - "id": "2333", - "mutatorName": "LogicalOperator", - "replacement": "isRolePermitted || isRoleMinInGameRespected", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:161:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2557", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 3,\n \"source\": \"ancient\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:92:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 3, "static": false, "killedBy": [ - "717" + "869" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "717", - "718", - "719", - "720", - "721", - "722", - "723" + "869", + "871", + "872" ], "location": { "end": { - "column": 57, - "line": 73 + "column": 6, + "line": 41 }, "start": { - "column": 14, - "line": 73 + "column": 106, + "line": 39 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport { sample, shuffle } from \"lodash\";\nimport { defaultVillagerRole, defaultWerewolfRole, roles } from \"../../../role/constants/role.constant\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../role/enums/role.enum\";\nimport { getRolesWithSide } from \"../../../role/helpers/role.helper\";\nimport { Role } from \"../../../role/types/role.type\";\nimport { GetGameRandomCompositionPlayerResponseDto } from \"../../dto/get-game-random-composition/get-game-random-composition-player-response/get-game-random-composition-player-response.dto\";\nimport type { GetGameRandomCompositionDto } from \"../../dto/get-game-random-composition/get-game-random-composition.dto\";\n\n@Injectable()\nexport class GameRandomCompositionService {\n public getGameRandomComposition(getGameRandomCompositionDto: GetGameRandomCompositionDto): GetGameRandomCompositionPlayerResponseDto[] {\n const availableRoles = plainToInstance(Role, this.getAvailableRolesForGameRandomComposition(getGameRandomCompositionDto));\n const werewolfRolesCount = this.getWerewolfCountForComposition(getGameRandomCompositionDto.players.length);\n const villagerRolesCount = getGameRandomCompositionDto.players.length - werewolfRolesCount;\n const randomRoles = [\n ...this.getRandomRolesForSide(availableRoles, werewolfRolesCount, ROLE_SIDES.WEREWOLVES),\n ...this.getRandomRolesForSide(availableRoles, villagerRolesCount, ROLE_SIDES.VILLAGERS),\n ];\n const shuffledRandomRoles = shuffle(randomRoles);\n return getGameRandomCompositionDto.players.map((player, index) => plainToInstance(GetGameRandomCompositionPlayerResponseDto, {\n name: player.name,\n role: { name: shuffledRandomRoles[index].name },\n side: {},\n }));\n }\n\n private getRandomRolesForSide(availableRoles: Role[], rolesToPickCount: number, side: ROLE_SIDES): Role[] {\n const randomRoles: Role[] = [];\n const availableSidedRoles = getRolesWithSide(availableRoles, side);\n const defaultSidedRole = side === ROLE_SIDES.VILLAGERS ? defaultVillagerRole : defaultWerewolfRole;\n let randomRolesToPickCount = 1;\n for (let i = 0; i < rolesToPickCount; i += randomRolesToPickCount) {\n const leftRolesToPickCount = rolesToPickCount - i;\n const leftRolesToPick = availableSidedRoles.filter(role => role.maxInGame && (role.minInGame === undefined || role.minInGame <= leftRolesToPickCount));\n const randomRole = sample(leftRolesToPick);\n if (randomRole === undefined) {\n randomRolesToPickCount = 1;\n randomRoles.push(defaultSidedRole);\n } else {\n randomRolesToPickCount = randomRole.minInGame ?? 1;\n for (let j = 0; j < randomRolesToPickCount; j++) {\n randomRole.maxInGame--;\n randomRoles.push(randomRole);\n }\n }\n }\n return randomRoles;\n }\n\n private getWerewolfCountForComposition(playerCount: number): number {\n const werewolvesRatio = 6;\n return Math.ceil(playerCount / werewolvesRatio);\n }\n\n private getAvailableRolesForGameRandomComposition(getGameRandomCompositionDto: GetGameRandomCompositionDto): Role[] {\n const {\n players,\n excludedRoles,\n areRecommendedMinPlayersRespected,\n arePowerfulVillagerRolesPrioritized,\n arePowerfulWerewolfRolesPrioritized,\n } = getGameRandomCompositionDto;\n return roles.filter(role => {\n if (role.name === ROLE_NAMES.VILLAGER) {\n return !arePowerfulVillagerRolesPrioritized;\n } else if (role.name === ROLE_NAMES.WEREWOLF) {\n return !arePowerfulWerewolfRolesPrioritized;\n }\n const isRolePermitted = !excludedRoles.includes(role.name);\n const isRoleMinInGameRespected = !areRecommendedMinPlayersRespected || role.recommendedMinPlayers === undefined || role.recommendedMinPlayers <= players.length;\n return isRolePermitted && isRoleMinInGameRespected;\n });\n }\n}" - }, - "src/modules/game/providers/services/game.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2334", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(39,28): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2558", + "mutatorName": "UpdateOperator", + "replacement": "clonedAttribute.remainingPhases++", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 4,\n \"source\": \"ancient\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:92:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "869" + ], "coveredBy": [ - "533", - "534", - "663" + "869", + "871", + "872" ], "location": { "end": { - "column": 4, - "line": 41 + "column": 40, + "line": 40 }, "start": { - "column": 44, - "line": 39 + "column": 7, + "line": 40 } } }, { - "id": "2335", + "id": "2559", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(43,49): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(45,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "560", - "561", - "664", - "665", - "666" + "870", + "871", + "872" ], "location": { "end": { @@ -77082,8957 +87133,8951 @@ "line": 58 }, "start": { - "column": 63, - "line": 43 + "column": 98, + "line": 45 } } }, { - "id": "2336", + "id": "2560", "mutatorName": "BooleanLiteral", - "replacement": "upcomingPlays.length", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 201\nReceived: 500\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:439:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "clonedPlayer.isAlive", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 1\n\n@@ -1,20 +1,13 @@\n Player {\n \"_id\": \"dce9fefcd1bfcf8d31278a3e\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:106:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 3, "static": false, "killedBy": [ - "560" + "870" ], "coveredBy": [ - "560", - "561", - "664", - "665", - "666" + "870", + "871", + "872" ], "location": { "end": { "column": 30, - "line": 45 + "line": 47 }, "start": { "column": 9, - "line": 45 + "line": 47 } } }, { - "id": "2337", + "id": "2561", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "UnexpectedException: Unexpected exception in createGame\n at createCantGenerateGamePlaysUnexpectedException (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/shared/exception/helpers/unexpected-exception.factory.ts:92:12)\n at GameService.createGame (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/game.service.ts:95:63)\n at async Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:174:7)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "665" - ], + "killedBy": [], "coveredBy": [ - "560", - "561", - "664", - "665", - "666" + "870", + "871", + "872" ], "location": { "end": { "column": 30, - "line": 45 + "line": 47 }, "start": { "column": 9, - "line": 45 + "line": 47 } } }, { - "id": "2338", + "id": "2562", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).rejects.toThrow()\n\nReceived promise resolved instead of rejected\nResolved to value: {\"_id\": \"5fd641ab5eafb1f7d9796f4e\", \"createdAt\": 2023-08-12T13:44:54.497Z, \"currentPlay\": {\"action\": \"sniff\", \"cause\": undefined, \"source\": {\"name\": \"seer\", \"players\": []}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 2158891930484736}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [], \"status\": \"playing\", \"tick\": 1640331391008768, \"turn\": 7236335574188032, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T08:01:53.183Z}\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 1\n\n@@ -1,20 +1,13 @@\n Player {\n \"_id\": \"6a7afa512f7a23f7241ed4c1\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:106:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 3, "static": false, "killedBy": [ - "664" + "870" ], "coveredBy": [ - "560", - "561", - "664", - "665", - "666" + "870", + "871", + "872" ], "location": { "end": { "column": 30, - "line": 45 + "line": 47 }, "start": { "column": 9, - "line": 45 + "line": 47 } } }, { - "id": "2339", + "id": "2563", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).rejects.toThrow()\n\nReceived promise resolved instead of rejected\nResolved to value: {\"_id\": \"1dc604d36c2ceebc9cdbddb1\", \"createdAt\": 2023-08-12T06:03:16.948Z, \"currentPlay\": {\"action\": \"choose-sign\", \"cause\": undefined, \"source\": {\"name\": \"raven\", \"players\": []}}, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 3297899853119488}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [], \"status\": \"over\", \"tick\": 7658916343185408, \"turn\": 4188017050779648, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T20:53:06.530Z}\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 1\n\n@@ -1,20 +1,13 @@\n Player {\n \"_id\": \"685ddd8ba4be2dda42539bbc\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:106:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "664" + "870" ], "coveredBy": [ - "664" + "870" ], "location": { "end": { "column": 6, - "line": 47 + "line": 49 }, "start": { "column": 32, - "line": 45 - } - } - }, - { - "id": "2340", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).rejects.toThrow(expected)\n\nExpected message: \"Unexpected exception in createGame\"\nReceived message: \"Unexpected exception in \"\n\n 90 | } else {\n 91 | stryCov_9fa48(\"2688\");\n > 92 | return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_GENERATE_GAME_PLAYS);\n | ^\n 93 | }\n 94 | }\n 95 | function createNoCurrentGamePlayUnexpectedException(scope: string, interpolations: {\n\n at createCantGenerateGamePlaysUnexpectedException (src/shared/exception/helpers/unexpected-exception.factory.ts:92:12)\n at GameService.createGame (src/modules/game/providers/services/game.service.ts:95:63)\n at async Object. (tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:7)\n at Object.toThrow (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:218:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:168:68)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, - "static": false, - "killedBy": [ - "664" - ], - "coveredBy": [ - "664" - ], - "location": { - "end": { - "column": 72, - "line": 46 - }, - "start": { - "column": 60, - "line": 46 + "line": 47 } } }, { - "id": "2341", - "mutatorName": "ObjectLiteral", + "id": "2564", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"currentPlay\": {\"action\": \"vote\", \"cause\": undefined, \"source\": {\"name\": \"all\", \"players\": undefined}}, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [], \"turn\": 1, \"upcomingPlays\": []}], but it was called with {\"currentPlay\": undefined, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": true, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 1}, \"thief\": {\"additionalCardsCount\": 2, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": undefined, \"turn\": 1, \"upcomingPlays\": []}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:181:40)", - "status": "Killed", - "testsCompleted": 4, + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(50,5): error TS2740: Type 'PlayerAttribute' is missing the following properties from type 'PlayerAttribute[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/player/player-attribute.service.ts(50,75): error TS2345: Argument of type '(acc: PlayerAttribute[], attribute: PlayerAttribute) => void' is not assignable to parameter of type '(previousValue: PlayerAttribute[], currentValue: PlayerAttribute, currentIndex: number, array: PlayerAttribute[]) => PlayerAttribute[]'.\n Type 'void' is not assignable to type 'PlayerAttribute[]'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "665" - ], + "killedBy": [], "coveredBy": [ - "560", - "561", - "665", - "666" + "871", + "872" ], "location": { "end": { "column": 6, - "line": 54 + "line": 56 }, "start": { - "column": 57, + "column": 95, "line": 50 } } }, { - "id": "2342", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(60,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2565", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "564", - "565", - "667", - "668" + "871", + "872" ], "location": { "end": { - "column": 4, - "line": 65 + "column": 101, + "line": 52 }, "start": { - "column": 54, - "line": 60 + "column": 11, + "line": 52 } } }, { - "id": "2343", + "id": "2566", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:550:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"ee00ec0fb8bcac7edbaf6d9e\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Bradford\",\n \"position\": 2103743013191680,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 2, "static": false, "killedBy": [ - "565" + "871" ], "coveredBy": [ - "564", - "565", - "667", - "668" + "871", + "872" ], "location": { "end": { - "column": 46, - "line": 61 + "column": 101, + "line": 52 }, "start": { - "column": 9, - "line": 61 + "column": 11, + "line": 52 } } }, { - "id": "2344", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:534:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 4, + "id": "2567", + "mutatorName": "LogicalOperator", + "replacement": "decreasedAttribute.remainingPhases === undefined && decreasedAttribute.remainingPhases > 0", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(52,63): error TS18048: 'decreasedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "564" - ], + "killedBy": [], "coveredBy": [ - "564", - "565", - "667", - "668" + "871", + "872" ], "location": { "end": { - "column": 46, - "line": 61 + "column": 101, + "line": 52 }, "start": { - "column": 9, - "line": 61 + "column": 11, + "line": 52 } } }, { - "id": "2345", - "mutatorName": "EqualityOperator", - "replacement": "game.status === GAME_STATUSES.PLAYING", - "statusReason": "Error: expect(received).toReject()\n\nExpected promise to reject, however it resolved.\n\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:211:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2568", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(52,20): error TS18048: 'decreasedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "667" - ], + "killedBy": [], "coveredBy": [ - "564", - "565", - "667", - "668" + "871", + "872" ], "location": { "end": { - "column": 46, - "line": 61 + "column": 59, + "line": 52 }, "start": { - "column": 9, - "line": 61 + "column": 11, + "line": 52 } } }, { - "id": "2346", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 400\nReceived: 200\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:534:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, + "id": "2569", + "mutatorName": "EqualityOperator", + "replacement": "decreasedAttribute.remainingPhases !== undefined", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(52,63): error TS18048: 'decreasedAttribute.remainingPhases' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "564" - ], + "killedBy": [], "coveredBy": [ - "564", - "667" + "871", + "872" ], "location": { "end": { - "column": 6, - "line": 63 + "column": 59, + "line": 52 }, "start": { - "column": 48, - "line": 61 + "column": 11, + "line": 52 } } }, { - "id": "2347", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -82,11 +82,11 @@\n \"canBeSkipped\": false,\n },\n },\n \"phase\": \"night\",\n \"players\": Array [],\n- \"status\": \"canceled\",\n+ \"status\": \"playing\",\n \"tick\": 3768716288327680,\n \"turn\": 2148731333902336,\n \"upcomingPlays\": Array [],\n \"updatedAt\": Any,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:551:37)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, + "id": "2570", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "565" - ], + "killedBy": [], "coveredBy": [ - "565", - "668" + "871", + "872" ], "location": { "end": { - "column": 72, - "line": 64 + "column": 101, + "line": 52 }, "start": { - "column": 38, - "line": 64 + "column": 63, + "line": 52 } } }, { - "id": "2348", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(67,76): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2571", + "mutatorName": "EqualityOperator", + "replacement": "decreasedAttribute.remainingPhases >= 0", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -8,10 +8,17 @@\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 0,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "871" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "669", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "871", + "872" ], "location": { "end": { - "column": 4, - "line": 87 + "column": 101, + "line": 52 }, "start": { - "column": 90, - "line": 67 + "column": 63, + "line": 52 } } }, { - "id": "2349", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: thrown: BadResourceMutationException {\n \"getResponse\": [Function getResponse],\n \"getStatus\": [Function getStatus],\n \"initCause\": [Function initCause],\n \"initMessage\": [Function initMessage],\n \"initName\": [Function initName],\n \"toString\": [Function toString],\n}\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:262:5\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:222:3\n at _dispatchDescribe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:91:26)\n at describe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/index.js:55:5)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:38:1)\n at Runtime._execModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1430:24)\n at Runtime._loadModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:1013:12)\n at Runtime.requireModule (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runtime/build/index.js:873:12)\n at jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2572", + "mutatorName": "EqualityOperator", + "replacement": "decreasedAttribute.remainingPhases <= 0", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 3\n\n@@ -8,13 +8,13 @@\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": 1,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 0,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 14, + "testsCompleted": 2, "static": false, "killedBy": [ - "670" + "871" ], "coveredBy": [ - "570", - "571", - "572", - "573", - "669", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "871", + "872" ], "location": { "end": { - "column": 52, - "line": 69 + "column": 101, + "line": 52 }, "start": { - "column": 9, - "line": 69 + "column": 63, + "line": 52 } } }, { - "id": "2350", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2573", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "570", - "571", - "572", - "573", - "669", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "871", + "872" ], "location": { "end": { - "column": 52, - "line": 69 + "column": 8, + "line": 54 }, "start": { - "column": 9, - "line": 69 + "column": 103, + "line": 52 } } }, { - "id": "2351", - "mutatorName": "EqualityOperator", - "replacement": "clonedGame.status === GAME_STATUSES.PLAYING", - "status": "Timeout", + "id": "2574", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"b2a670feea4c0bbfe7f58acb\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Rosamond\",\n \"position\": 4599686604259328,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "871" + ], "coveredBy": [ - "570", - "571", - "572", - "573", - "669", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "871", + "872" ], "location": { "end": { - "column": 52, - "line": 69 + "column": 44, + "line": 53 }, "start": { - "column": 9, - "line": 69 + "column": 16, + "line": 53 } } }, { - "id": "2352", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2575", + "mutatorName": "ArrayDeclaration", + "replacement": "[\"Stryker was here\"]", + "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(50,5): error TS2740: Type 'PlayerAttribute' is missing the following properties from type 'PlayerAttribute[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/player/player-attribute.service.ts(56,9): error TS2322: Type 'string' is not assignable to type 'PlayerAttribute'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "669" + "871", + "872" ], "location": { "end": { - "column": 6, - "line": 71 + "column": 10, + "line": 56 }, "start": { - "column": 54, - "line": 69 + "column": 8, + "line": 56 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { createPlayerAttribute } from \"../../../helpers/player/player-attribute/player-attribute.factory\";\nimport { isPlayerAttributeActive } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { createPlayerDiseaseByRustySwordKnightDeath, createPlayerDeathPotionByWitchDeath, createPlayerEatenByWerewolvesDeath } from \"../../../helpers/player/player-death/player-death.factory\";\nimport { createPlayer } from \"../../../helpers/player/player.factory\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerAttribute } from \"../../../schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { PlayerKillerService } from \"./player-killer.service\";\n\n@Injectable()\nexport class PlayerAttributeService {\n public constructor(private readonly playerKillerService: PlayerKillerService) {}\n\n public async applyEatenAttributeOutcomes(player: Player, game: Game, attribute: PlayerAttribute): Promise {\n const death = createPlayerEatenByWerewolvesDeath({ source: attribute.source });\n return this.playerKillerService.killOrRevealPlayer(player._id, game, death);\n }\n\n public async applyDrankDeathPotionAttributeOutcomes(player: Player, game: Game): Promise {\n const death = createPlayerDeathPotionByWitchDeath();\n return this.playerKillerService.killOrRevealPlayer(player._id, game, death);\n }\n\n public async applyContaminatedAttributeOutcomes(player: Player, game: Game): Promise {\n const death = createPlayerDiseaseByRustySwordKnightDeath();\n return this.playerKillerService.killOrRevealPlayer(player._id, game, death);\n }\n\n public decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes(game: Game): Game {\n const clonedGame = createGame(game);\n clonedGame.players = clonedGame.players.map(player => this.decreaseRemainingPhasesAndRemoveObsoleteAttributes(player, clonedGame));\n return clonedGame;\n }\n\n private decreaseAttributeRemainingPhase(attribute: PlayerAttribute, game: Game): PlayerAttribute {\n const clonedAttribute = createPlayerAttribute(attribute);\n if (clonedAttribute.remainingPhases !== undefined && isPlayerAttributeActive(clonedAttribute, game)) {\n clonedAttribute.remainingPhases--;\n }\n return clonedAttribute;\n }\n \n private decreaseRemainingPhasesAndRemoveObsoleteAttributes(player: Player, game: Game): Player {\n const clonedPlayer = createPlayer(player);\n if (!clonedPlayer.isAlive) {\n return clonedPlayer;\n }\n clonedPlayer.attributes = player.attributes.reduce((acc, attribute) => {\n const decreasedAttribute = this.decreaseAttributeRemainingPhase(attribute, game);\n if (decreasedAttribute.remainingPhases === undefined || decreasedAttribute.remainingPhases > 0) {\n return [...acc, decreasedAttribute];\n }\n return acc;\n }, []);\n return clonedPlayer;\n }\n}" + }, + "src/modules/game/providers/services/player/player-killer.service.ts": { + "language": "typescript", + "mutants": [ { - "id": "2353", - "mutatorName": "UpdateOperator", - "replacement": "clonedGame.tick--", - "status": "Timeout", + "id": "2576", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(24,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "356", + "357", + "358" ], "location": { "end": { - "column": 22, - "line": 77 + "column": 4, + "line": 34 }, "start": { - "column": 5, - "line": 77 + "column": 108, + "line": 24 } } }, { - "id": "2354", + "id": "2577", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "572", - "573", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "356", + "357", + "358" ], "location": { "end": { - "column": 36, - "line": 78 + "column": 75, + "line": 27 }, "start": { "column": 9, - "line": 78 + "line": 27 } } }, { - "id": "2355", + "id": "2578", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:300:64)", - "status": "Killed", - "testsCompleted": 11, + "status": "Timeout", "static": false, - "killedBy": [ - "674" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "356", + "357", + "358" ], "location": { "end": { - "column": 36, - "line": 78 + "column": 75, + "line": 27 }, "start": { "column": 9, - "line": 78 + "line": 27 } } }, { - "id": "2356", + "id": "2579", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:300:64)", - "status": "Killed", - "testsCompleted": 1, + "status": "Timeout", "static": false, - "killedBy": [ - "674" - ], + "killedBy": [], "coveredBy": [ - "674" + "357" ], "location": { "end": { "column": 6, - "line": 80 + "line": 29 }, "start": { - "column": 38, - "line": 78 + "column": 77, + "line": 27 } } }, { - "id": "2357", + "id": "2580", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 404\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:706:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -87,11 +87,11 @@\n \"isAlive\": true,\n \"name\": \"Amani\",\n \"position\": 4123458124382208,\n \"role\": PlayerRole {\n \"current\": \"werewolf\",\n- \"isRevealed\": false,\n+ \"isRevealed\": true,\n \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:117:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 11, + "testsCompleted": 2, "static": false, "killedBy": [ - "572" + "356" ], "coveredBy": [ - "572", - "573", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "356", + "358" ], "location": { "end": { - "column": 31, - "line": 83 + "column": 69, + "line": 30 }, "start": { "column": 9, - "line": 83 + "line": 30 } } }, { - "id": "2358", + "id": "2581", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:338:52)", - "status": "Killed", - "testsCompleted": 11, + "status": "Timeout", "static": false, - "killedBy": [ - "678" - ], + "killedBy": [], "coveredBy": [ - "572", - "573", - "670", - "671", - "672", - "673", - "674", - "675", - "676", - "677", - "678" + "356", + "358" ], "location": { "end": { - "column": 31, - "line": 83 + "column": 69, + "line": 30 }, "start": { "column": 9, - "line": 83 + "line": 30 } } }, { - "id": "2359", + "id": "2582", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:338:52)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:155:58)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "678" + "358" ], "coveredBy": [ - "678" + "358" ], "location": { "end": { "column": 6, - "line": 85 - }, - "start": { - "column": 33, - "line": 83 - } - } - }, - { - "id": "2360", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(89,56): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "679", - "680", - "681", - "682" - ], - "location": { - "end": { - "column": 4, - "line": 95 + "line": 32 }, "start": { - "column": 70, - "line": 89 + "column": 71, + "line": 30 } } }, { - "id": "2361", + "id": "2583", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(97,86): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(35,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "560", - "561", - "565", - "572", - "573", - "683", - "684" + "361", + "362", + "363", + "364" ], "location": { "end": { "column": 4, - "line": 103 + "line": 42 }, "start": { - "column": 100, - "line": 97 + "column": 92, + "line": 36 } } }, { - "id": "2362", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"_id\": \"e7a460ff720b9ab5c28d0ea0\"}, {\"status\": \"over\"}], but it was called with {}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game.service.spec.ts:392:46)", + "id": "2584", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:209:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 5, "static": false, "killedBy": [ - "684" - ], - "coveredBy": [ - "560", - "561", - "565", - "572", - "573", - "683", - "684" + "362" ], - "location": { - "end": { - "column": 76, - "line": 98 - }, - "start": { - "column": 61, - "line": 98 - } - } - }, - { - "id": "2363", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/game.service.ts(102,5): error TS2322: Type 'Game | null' is not assignable to type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "560", - "561", - "565", - "572", - "573", - "683", - "684" + "361", + "362", + "363", + "364" ], "location": { "end": { - "column": 29, - "line": 99 + "column": 44, + "line": 37 }, "start": { "column": 9, - "line": 99 + "line": 37 } } }, { - "id": "2364", + "id": "2585", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/game.service.ts(102,5): error TS2322: Type 'Game | null' is not assignable to type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "560", - "561", - "565", - "572", - "573", - "683", - "684" + "361", + "362", + "363", + "364" ], "location": { "end": { - "column": 29, - "line": 99 + "column": 44, + "line": 37 }, "start": { "column": 9, - "line": 99 + "line": 37 } } }, { - "id": "2365", + "id": "2586", "mutatorName": "EqualityOperator", - "replacement": "updatedGame !== null", - "statusReason": "src/modules/game/providers/services/game.service.ts(102,5): error TS2322: Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "560", - "561", - "565", - "572", - "573", - "683", - "684" - ], - "location": { - "end": { - "column": 29, - "line": 99 - }, - "start": { - "column": 9, - "line": 99 - } - } - }, - { - "id": "2366", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(100,5): error TS2322: Type 'Game | null' is not assignable to type 'Game'.\n Type 'null' is not assignable to type 'Game'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "683" - ], - "location": { - "end": { - "column": 6, - "line": 101 - }, - "start": { - "column": 31, - "line": 99 - } - } - }, - { - "id": "2367", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/game.service.ts(105,38): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "replacement": "cause === PLAYER_DEATH_CAUSES.EATEN", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "685" + "361", + "362", + "363", + "364" ], "location": { "end": { - "column": 4, - "line": 110 + "column": 44, + "line": 37 }, "start": { - "column": 43, - "line": 105 + "column": 9, + "line": 37 } } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { plainToInstance } from \"class-transformer\";\nimport type { Types } from \"mongoose\";\nimport { API_RESOURCES } from \"../../../../shared/api/enums/api.enum\";\nimport { BAD_RESOURCE_MUTATION_REASONS } from \"../../../../shared/exception/enums/bad-resource-mutation-error.enum\";\nimport { createCantGenerateGamePlaysUnexpectedException } from \"../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { BadResourceMutationException } from \"../../../../shared/exception/types/bad-resource-mutation-exception.type\";\nimport { ResourceNotFoundException } from \"../../../../shared/exception/types/resource-not-found-exception.type\";\nimport { CreateGameDto } from \"../../dto/create-game/create-game.dto\";\nimport type { MakeGamePlayDto } from \"../../dto/make-game-play/make-game-play.dto\";\nimport { GAME_STATUSES } from \"../../enums/game.enum\";\nimport { isGamePhaseOver } from \"../../helpers/game-phase/game-phase.helper\";\nimport { createMakeGamePlayDtoWithRelations } from \"../../helpers/game-play/game-play.helper\";\nimport { generateGameVictoryData, isGameOver } from \"../../helpers/game-victory/game-victory.helper\";\nimport { createGame as createGameFromFactory } from \"../../helpers/game.factory\";\nimport { getExpectedPlayersToPlay } from \"../../helpers/game.helper\";\nimport type { Game } from \"../../schemas/game.schema\";\nimport type { GameWithCurrentPlay } from \"../../types/game-with-current-play\";\nimport { GameRepository } from \"../repositories/game.repository\";\nimport { GameHistoryRecordService } from \"./game-history/game-history-record.service\";\nimport { GamePhaseService } from \"./game-phase/game-phase.service\";\nimport { GamePlayMakerService } from \"./game-play/game-play-maker.service\";\nimport { GamePlayValidatorService } from \"./game-play/game-play-validator.service\";\nimport { GamePlayService } from \"./game-play/game-play.service\";\nimport { PlayerAttributeService } from \"./player/player-attribute.service\";\n\n@Injectable()\nexport class GameService {\n public constructor(\n private readonly gamePlayService: GamePlayService,\n private readonly gamePlayValidatorService: GamePlayValidatorService,\n private readonly gamePlayMakerService: GamePlayMakerService,\n private readonly gamePhaseService: GamePhaseService,\n private readonly gameRepository: GameRepository,\n private readonly playerAttributeService: PlayerAttributeService,\n private readonly gameHistoryRecordService: GameHistoryRecordService,\n ) {}\n\n public async getGames(): Promise {\n return this.gameRepository.find();\n }\n\n public async createGame(game: CreateGameDto): Promise {\n const upcomingPlays = await this.gamePlayService.getUpcomingNightPlays(game);\n if (!upcomingPlays.length) {\n throw createCantGenerateGamePlaysUnexpectedException(\"createGame\");\n }\n const currentPlay = upcomingPlays[0];\n upcomingPlays.shift();\n const gameToCreate = plainToInstance(CreateGameDto, {\n ...game,\n currentPlay,\n upcomingPlays,\n });\n const createdGame = await this.gameRepository.create(gameToCreate) as GameWithCurrentPlay;\n createdGame.currentPlay.source.players = getExpectedPlayersToPlay(createdGame);\n return this.updateGame(createdGame._id, createdGame);\n }\n\n public async cancelGame(game: Game): Promise {\n if (game.status !== GAME_STATUSES.PLAYING) {\n throw new BadResourceMutationException(API_RESOURCES.GAMES, game._id.toString(), BAD_RESOURCE_MUTATION_REASONS.GAME_NOT_PLAYING);\n }\n return this.updateGame(game._id, { status: GAME_STATUSES.CANCELED });\n }\n\n public async makeGamePlay(game: Game, makeGamePlayDto: MakeGamePlayDto): Promise {\n let clonedGame = createGameFromFactory(game);\n if (clonedGame.status !== GAME_STATUSES.PLAYING) {\n throw new BadResourceMutationException(API_RESOURCES.GAMES, clonedGame._id.toString(), BAD_RESOURCE_MUTATION_REASONS.GAME_NOT_PLAYING);\n }\n const play = createMakeGamePlayDtoWithRelations(makeGamePlayDto, clonedGame);\n await this.gamePlayValidatorService.validateGamePlayWithRelationsDto(play, clonedGame);\n clonedGame = await this.gamePlayMakerService.makeGamePlay(play, clonedGame);\n clonedGame = await this.gamePlayService.removeObsoleteUpcomingPlays(clonedGame);\n clonedGame = this.gamePlayService.proceedToNextGamePlay(clonedGame);\n clonedGame.tick++;\n if (isGamePhaseOver(clonedGame)) {\n clonedGame = await this.handleGamePhaseCompletion(clonedGame);\n }\n const gameHistoryRecordToInsert = this.gameHistoryRecordService.generateCurrentGameHistoryRecordToInsert(game, clonedGame, play);\n await this.gameHistoryRecordService.createGameHistoryRecord(gameHistoryRecordToInsert);\n if (isGameOver(clonedGame)) {\n clonedGame = this.setGameAsOver(clonedGame);\n }\n return this.updateGame(clonedGame._id, clonedGame);\n }\n\n private async handleGamePhaseCompletion(game: Game): Promise {\n let clonedGame = createGameFromFactory(game);\n clonedGame = await this.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayers(clonedGame);\n clonedGame = this.playerAttributeService.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes(clonedGame);\n clonedGame = await this.gamePhaseService.switchPhaseAndAppendGamePhaseUpcomingPlays(clonedGame);\n return this.gamePlayService.proceedToNextGamePlay(clonedGame);\n }\n\n private async updateGame(gameId: Types.ObjectId, gameDataToUpdate: Partial): Promise {\n const updatedGame = await this.gameRepository.updateOne({ _id: gameId }, gameDataToUpdate);\n if (updatedGame === null) {\n throw new ResourceNotFoundException(API_RESOURCES.GAMES, gameId.toString());\n }\n return updatedGame;\n }\n\n private setGameAsOver(game: Game): Game {\n const clonedGame = createGameFromFactory(game);\n clonedGame.status = GAME_STATUSES.OVER;\n clonedGame.victory = generateGameVictoryData(clonedGame);\n return clonedGame;\n }\n}" - }, - "src/modules/game/providers/services/player/player-attribute.service.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2368", + "id": "2587", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(16,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:202:102)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "361" + ], "coveredBy": [ - "830" + "361" ], "location": { "end": { - "column": 4, - "line": 19 + "column": 6, + "line": 39 }, "start": { - "column": 115, - "line": 16 + "column": 46, + "line": 37 } } }, { - "id": "2369", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"f06c4db3d2d6331bce47f6ac\", {\"_id\": \"5b379d8074aa2e7b7a33d4ef\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T02:38:54.725Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 4}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 4192857483116544}, \"hasDoubledVote\": true, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 3}, \"twoSisters\": {\"wakingUpInterval\": 2}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [], \"status\": \"playing\", \"tick\": 8619916628328448, \"turn\": 586090513694720, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T15:17:43.425Z, \"victory\": undefined}, {\"cause\": \"eaten\", \"source\": \"big-bad-wolf\"}], but it was called with \"f06c4db3d2d6331bce47f6ac\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:43:60)", + "id": "2588", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:202:102)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 2, "static": false, "killedBy": [ - "830" + "361" ], "coveredBy": [ - "830" + "361" ], "location": { "end": { - "column": 82, - "line": 17 + "column": 18, + "line": 38 }, "start": { - "column": 54, - "line": 17 + "column": 14, + "line": 38 } } }, { - "id": "2370", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(21,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2589", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "831" + "362", + "363", + "364" ], "location": { "end": { - "column": 4, - "line": 24 + "column": 55, + "line": 41 }, "start": { - "column": 98, - "line": 21 + "column": 12, + "line": 41 } } }, { - "id": "2371", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(26,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2590", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:216:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "363" + ], "coveredBy": [ - "832" + "362", + "363", + "364" ], "location": { "end": { - "column": 4, - "line": 29 + "column": 55, + "line": 41 }, "start": { - "column": 94, - "line": 26 + "column": 12, + "line": 41 } } }, { - "id": "2372", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(31,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2591", + "mutatorName": "EqualityOperator", + "replacement": "ancientLivesCountAgainstWerewolves - 1 < 0", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "838" + "362", + "363", + "364" ], "location": { "end": { - "column": 4, - "line": 35 + "column": 55, + "line": 41 }, "start": { - "column": 85, - "line": 31 + "column": 12, + "line": 41 } } }, { - "id": "2373", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(33,5): error TS2322: Type 'undefined[]' is not assignable to type 'Player[]'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2592", + "mutatorName": "EqualityOperator", + "replacement": "ancientLivesCountAgainstWerewolves - 1 > 0", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:209:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "362" + ], "coveredBy": [ - "838" + "362", + "363", + "364" ], "location": { "end": { - "column": 134, - "line": 33 + "column": 55, + "line": 41 }, "start": { - "column": 49, - "line": 33 + "column": 12, + "line": 41 } } }, { - "id": "2374", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(37,84): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2593", + "mutatorName": "ArithmeticOperator", + "replacement": "ancientLivesCountAgainstWerewolves + 1", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:216:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "363" + ], "coveredBy": [ - "833", - "834", - "835", - "837", - "838" + "362", + "363", + "364" ], "location": { "end": { - "column": 4, - "line": 43 + "column": 50, + "line": 41 }, "start": { - "column": 100, - "line": 37 + "column": 12, + "line": 41 } } }, { - "id": "2375", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", + "id": "2594", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(43,82): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "833", - "834", - "835", - "837", - "838" + "358", + "359", + "360", + "366" ], "location": { "end": { - "column": 104, - "line": 39 + "column": 4, + "line": 50 }, "start": { - "column": 9, - "line": 39 + "column": 87, + "line": 44 } } }, { - "id": "2376", + "id": "2595", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "833", - "834", - "835", - "837", - "838" + "358", + "359", + "360", + "366" ], "location": { "end": { - "column": 104, - "line": 39 + "column": 57, + "line": 46 }, "start": { "column": 9, - "line": 39 + "line": 46 } } }, { - "id": "2377", - "mutatorName": "LogicalOperator", - "replacement": "clonedAttribute.remainingPhases !== undefined || isPlayerAttributeActive(clonedAttribute, game)", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2596", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "833", - "834", - "835", - "837", - "838" + "358", + "359", + "360", + "366" ], "location": { "end": { - "column": 104, - "line": 39 + "column": 57, + "line": 46 }, "start": { "column": 9, - "line": 39 + "line": 46 } } }, { - "id": "2378", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2597", + "mutatorName": "EqualityOperator", + "replacement": "revealedPlayer.role.current !== ROLE_NAMES.IDIOT", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -80,19 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"3cf6f3aceedefaf38ef314dd\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Isabelle\",\n \"position\": 3471987341000704,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:181:97)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "359" + ], "coveredBy": [ - "833", - "834", - "835", - "837", - "838" + "358", + "359", + "360", + "366" ], "location": { "end": { - "column": 54, - "line": 39 + "column": 57, + "line": 46 }, "start": { "column": 9, - "line": 39 + "line": 46 } } }, { - "id": "2379", - "mutatorName": "EqualityOperator", - "replacement": "clonedAttribute.remainingPhases === undefined", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(40,7): error TS18048: 'clonedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2598", + "mutatorName": "BlockStatement", + "replacement": "{}", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "833", - "834", - "835", - "837", - "838" + "359" ], "location": { "end": { - "column": 54, - "line": 39 + "column": 6, + "line": 48 }, "start": { - "column": 9, - "line": 39 + "column": 59, + "line": 46 } } }, { - "id": "2380", + "id": "2599", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 3,\n \"source\": \"ancient\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:92:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(51,65): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "835" - ], + "killedBy": [], "coveredBy": [ - "835", - "837", - "838" + "358", + "365", + "366" ], "location": { "end": { - "column": 6, - "line": 41 + "column": 4, + "line": 60 }, "start": { - "column": 106, - "line": 39 + "column": 70, + "line": 52 } } }, { - "id": "2381", - "mutatorName": "UpdateOperator", - "replacement": "clonedAttribute.remainingPhases++", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n PlayerAttribute {\n \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 4,\n \"source\": \"ancient\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:92:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2600", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"revealPlayerRole\", {\"gameId\": \"b73acf5bd88cefd205cb8f9e\", \"playerId\": \"ec8a3a69e8d604ed0c715c18\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:243:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "835" + "365" ], "coveredBy": [ - "835", - "837", - "838" + "358", + "365", + "366" ], "location": { "end": { - "column": 40, - "line": 40 + "column": 95, + "line": 55 }, "start": { - "column": 7, - "line": 40 + "column": 77, + "line": 55 } } }, { - "id": "2382", - "mutatorName": "BlockStatement", + "id": "2601", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(45,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(54,97): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "836", - "837", - "838" + "358", + "365", + "366" ], "location": { "end": { - "column": 4, - "line": 58 + "column": 147, + "line": 55 }, "start": { - "column": 98, - "line": 45 + "column": 97, + "line": 55 } } }, { - "id": "2383", + "id": "2602", "mutatorName": "BooleanLiteral", - "replacement": "clonedPlayer.isAlive", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 1\n\n@@ -1,20 +1,13 @@\n Player {\n \"_id\": \"dce9fefcd1bfcf8d31278a3e\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:106:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -87,11 +87,11 @@\n \"isAlive\": true,\n \"name\": \"Dolores\",\n \"position\": 2976800976142336,\n \"role\": PlayerRole {\n \"current\": \"wild-child\",\n- \"isRevealed\": true,\n+ \"isRevealed\": false,\n \"original\": \"wild-child\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:267:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "836" + "366" ], "coveredBy": [ - "836", - "837", - "838" + "358", + "365", + "366" ], "location": { "end": { - "column": 30, - "line": 47 + "column": 48, + "line": 56 }, "start": { - "column": 9, - "line": 47 + "column": 44, + "line": 56 } } }, { - "id": "2384", + "id": "2603", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(62,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "367", + "368", + "369", + "370", + "371" + ], + "location": { + "end": { + "column": 4, + "line": 65 + }, + "start": { + "column": 105, + "line": 62 + } + } + }, + { + "id": "2604", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "836", - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 30, - "line": 47 + "column": 89, + "line": 64 }, "start": { - "column": 9, - "line": 47 + "column": 12, + "line": 63 } } }, { - "id": "2385", + "id": "2605", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 1\n\n@@ -1,20 +1,13 @@\n Player {\n \"_id\": \"6a7afa512f7a23f7241ed4c1\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:106:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:309:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 5, "static": false, "killedBy": [ - "836" + "371" ], "coveredBy": [ - "836", - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 30, - "line": 47 + "column": 89, + "line": 64 }, "start": { - "column": 9, - "line": 47 + "column": 12, + "line": 63 } } }, { - "id": "2386", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 1\n\n@@ -1,20 +1,13 @@\n Player {\n \"_id\": \"685ddd8ba4be2dda42539bbc\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n- \"remainingPhases\": 2,\n+ \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": false,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:106:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2606", + "mutatorName": "LogicalOperator", + "replacement": "!playerToReveal.role.isRevealed && playerToReveal.role.current === ROLE_NAMES.IDIOT && isPlayerPowerful(playerToReveal, game) || death.cause === PLAYER_DEATH_CAUSES.VOTE", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:277:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 5, "static": false, "killedBy": [ - "836" + "367" ], "coveredBy": [ - "836" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 6, - "line": 49 + "column": 89, + "line": 64 }, "start": { - "column": 32, - "line": 47 + "column": 12, + "line": 63 } } }, { - "id": "2387", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(50,5): error TS2740: Type 'PlayerAttribute' is missing the following properties from type 'PlayerAttribute[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/player/player-attribute.service.ts(50,75): error TS2345: Argument of type '(acc: PlayerAttribute[], attribute: PlayerAttribute) => void' is not assignable to parameter of type '(previousValue: PlayerAttribute[], currentValue: PlayerAttribute, currentIndex: number, array: PlayerAttribute[]) => PlayerAttribute[]'.\n Type 'void' is not assignable to type 'PlayerAttribute[]'.\n", - "status": "CompileError", + "id": "2607", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 6, - "line": 56 + "column": 45, + "line": 64 }, "start": { - "column": 95, - "line": 50 + "column": 12, + "line": 63 } } }, { - "id": "2388", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "2608", + "mutatorName": "LogicalOperator", + "replacement": "!playerToReveal.role.isRevealed && playerToReveal.role.current === ROLE_NAMES.IDIOT || isPlayerPowerful(playerToReveal, game)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { - "end": { - "column": 101, - "line": 52 + "end": { + "column": 45, + "line": 64 }, "start": { - "column": 11, - "line": 52 + "column": 12, + "line": 63 } } }, { - "id": "2389", + "id": "2609", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"ee00ec0fb8bcac7edbaf6d9e\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Bradford\",\n \"position\": 2103743013191680,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:277:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "837" + "367" ], "coveredBy": [ - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 101, - "line": 52 + "column": 95, + "line": 63 }, "start": { - "column": 11, - "line": 52 + "column": 12, + "line": 63 } } }, { - "id": "2390", + "id": "2610", "mutatorName": "LogicalOperator", - "replacement": "decreasedAttribute.remainingPhases === undefined && decreasedAttribute.remainingPhases > 0", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(52,63): error TS18048: 'decreasedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "!playerToReveal.role.isRevealed || playerToReveal.role.current === ROLE_NAMES.IDIOT", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:285:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "368" + ], "coveredBy": [ - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 101, - "line": 52 + "column": 95, + "line": 63 }, "start": { - "column": 11, - "line": 52 + "column": 12, + "line": 63 } } }, { - "id": "2391", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(52,20): error TS18048: 'decreasedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2611", + "mutatorName": "BooleanLiteral", + "replacement": "playerToReveal.role.isRevealed", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "837", - "838" + "367", + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 59, - "line": 52 + "column": 43, + "line": 63 }, "start": { - "column": 11, - "line": 52 + "column": 12, + "line": 63 } } }, { - "id": "2392", - "mutatorName": "EqualityOperator", - "replacement": "decreasedAttribute.remainingPhases !== undefined", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(52,63): error TS18048: 'decreasedAttribute.remainingPhases' is possibly 'undefined'.\n", - "status": "CompileError", + "id": "2612", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "837", - "838" + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 59, - "line": 52 + "column": 95, + "line": 63 }, "start": { - "column": 11, - "line": 52 + "column": 47, + "line": 63 } } }, { - "id": "2393", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2613", + "mutatorName": "EqualityOperator", + "replacement": "playerToReveal.role.current !== ROLE_NAMES.IDIOT", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:285:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "368" + ], "coveredBy": [ - "837", - "838" + "368", + "369", + "370", + "371" ], "location": { "end": { - "column": 101, - "line": 52 + "column": 95, + "line": 63 }, "start": { - "column": 63, - "line": 52 + "column": 47, + "line": 63 } } }, { - "id": "2394", - "mutatorName": "EqualityOperator", - "replacement": "decreasedAttribute.remainingPhases >= 0", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -8,10 +8,17 @@\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 0,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"sheriff\",\n \"remainingPhases\": 1,\n \"source\": \"all\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2614", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:301:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "837" + "370" ], "coveredBy": [ - "837", - "838" + "370", + "371" ], "location": { "end": { - "column": 101, - "line": 52 + "column": 89, + "line": 64 }, "start": { - "column": 63, - "line": 52 + "column": 49, + "line": 64 } } }, { - "id": "2395", + "id": "2615", "mutatorName": "EqualityOperator", - "replacement": "decreasedAttribute.remainingPhases <= 0", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 3\n\n@@ -8,13 +8,13 @@\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": 1,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": 0,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "replacement": "death.cause !== PLAYER_DEATH_CAUSES.VOTE", + "status": "Timeout", "static": false, - "killedBy": [ - "837" - ], + "killedBy": [], "coveredBy": [ - "837", - "838" + "370", + "371" ], "location": { "end": { - "column": 101, - "line": 52 + "column": 89, + "line": 64 }, "start": { - "column": 63, - "line": 52 + "column": 49, + "line": 64 } } }, { - "id": "2396", + "id": "2616", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(67,61): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "837", - "838" + "357", + "372" ], "location": { "end": { - "column": 8, - "line": 54 + "column": 4, + "line": 71 }, "start": { - "column": 103, - "line": 52 + "column": 68, + "line": 67 } } }, { - "id": "2397", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"b2a670feea4c0bbfe7f58acb\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": 1,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Rosamond\",\n \"position\": 4599686604259328,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts:126:108)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2617", + "mutatorName": "MethodExpression", + "replacement": "clonedPlayer.attributes", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -1,10 +1,17 @@\n Player {\n \"_id\": \"bcacca9a63c6c15cb1853de4\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": false,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "837" + "372" ], "coveredBy": [ - "837", - "838" + "357", + "372" ], "location": { "end": { - "column": 44, - "line": 53 + "column": 122, + "line": 69 }, "start": { - "column": 16, - "line": 53 + "column": 31, + "line": 69 } } }, { - "id": "2398", - "mutatorName": "ArrayDeclaration", - "replacement": "[\"Stryker was here\"]", - "statusReason": "src/modules/game/providers/services/player/player-attribute.service.ts(50,5): error TS2740: Type 'PlayerAttribute' is missing the following properties from type 'PlayerAttribute[]': length, pop, push, concat, and 31 more.\nsrc/modules/game/providers/services/player/player-attribute.service.ts(56,9): error TS2322: Type 'string' is not assignable to type 'PlayerAttribute'.\n", - "status": "CompileError", + "id": "2618", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"127464adad418b857c55f8bf\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n \"name\": \"Keegan\",\n \"position\": 1351032791629824,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], - "coveredBy": [ - "837", - "838" + "killedBy": [ + "372" ], - "location": { - "end": { - "column": 10, - "line": 56 - }, - "start": { - "column": 8, - "line": 56 - } - } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { createPlayerAttribute } from \"../../../helpers/player/player-attribute/player-attribute.factory\";\nimport { isPlayerAttributeActive } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { createPlayerDiseaseByRustySwordKnightDeath, createPlayerDeathPotionByWitchDeath, createPlayerEatenByWerewolvesDeath } from \"../../../helpers/player/player-death/player-death.factory\";\nimport { createPlayer } from \"../../../helpers/player/player.factory\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerAttribute } from \"../../../schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { PlayerKillerService } from \"./player-killer.service\";\n\n@Injectable()\nexport class PlayerAttributeService {\n public constructor(private readonly playerKillerService: PlayerKillerService) {}\n\n public async applyEatenAttributeOutcomes(player: Player, game: Game, attribute: PlayerAttribute): Promise {\n const death = createPlayerEatenByWerewolvesDeath({ source: attribute.source });\n return this.playerKillerService.killOrRevealPlayer(player._id, game, death);\n }\n\n public async applyDrankDeathPotionAttributeOutcomes(player: Player, game: Game): Promise {\n const death = createPlayerDeathPotionByWitchDeath();\n return this.playerKillerService.killOrRevealPlayer(player._id, game, death);\n }\n\n public async applyContaminatedAttributeOutcomes(player: Player, game: Game): Promise {\n const death = createPlayerDiseaseByRustySwordKnightDeath();\n return this.playerKillerService.killOrRevealPlayer(player._id, game, death);\n }\n\n public decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes(game: Game): Game {\n const clonedGame = createGame(game);\n clonedGame.players = clonedGame.players.map(player => this.decreaseRemainingPhasesAndRemoveObsoleteAttributes(player, clonedGame));\n return clonedGame;\n }\n\n private decreaseAttributeRemainingPhase(attribute: PlayerAttribute, game: Game): PlayerAttribute {\n const clonedAttribute = createPlayerAttribute(attribute);\n if (clonedAttribute.remainingPhases !== undefined && isPlayerAttributeActive(clonedAttribute, game)) {\n clonedAttribute.remainingPhases--;\n }\n return clonedAttribute;\n }\n \n private decreaseRemainingPhasesAndRemoveObsoleteAttributes(player: Player, game: Game): Player {\n const clonedPlayer = createPlayer(player);\n if (!clonedPlayer.isAlive) {\n return clonedPlayer;\n }\n clonedPlayer.attributes = player.attributes.reduce((acc, attribute) => {\n const decreasedAttribute = this.decreaseAttributeRemainingPhase(attribute, game);\n if (decreasedAttribute.remainingPhases === undefined || decreasedAttribute.remainingPhases > 0) {\n return [...acc, decreasedAttribute];\n }\n return acc;\n }, []);\n return clonedPlayer;\n }\n}" - }, - "src/modules/game/providers/services/player/player-killer.service.ts": { - "language": "typescript", - "mutants": [ - { - "id": "2399", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(24,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "338", - "339", - "340" + "357", + "372" ], "location": { "end": { - "column": 4, - "line": 34 + "column": 121, + "line": 69 }, "start": { - "column": 108, - "line": 24 + "column": 62, + "line": 69 } } }, { - "id": "2400", + "id": "2619", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -1,10 +1,17 @@\n Player {\n \"_id\": \"b192184bceba11759ecf8a2c\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": false,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "372" + ], "coveredBy": [ - "338", - "339", - "340" + "372" ], "location": { "end": { - "column": 75, - "line": 27 + "column": 121, + "line": 69 }, "start": { - "column": 9, - "line": 27 + "column": 92, + "line": 69 } } }, { - "id": "2401", + "id": "2620", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"22bd1afaeedb854feb71abdf\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n \"name\": \"Jerrod\",\n \"position\": 4094857396092928,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "372" + ], "coveredBy": [ - "338", - "339", - "340" + "372" ], "location": { "end": { - "column": 75, - "line": 27 + "column": 121, + "line": 69 }, "start": { - "column": 9, - "line": 27 + "column": 92, + "line": 69 } } }, { - "id": "2402", - "mutatorName": "BlockStatement", - "replacement": "{}", + "id": "2621", + "mutatorName": "EqualityOperator", + "replacement": "doesRemainAfterDeath !== true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "339" + "372" ], "location": { "end": { - "column": 6, - "line": 29 + "column": 121, + "line": 69 }, "start": { - "column": 77, - "line": 27 + "column": 92, + "line": 69 } } }, { - "id": "2403", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -87,11 +87,11 @@\n \"isAlive\": true,\n \"name\": \"Amani\",\n \"position\": 4123458124382208,\n \"role\": PlayerRole {\n \"current\": \"werewolf\",\n- \"isRevealed\": false,\n+ \"isRevealed\": true,\n \"original\": \"werewolf\",\n },\n \"side\": PlayerSide {\n \"current\": \"werewolves\",\n \"original\": \"werewolves\",\n at Object.toStrictEqual (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:117:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2622", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 2\n\n@@ -1,19 +1,12 @@\n Player {\n \"_id\": \"2afac8fcbbaca3239d9b2cac\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n+ \"doesRemainAfterDeath\": false,\n+ \"name\": \"cant-vote\",\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "338" + "372" ], "coveredBy": [ - "338", - "340" + "372" ], "location": { "end": { - "column": 69, - "line": 30 + "column": 121, + "line": 69 }, "start": { - "column": 9, - "line": 30 + "column": 117, + "line": 69 } } }, { - "id": "2404", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2623", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(73,68): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "338", - "340" + "373", + "374", + "375" ], "location": { "end": { - "column": 69, - "line": 30 + "column": 4, + "line": 84 }, "start": { - "column": 9, - "line": 30 + "column": 84, + "line": 73 } } }, { - "id": "2405", + "id": "2624", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:155:58)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(77,5): error TS2322: Type 'GameHistoryRecord' is not assignable to type 'number'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(77,47): error TS2769: No overload matches this call.\n Overload 1 of 3, '(callbackfn: (previousValue: GameHistoryRecord, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => GameHistoryRecord, initialValue: GameHistoryRecord): GameHistoryRecord', gave the following error.\n Argument of type '(acc: number, werewolvesEatAncientRecord: GameHistoryRecord) => void' is not assignable to parameter of type '(previousValue: GameHistoryRecord, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => GameHistoryRecord'.\n Types of parameters 'acc' and 'previousValue' are incompatible.\n Type 'GameHistoryRecord' is not assignable to type 'number'.\n Overload 2 of 3, '(callbackfn: (previousValue: number, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => number, initialValue: number): number', gave the following error.\n Argument of type '(acc: number, werewolvesEatAncientRecord: GameHistoryRecord) => void' is not assignable to parameter of type '(previousValue: number, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => number'.\n Type 'void' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "340" - ], + "killedBy": [], "coveredBy": [ - "340" + "374", + "375" ], "location": { "end": { "column": 6, - "line": 32 + "line": 83 }, "start": { - "column": 71, - "line": 30 + "column": 84, + "line": 77 } } }, { - "id": "2406", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(35,75): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2625", + "mutatorName": "BooleanLiteral", + "replacement": "!ancientProtectedFromWerewolvesRecords.find(({\n turn\n}) => turn === werewolvesEatAncientRecord.turn)", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 1\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "374" + ], "coveredBy": [ - "343", - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 4, - "line": 42 + "column": 149, + "line": 78 }, "start": { - "column": 92, - "line": 36 + "column": 49, + "line": 78 } } }, { - "id": "2407", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:209:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2626", + "mutatorName": "BooleanLiteral", + "replacement": "ancientProtectedFromWerewolvesRecords.find(({\n turn\n}) => turn === werewolvesEatAncientRecord.turn)", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 1\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "344" + "374" ], "coveredBy": [ - "343", - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 44, - "line": 37 + "column": 149, + "line": 78 }, "start": { - "column": 9, - "line": 37 + "column": 50, + "line": 78 } } }, { - "id": "2408", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2627", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "343", - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 44, - "line": 37 + "column": 148, + "line": 78 }, "start": { - "column": 9, - "line": 37 + "column": 94, + "line": 78 } } }, { - "id": "2409", - "mutatorName": "EqualityOperator", - "replacement": "cause === PLAYER_DEATH_CAUSES.EATEN", + "id": "2628", + "mutatorName": "ConditionalExpression", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "343", - "344", - "345", - "346" + "374" ], "location": { "end": { - "column": 44, - "line": 37 + "column": 148, + "line": 78 }, "start": { - "column": 9, - "line": 37 + "column": 108, + "line": 78 } } }, { - "id": "2410", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:202:102)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2629", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 0\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "343" + "374" ], "coveredBy": [ - "343" + "374" ], "location": { "end": { - "column": 6, - "line": 39 + "column": 148, + "line": 78 }, "start": { - "column": 46, - "line": 37 + "column": 108, + "line": 78 } } }, { - "id": "2411", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:202:102)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2630", + "mutatorName": "EqualityOperator", + "replacement": "turn !== werewolvesEatAncientRecord.turn", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 3\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "343" + "374" ], "coveredBy": [ - "343" + "374" ], "location": { "end": { - "column": 18, - "line": 38 + "column": 148, + "line": 78 }, "start": { - "column": 14, - "line": 38 + "column": 108, + "line": 78 } } }, - { - "id": "2412", - "mutatorName": "ConditionalExpression", - "replacement": "true", + { + "id": "2631", + "mutatorName": "BooleanLiteral", + "replacement": "wasAncientProtectedFromWerewolves", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 55, - "line": 41 + "column": 45, + "line": 79 }, "start": { - "column": 12, - "line": 41 + "column": 11, + "line": 79 } } }, { - "id": "2413", + "id": "2632", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:216:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 0\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "345" + "374" ], "coveredBy": [ - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 55, - "line": 41 + "column": 45, + "line": 79 }, "start": { - "column": 12, - "line": 41 + "column": 11, + "line": 79 } } }, { - "id": "2414", - "mutatorName": "EqualityOperator", - "replacement": "ancientLivesCountAgainstWerewolves - 1 < 0", + "id": "2633", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 55, - "line": 41 + "column": 45, + "line": 79 }, "start": { - "column": 12, - "line": 41 + "column": 11, + "line": 79 } } }, { - "id": "2415", - "mutatorName": "EqualityOperator", - "replacement": "ancientLivesCountAgainstWerewolves - 1 > 0", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:209:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2634", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 3\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "344" + "374" ], "coveredBy": [ - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 55, - "line": 41 + "column": 8, + "line": 81 }, "start": { - "column": 12, - "line": 41 + "column": 47, + "line": 79 } } }, { - "id": "2416", + "id": "2635", "mutatorName": "ArithmeticOperator", - "replacement": "ancientLivesCountAgainstWerewolves + 1", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:216:103)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "acc + 1", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 4\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "345" + "374" ], "coveredBy": [ - "344", - "345", - "346" + "374", + "375" ], "location": { "end": { - "column": 50, - "line": 41 + "column": 23, + "line": 80 }, "start": { - "column": 12, - "line": 41 + "column": 16, + "line": 80 } } }, { - "id": "2417", + "id": "2636", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(43,82): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(86,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "340", - "341", - "342", - "348" + "376", + "377", + "378", + "379" ], "location": { "end": { "column": 4, - "line": 50 + "line": 89 }, "start": { - "column": 87, - "line": 44 + "column": 97, + "line": 86 } } }, { - "id": "2418", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "2637", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerPowerful(idiotPlayer, game)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "340", - "341", - "342", - "348" + "376", + "377", + "378", + "379" ], "location": { "end": { - "column": 57, - "line": 46 + "column": 66, + "line": 87 }, "start": { - "column": 9, - "line": 46 + "column": 30, + "line": 87 } } }, { - "id": "2419", + "id": "2638", "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:434:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "379" + ], "coveredBy": [ - "340", - "341", - "342", - "348" + "376", + "377", + "378", + "379" ], "location": { "end": { - "column": 57, - "line": 46 + "column": 97, + "line": 88 }, "start": { - "column": 9, - "line": 46 + "column": 12, + "line": 88 } } }, { - "id": "2420", - "mutatorName": "EqualityOperator", - "replacement": "revealedPlayer.role.current !== ROLE_NAMES.IDIOT", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 1\n\n@@ -80,19 +80,11 @@\n },\n \"phase\": \"night\",\n \"players\": Array [\n Player {\n \"_id\": \"3cf6f3aceedefaf38ef314dd\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": undefined,\n- \"name\": \"cant-vote\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Isabelle\",\n \"position\": 3471987341000704,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:181:97)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2639", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:413:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "341" + "376" ], "coveredBy": [ - "340", - "341", - "342", - "348" + "376", + "377", + "378", + "379" ], "location": { "end": { - "column": 57, - "line": 46 + "column": 97, + "line": 88 }, "start": { - "column": 9, - "line": 46 + "column": 12, + "line": 88 } } }, { - "id": "2421", - "mutatorName": "BlockStatement", - "replacement": "{}", + "id": "2640", + "mutatorName": "LogicalOperator", + "replacement": "(idiotPlayer.role.isRevealed || cause !== PLAYER_DEATH_CAUSES.VOTE) && isIdiotPowerless", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "341" + "376", + "377", + "378", + "379" ], "location": { "end": { - "column": 6, - "line": 48 + "column": 97, + "line": 88 }, "start": { - "column": 59, - "line": 46 + "column": 12, + "line": 88 } } }, { - "id": "2422", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(51,65): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2641", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:413:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "376" + ], "coveredBy": [ - "340", - "347", - "348" + "376", + "377", + "378", + "379" ], "location": { "end": { - "column": 4, - "line": 60 + "column": 77, + "line": 88 }, "start": { - "column": 70, - "line": 52 + "column": 12, + "line": 88 } } }, { - "id": "2423", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"revealPlayerRole\", {\"gameId\": \"b73acf5bd88cefd205cb8f9e\", \"playerId\": \"ec8a3a69e8d604ed0c715c18\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:243:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2642", + "mutatorName": "LogicalOperator", + "replacement": "idiotPlayer.role.isRevealed && cause !== PLAYER_DEATH_CAUSES.VOTE", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:413:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 4, "static": false, "killedBy": [ - "347" + "376" ], "coveredBy": [ - "340", - "347", - "348" + "376", + "377", + "378", + "379" ], "location": { "end": { - "column": 95, - "line": 55 + "column": 77, + "line": 88 }, "start": { - "column": 77, - "line": 55 + "column": 12, + "line": 88 } } }, { - "id": "2424", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(54,97): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", - "status": "CompileError", + "id": "2643", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "340", - "347", - "348" + "377", + "378", + "379" ], "location": { "end": { - "column": 147, - "line": 55 + "column": 77, + "line": 88 }, "start": { - "column": 97, - "line": 55 + "column": 43, + "line": 88 } } }, { - "id": "2425", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -87,11 +87,11 @@\n \"isAlive\": true,\n \"name\": \"Dolores\",\n \"position\": 2976800976142336,\n \"role\": PlayerRole {\n \"current\": \"wild-child\",\n- \"isRevealed\": true,\n+ \"isRevealed\": false,\n \"original\": \"wild-child\",\n },\n \"side\": PlayerSide {\n \"current\": \"villagers\",\n \"original\": \"villagers\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:267:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2644", + "mutatorName": "EqualityOperator", + "replacement": "cause === PLAYER_DEATH_CAUSES.VOTE", + "status": "Timeout", "static": false, - "killedBy": [ - "348" - ], + "killedBy": [], "coveredBy": [ - "340", - "347", - "348" + "377", + "378", + "379" ], "location": { "end": { - "column": 48, - "line": 56 + "column": 77, + "line": 88 }, "start": { - "column": 44, - "line": 56 + "column": 43, + "line": 88 } } }, { - "id": "2426", + "id": "2645", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(62,97): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(91,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "380", + "381", + "382", + "383", + "384" ], "location": { "end": { "column": 4, - "line": 65 + "line": 96 }, "start": { - "column": 105, - "line": 62 + "column": 70, + "line": 91 } } }, { - "id": "2427", + "id": "2646", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:433:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "380" + ], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "380", + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 89, - "line": 64 + "column": 152, + "line": 95 }, "start": { "column": 12, - "line": 63 + "line": 95 } } }, { - "id": "2428", + "id": "2647", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:309:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:457:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "353" + "383" ], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "380", + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 89, - "line": 64 + "column": 152, + "line": 95 }, "start": { "column": 12, - "line": 63 + "line": 95 } } }, { - "id": "2429", + "id": "2648", "mutatorName": "LogicalOperator", - "replacement": "!playerToReveal.role.isRevealed && playerToReveal.role.current === ROLE_NAMES.IDIOT && isPlayerPowerful(playerToReveal, game) || death.cause === PLAYER_DEATH_CAUSES.VOTE", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:277:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "!isPlayerSavedByWitch || !isPlayerProtectedByGuard || eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL && !isLittleGirlProtectedByGuard", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:433:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 5, "static": false, "killedBy": [ - "349" + "380" ], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "380", + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 89, - "line": 64 + "column": 152, + "line": 95 }, "start": { "column": 12, - "line": 63 + "line": 95 } } }, { - "id": "2430", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2649", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerSavedByWitch", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:433:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], - "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "killedBy": [ + "380" ], - "location": { - "end": { - "column": 45, - "line": 64 - }, - "start": { - "column": 12, - "line": 63 - } - } - }, - { - "id": "2431", - "mutatorName": "LogicalOperator", - "replacement": "!playerToReveal.role.isRevealed && playerToReveal.role.current === ROLE_NAMES.IDIOT || isPlayerPowerful(playerToReveal, game)", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "380", + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 45, - "line": 64 + "column": 33, + "line": 95 }, "start": { "column": 12, - "line": 63 + "line": 95 } } }, { - "id": "2432", + "id": "2650", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:277:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "status": "Timeout", "static": false, - "killedBy": [ - "349" - ], + "killedBy": [], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 95, - "line": 63 + "column": 151, + "line": 95 }, "start": { - "column": 12, - "line": 63 + "column": 38, + "line": 95 } } }, { - "id": "2433", + "id": "2651", "mutatorName": "LogicalOperator", - "replacement": "!playerToReveal.role.isRevealed || playerToReveal.role.current === ROLE_NAMES.IDIOT", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:285:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "replacement": "!isPlayerProtectedByGuard && eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL && !isLittleGirlProtectedByGuard", + "status": "Timeout", "static": false, - "killedBy": [ - "350" - ], + "killedBy": [], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 95, - "line": 63 + "column": 151, + "line": 95 }, "start": { - "column": 12, - "line": 63 + "column": 38, + "line": 95 } } }, { - "id": "2434", + "id": "2652", "mutatorName": "BooleanLiteral", - "replacement": "playerToReveal.role.isRevealed", - "status": "Timeout", + "replacement": "isPlayerProtectedByGuard", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:441:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "381" + ], "coveredBy": [ - "349", - "350", - "351", - "352", - "353" + "381", + "382", + "383", + "384" ], "location": { "end": { - "column": 43, - "line": 63 + "column": 63, + "line": 95 }, "start": { - "column": 12, - "line": 63 + "column": 38, + "line": 95 } } }, { - "id": "2435", + "id": "2653", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:457:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "383" + ], "coveredBy": [ - "350", - "351", - "352", - "353" + "381", + "382", + "383" ], "location": { "end": { - "column": 95, - "line": 63 + "column": 151, + "line": 95 }, "start": { - "column": 47, - "line": 63 + "column": 67, + "line": 95 } } }, { - "id": "2436", - "mutatorName": "EqualityOperator", - "replacement": "playerToReveal.role.current !== ROLE_NAMES.IDIOT", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:285:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2654", + "mutatorName": "LogicalOperator", + "replacement": "eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL || !isLittleGirlProtectedByGuard", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:441:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "350" + "381" ], "coveredBy": [ - "350", - "351", - "352", - "353" + "381", + "382", + "383" ], "location": { "end": { - "column": 95, - "line": 63 + "column": 151, + "line": 95 }, "start": { - "column": 47, - "line": 63 + "column": 67, + "line": 95 } } }, { - "id": "2437", + "id": "2655", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:301:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:441:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "352" + "381" ], "coveredBy": [ - "352", - "353" + "381", + "382", + "383" ], "location": { "end": { - "column": 89, - "line": 64 + "column": 118, + "line": 95 }, "start": { - "column": 49, - "line": 64 + "column": 67, + "line": 95 } } }, { - "id": "2438", + "id": "2656", "mutatorName": "EqualityOperator", - "replacement": "death.cause !== PLAYER_DEATH_CAUSES.VOTE", + "replacement": "eatenPlayer.role.current !== ROLE_NAMES.LITTLE_GIRL", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "352", - "353" + "381", + "382", + "383" ], "location": { "end": { - "column": 89, - "line": 64 + "column": 118, + "line": 95 }, "start": { - "column": 49, - "line": 64 + "column": 67, + "line": 95 } } }, { - "id": "2439", + "id": "2657", + "mutatorName": "BooleanLiteral", + "replacement": "isLittleGirlProtectedByGuard", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:449:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, + "static": false, + "killedBy": [ + "382" + ], + "coveredBy": [ + "382", + "383" + ], + "location": { + "end": { + "column": 151, + "line": 95 + }, + "start": { + "column": 122, + "line": 95 + } + } + }, + { + "id": "2658", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(67,61): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(98,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "354" + "385", + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { "column": 4, - "line": 71 + "line": 109 }, "start": { - "column": 68, - "line": 67 + "column": 108, + "line": 98 } } }, { - "id": "2440", - "mutatorName": "MethodExpression", - "replacement": "clonedPlayer.attributes", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -1,10 +1,17 @@\n Player {\n \"_id\": \"bcacca9a63c6c15cb1853de4\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": false,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2659", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:502:35)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "354" + "387" ], "coveredBy": [ - "339", - "354" + "385", + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 122, - "line": 69 + "column": 84, + "line": 99 }, "start": { - "column": 31, - "line": 69 + "column": 9, + "line": 99 } } }, { - "id": "2441", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"127464adad418b857c55f8bf\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n \"name\": \"Keegan\",\n \"position\": 1351032791629824,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2660", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "354" + "385" ], "coveredBy": [ - "339", - "354" + "385", + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 121, - "line": 69 + "column": 84, + "line": 99 }, "start": { - "column": 62, - "line": 69 + "column": 9, + "line": 99 } } }, { - "id": "2442", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 7\n\n@@ -1,10 +1,17 @@\n Player {\n \"_id\": \"b192184bceba11759ecf8a2c\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": false,\n+ \"name\": \"cant-vote\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"all\",\n+ },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n },\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2661", + "mutatorName": "LogicalOperator", + "replacement": "cause === PLAYER_DEATH_CAUSES.EATEN || !this.canPlayerBeEaten(player, game)", + "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"1cd447169a3db3ac630782c8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Orin\", \"position\": 6518793025093632, \"role\": {\"current\": \"ancient\", \"isRevealed\": true, \"original\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"werewolves\"}}, {\"_id\": \"4ab2f95927027bf7cb6d9873\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T11:52:27.218Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 4, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 1690949539332096}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [], \"status\": \"canceled\", \"tick\": 4824712471379968, \"turn\": 751133786112000, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T15:20:56.616Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:483:40)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 7, "static": false, "killedBy": [ - "354" + "386" ], "coveredBy": [ - "354" + "385", + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 121, - "line": 69 + "column": 84, + "line": 99 }, "start": { - "column": 92, - "line": 69 + "column": 9, + "line": 99 } } }, { - "id": "2443", + "id": "2662", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 16\n+ Received + 1\n\n@@ -1,23 +1,8 @@\n Player {\n \"_id\": \"22bd1afaeedb854feb71abdf\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n- \"remainingPhases\": undefined,\n- \"source\": \"all\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": false,\n \"name\": \"Jerrod\",\n \"position\": 4094857396092928,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"fdd6cba39c7e41dc7bef4594\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Hans\", \"position\": 7022264732090368, \"role\": {\"current\": \"seer\", \"isRevealed\": true, \"original\": \"two-sisters\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"a0081d7ba934cdd9e99906dd\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T08:08:28.356Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 3853764672880640}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [], \"status\": \"playing\", \"tick\": 207196501573632, \"turn\": 6298809812385792, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T03:43:12.067Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:483:40)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 7, "static": false, "killedBy": [ - "354" + "386" ], "coveredBy": [ - "354" + "385", + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 121, - "line": 69 + "column": 44, + "line": 99 }, "start": { - "column": 92, - "line": 69 + "column": 9, + "line": 99 } } }, { - "id": "2444", + "id": "2663", "mutatorName": "EqualityOperator", - "replacement": "doesRemainAfterDeath !== true", + "replacement": "cause !== PLAYER_DEATH_CAUSES.EATEN", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "354" + "385", + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 121, - "line": 69 + "column": 44, + "line": 99 }, "start": { - "column": 92, - "line": 69 + "column": 9, + "line": 99 } } }, { - "id": "2445", + "id": "2664", "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 9\n+ Received + 2\n\n@@ -1,19 +1,12 @@\n Player {\n \"_id\": \"2afac8fcbbaca3239d9b2cac\",\n \"attributes\": Array [\n PlayerAttribute {\n \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"sheriff\",\n+ \"doesRemainAfterDeath\": false,\n+ \"name\": \"cant-vote\",\n \"remainingPhases\": undefined,\n \"source\": \"all\",\n },\n ],\n \"death\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:325:81)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "this.canPlayerBeEaten(player, game)", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "354" + "385" ], "coveredBy": [ - "354" + "385" ], "location": { "end": { - "column": 121, - "line": 69 + "column": 84, + "line": 99 }, "start": { - "column": 117, - "line": 69 + "column": 48, + "line": 99 } } }, { - "id": "2446", + "id": "2665", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(73,68): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], - "coveredBy": [ - "355", - "356", - "357" + "killedBy": [ + "385" ], - "location": { - "end": { - "column": 4, - "line": 84 - }, - "start": { - "column": 84, - "line": 73 - } - } - }, - { - "id": "2447", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(77,5): error TS2322: Type 'GameHistoryRecord' is not assignable to type 'number'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(77,47): error TS2769: No overload matches this call.\n Overload 1 of 3, '(callbackfn: (previousValue: GameHistoryRecord, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => GameHistoryRecord, initialValue: GameHistoryRecord): GameHistoryRecord', gave the following error.\n Argument of type '(acc: number, werewolvesEatAncientRecord: GameHistoryRecord) => void' is not assignable to parameter of type '(previousValue: GameHistoryRecord, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => GameHistoryRecord'.\n Types of parameters 'acc' and 'previousValue' are incompatible.\n Type 'GameHistoryRecord' is not assignable to type 'number'.\n Overload 2 of 3, '(callbackfn: (previousValue: number, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => number, initialValue: number): number', gave the following error.\n Argument of type '(acc: number, werewolvesEatAncientRecord: GameHistoryRecord) => void' is not assignable to parameter of type '(previousValue: number, currentValue: GameHistoryRecord, currentIndex: number, array: GameHistoryRecord[]) => number'.\n Type 'void' is not assignable to type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "356", - "357" + "385" ], "location": { "end": { "column": 6, - "line": 83 + "line": 101 }, "start": { - "column": 84, - "line": 77 + "column": 86, + "line": 99 } } }, { - "id": "2448", + "id": "2666", "mutatorName": "BooleanLiteral", - "replacement": "!ancientProtectedFromWerewolvesRecords.find(({\n turn\n}) => turn === werewolvesEatAncientRecord.turn)", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 1\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "true", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "356" + "385" ], "coveredBy": [ - "356", - "357" + "385" ], "location": { "end": { - "column": 149, - "line": 78 + "column": 19, + "line": 100 }, "start": { - "column": 49, - "line": 78 + "column": 14, + "line": 100 } } }, { - "id": "2449", - "mutatorName": "BooleanLiteral", - "replacement": "ancientProtectedFromWerewolvesRecords.find(({\n turn\n}) => turn === werewolvesEatAncientRecord.turn)", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 1\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2667", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"b92cecb644face28cd25c12f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Frank\", \"position\": 1094577786191872, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, \"vote\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:501:39)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 6, "static": false, "killedBy": [ - "356" + "388" ], "coveredBy": [ - "356", - "357" + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 149, - "line": 78 + "column": 49, + "line": 102 }, "start": { - "column": 50, - "line": 78 + "column": 9, + "line": 102 } } }, { - "id": "2450", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", + "id": "2668", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "356", - "357" + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 148, - "line": 78 + "column": 49, + "line": 102 }, "start": { - "column": 94, - "line": 78 + "column": 9, + "line": 102 } } }, { - "id": "2451", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2669", + "mutatorName": "EqualityOperator", + "replacement": "player.role.current !== ROLE_NAMES.IDIOT", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(105,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.IDIOT' and 'ROLE_NAMES.ANCIENT' have no overlap.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "356" + "386", + "387", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 148, - "line": 78 + "column": 49, + "line": 102 }, "start": { - "column": 108, - "line": 78 + "column": 9, + "line": 102 } } }, { - "id": "2452", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 0\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2670", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:502:35)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "356" + "387" ], "coveredBy": [ - "356" + "387" ], "location": { "end": { - "column": 148, - "line": 78 + "column": 6, + "line": 104 }, "start": { - "column": 108, - "line": 78 + "column": 51, + "line": 102 } } }, { - "id": "2453", - "mutatorName": "EqualityOperator", - "replacement": "turn !== werewolvesEatAncientRecord.turn", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 3\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2671", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"19fde9edea32c9dde9d3f8ca\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T04:37:25.796Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 5250370446032896}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 1}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [], \"status\": \"playing\", \"tick\": 6511118226817024, \"turn\": 5154857707110400, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T20:20:59.912Z, \"victory\": undefined}, \"vote\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:519:41)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 5, "static": false, "killedBy": [ - "356" - ], - "coveredBy": [ - "356" + "390" ], - "location": { - "end": { - "column": 148, - "line": 78 - }, - "start": { - "column": 108, - "line": 78 - } - } - }, - { - "id": "2454", - "mutatorName": "BooleanLiteral", - "replacement": "wasAncientProtectedFromWerewolves", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "356", - "357" + "386", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 45, - "line": 79 + "column": 51, + "line": 105 }, "start": { - "column": 11, - "line": 79 + "column": 9, + "line": 105 } } }, { - "id": "2455", + "id": "2672", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 0\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:510:37)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 5, "static": false, "killedBy": [ - "356" + "389" ], "coveredBy": [ - "356", - "357" + "386", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 45, - "line": 79 + "column": 51, + "line": 105 }, "start": { - "column": 11, - "line": 79 + "column": 9, + "line": 105 } } }, { - "id": "2456", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2673", + "mutatorName": "EqualityOperator", + "replacement": "player.role.current !== ROLE_NAMES.ANCIENT", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:510:37)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "389" + ], "coveredBy": [ - "356", - "357" + "386", + "388", + "389", + "390", + "391" ], "location": { "end": { - "column": 45, - "line": 79 + "column": 51, + "line": 105 }, "start": { - "column": 11, - "line": 79 + "column": 9, + "line": 105 } } }, { - "id": "2457", + "id": "2674", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 3\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:510:37)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "356" + "389" ], "coveredBy": [ - "356", - "357" + "389" ], "location": { "end": { - "column": 8, - "line": 81 + "column": 6, + "line": 107 }, "start": { - "column": 47, - "line": 79 + "column": 53, + "line": 105 } } }, { - "id": "2458", - "mutatorName": "ArithmeticOperator", - "replacement": "acc + 1", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: 2\nReceived: 4\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:380:99)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2675", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:526:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "356" + "391" ], "coveredBy": [ - "356", - "357" + "386", + "388", + "390", + "391" ], "location": { "end": { - "column": 23, - "line": 80 + "column": 16, + "line": 108 }, "start": { - "column": 16, - "line": 80 + "column": 12, + "line": 108 } } }, { - "id": "2459", + "id": "2676", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(86,89): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(111,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { "column": 4, - "line": 89 + "line": 120 }, "start": { - "column": 97, - "line": 86 + "column": 85, + "line": 111 } } }, { - "id": "2460", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(idiotPlayer, game)", - "status": "Timeout", + "id": "2677", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 66, - "line": 87 + "column": 114, + "line": 115 }, "start": { - "column": 30, - "line": 87 + "column": 9, + "line": 114 } } }, { - "id": "2461", + "id": "2678", "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:434:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "361" - ], + "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 97, - "line": 88 + "column": 114, + "line": 115 }, "start": { - "column": 12, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2462", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:413:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2679", + "mutatorName": "LogicalOperator", + "replacement": "(!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) || wildChildPlayer === undefined || !wildChildPlayer.isAlive) && !isPlayerPowerful(wildChildPlayer, clonedGame)", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,192): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "358" - ], + "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 97, - "line": 88 + "column": 114, + "line": 115 }, "start": { - "column": 12, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2463", - "mutatorName": "LogicalOperator", - "replacement": "(idiotPlayer.role.isRevealed || cause !== PLAYER_DEATH_CAUSES.VOTE) && isIdiotPowerless", - "status": "Timeout", + "id": "2680", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,36): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 97, - "line": 88 + "column": 64, + "line": 115 }, "start": { - "column": 12, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2464", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:413:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2681", + "mutatorName": "LogicalOperator", + "replacement": "(!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) || wildChildPlayer === undefined) && !wildChildPlayer.isAlive", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,147): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(114,192): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "358" - ], + "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 77, - "line": 88 + "column": 64, + "line": 115 }, "start": { - "column": 12, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2465", - "mutatorName": "LogicalOperator", - "replacement": "idiotPlayer.role.isRevealed && cause !== PLAYER_DEATH_CAUSES.VOTE", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:413:96)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2682", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,19): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(114,64): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "358" - ], + "killedBy": [], "coveredBy": [ - "358", - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 77, - "line": 88 + "column": 36, + "line": 115 }, "start": { - "column": 12, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2466", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2683", + "mutatorName": "LogicalOperator", + "replacement": "!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) && wildChildPlayer === undefined", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,145): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(114,190): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 77, - "line": 88 + "column": 36, + "line": 115 }, "start": { - "column": 43, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2467", - "mutatorName": "EqualityOperator", - "replacement": "cause === PLAYER_DEATH_CAUSES.VOTE", + "id": "2684", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "359", - "360", - "361" + "392", + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 77, - "line": 88 + "column": 107, + "line": 114 }, "start": { - "column": 43, - "line": 88 + "column": 9, + "line": 114 } } }, { - "id": "2468", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(91,62): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2685", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(115,17): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(115,76): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "362", - "363", - "364", - "365", - "366" + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 4, - "line": 96 + "column": 36, + "line": 115 }, "start": { - "column": 70, - "line": 91 + "column": 7, + "line": 115 } } }, { - "id": "2469", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:433:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2686", + "mutatorName": "EqualityOperator", + "replacement": "wildChildPlayer !== undefined", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(115,41): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(115,100): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,52): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Partial'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "362" - ], + "killedBy": [], "coveredBy": [ - "362", - "363", - "364", - "365", - "366" + "393", + "394", + "395", + "396" ], "location": { "end": { - "column": 152, - "line": 95 + "column": 36, + "line": 115 }, "start": { - "column": 12, - "line": 95 + "column": 7, + "line": 115 } } }, { - "id": "2470", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:457:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2687", + "mutatorName": "BooleanLiteral", + "replacement": "wildChildPlayer.isAlive", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -133,11 +133,11 @@\n \"current\": \"wild-child\",\n \"isRevealed\": false,\n \"original\": \"wild-child\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"0d356be9062ae74bccebca95\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:564:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 3, "static": false, "killedBy": [ - "365" + "394" ], "coveredBy": [ - "362", - "363", - "364", - "365", - "366" + "394", + "395", + "396" ], "location": { "end": { - "column": 152, - "line": 95 + "column": 64, + "line": 115 }, "start": { - "column": 12, - "line": 95 + "column": 40, + "line": 115 } } }, { - "id": "2471", - "mutatorName": "LogicalOperator", - "replacement": "!isPlayerSavedByWitch || !isPlayerProtectedByGuard || eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL && !isLittleGirlProtectedByGuard", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:433:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2688", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerPowerful(wildChildPlayer, clonedGame)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -141,11 +141,11 @@\n \"current\": \"wild-child\",\n \"isRevealed\": false,\n \"original\": \"wild-child\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a869a88beb08ff5e3b03b9cd\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:586:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "362" + "395" ], "coveredBy": [ - "362", - "363", - "364", - "365", - "366" + "395", + "396" ], "location": { "end": { - "column": 152, - "line": 95 + "column": 114, + "line": 115 }, "start": { - "column": 12, - "line": 95 + "column": 68, + "line": 115 } } }, { - "id": "2472", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerSavedByWitch", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:433:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2689", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(116,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "362" - ], + "killedBy": [], "coveredBy": [ - "362", - "363", - "364", - "365", - "366" + "392", + "393", + "394", + "395" ], "location": { "end": { - "column": 33, - "line": 95 + "column": 6, + "line": 117 }, "start": { - "column": 12, - "line": 95 + "column": 116, + "line": 115 } } }, { - "id": "2473", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2690", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(122,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "363", - "364", - "365", - "366" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 151, - "line": 95 + "column": 4, + "line": 131 }, "start": { - "column": 38, - "line": 95 + "column": 82, + "line": 122 } } }, { - "id": "2474", - "mutatorName": "LogicalOperator", - "replacement": "!isPlayerProtectedByGuard && eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL && !isLittleGirlProtectedByGuard", - "status": "Timeout", + "id": "2691", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:662:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "400" + ], "coveredBy": [ - "363", - "364", - "365", - "366" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 151, - "line": 95 + "column": 56, + "line": 125 }, "start": { - "column": 38, - "line": 95 + "column": 30, + "line": 124 } } }, { - "id": "2475", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerProtectedByGuard", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:441:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2692", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "363" - ], + "killedBy": [], "coveredBy": [ - "363", - "364", - "365", - "366" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 63, - "line": 95 + "column": 56, + "line": 125 }, "start": { - "column": 38, - "line": 95 + "column": 59, + "line": 124 } } }, { - "id": "2476", + "id": "2693", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:457:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "status": "Timeout", "static": false, - "killedBy": [ - "365" - ], + "killedBy": [], "coveredBy": [ - "363", - "364", - "365" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 151, - "line": 95 + "column": 56, + "line": 125 }, "start": { - "column": 67, - "line": 95 + "column": 59, + "line": 124 } } }, { - "id": "2477", + "id": "2694", "mutatorName": "LogicalOperator", - "replacement": "eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL || !isLittleGirlProtectedByGuard", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:441:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game) && player.isAlive || player._id !== killedPlayer._id", + "status": "Timeout", "static": false, - "killedBy": [ - "363" - ], + "killedBy": [], "coveredBy": [ - "363", - "364", - "365" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 151, - "line": 95 + "column": 56, + "line": 125 }, "start": { - "column": 67, - "line": 95 + "column": 59, + "line": 124 } } }, { - "id": "2478", + "id": "2695", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:441:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "status": "Timeout", "static": false, - "killedBy": [ - "363" - ], + "killedBy": [], "coveredBy": [ - "363", - "364", - "365" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 118, - "line": 95 + "column": 21, + "line": 125 }, "start": { - "column": 67, - "line": 95 + "column": 59, + "line": 124 } } }, { - "id": "2479", - "mutatorName": "EqualityOperator", - "replacement": "eatenPlayer.role.current !== ROLE_NAMES.LITTLE_GIRL", + "id": "2696", + "mutatorName": "LogicalOperator", + "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game) || player.isAlive", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "363", - "364", - "365" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 118, - "line": 95 + "column": 21, + "line": 125 }, "start": { - "column": 67, - "line": 95 + "column": 59, + "line": 124 } } }, { - "id": "2480", - "mutatorName": "BooleanLiteral", - "replacement": "isLittleGirlProtectedByGuard", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:449:71)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2697", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "364" - ], + "killedBy": [], "coveredBy": [ - "364", - "365" + "398", + "399", + "400" ], "location": { "end": { - "column": 151, - "line": 95 + "column": 56, + "line": 125 }, "start": { - "column": 122, - "line": 95 + "column": 25, + "line": 125 } } }, { - "id": "2481", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(98,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2698", + "mutatorName": "EqualityOperator", + "replacement": "player._id === killedPlayer._id", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "367", - "368", - "369", - "370", - "371", - "372", - "373" + "398", + "399", + "400" ], "location": { "end": { - "column": 4, - "line": 109 + "column": 56, + "line": 125 }, "start": { - "column": 108, - "line": 98 + "column": 25, + "line": 125 } } }, { - "id": "2482", + "id": "2699", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:502:35)", - "status": "Killed", - "testsCompleted": 7, + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "369" - ], + "killedBy": [], "coveredBy": [ - "367", - "368", - "369", - "370", - "371", - "372", - "373" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 84, - "line": 99 + "column": 127, + "line": 127 }, "start": { "column": 9, - "line": 99 + "line": 127 } } }, { - "id": "2483", + "id": "2700", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 7, + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "367" - ], + "killedBy": [], "coveredBy": [ - "367", - "368", - "369", - "370", - "371", - "372", - "373" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 84, - "line": 99 + "column": 127, + "line": 127 }, "start": { "column": 9, - "line": 99 + "line": 127 } } }, { - "id": "2484", + "id": "2701", "mutatorName": "LogicalOperator", - "replacement": "cause === PLAYER_DEATH_CAUSES.EATEN || !this.canPlayerBeEaten(player, game)", - "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"1cd447169a3db3ac630782c8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Orin\", \"position\": 6518793025093632, \"role\": {\"current\": \"ancient\", \"isRevealed\": true, \"original\": \"villager\"}, \"side\": {\"current\": \"villagers\", \"original\": \"werewolves\"}}, {\"_id\": \"4ab2f95927027bf7cb6d9873\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T11:52:27.218Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 4, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 1}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 1690949539332096}, \"hasDoubledVote\": false, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 3}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [], \"status\": \"canceled\", \"tick\": 4824712471379968, \"turn\": 751133786112000, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T15:20:56.616Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:483:40)", - "status": "Killed", - "testsCompleted": 7, + "replacement": "!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame) && !otherPlayerInLove", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "368" - ], + "killedBy": [], "coveredBy": [ - "367", - "368", - "369", - "370", - "371", - "372", - "373" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 84, - "line": 99 + "column": 127, + "line": 127 }, "start": { "column": 9, - "line": 99 + "line": 127 } } }, { - "id": "2485", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"fdd6cba39c7e41dc7bef4594\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Hans\", \"position\": 7022264732090368, \"role\": {\"current\": \"seer\", \"isRevealed\": true, \"original\": \"two-sisters\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"a0081d7ba934cdd9e99906dd\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T08:08:28.356Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 3853764672880640}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 1, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 5}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 4}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [], \"status\": \"playing\", \"tick\": 207196501573632, \"turn\": 6298809812385792, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T03:43:12.067Z, \"victory\": undefined}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:483:40)", + "id": "2702", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:662:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 4, "static": false, "killedBy": [ - "368" + "400" ], "coveredBy": [ - "367", - "368", - "369", - "370", - "371", - "372", - "373" + "397", + "398", + "399", + "400" ], "location": { "end": { - "column": 44, - "line": 99 + "column": 105, + "line": 127 }, "start": { "column": 9, - "line": 99 + "line": 127 } } }, { - "id": "2486", - "mutatorName": "EqualityOperator", - "replacement": "cause !== PLAYER_DEATH_CAUSES.EATEN", - "status": "Timeout", + "id": "2703", + "mutatorName": "BooleanLiteral", + "replacement": "otherPlayerInLove", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "367", - "368", - "369", - "370", - "371", - "372", - "373" + "398", + "399", + "400" ], "location": { "end": { - "column": 44, - "line": 99 + "column": 127, + "line": 127 }, "start": { - "column": 9, - "line": 99 + "column": 109, + "line": 127 } } }, { - "id": "2487", - "mutatorName": "BooleanLiteral", - "replacement": "this.canPlayerBeEaten(player, game)", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "2704", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(128,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "367" - ], + "killedBy": [], "coveredBy": [ - "367" + "397", + "398", + "399" ], "location": { "end": { - "column": 84, - "line": 99 + "column": 6, + "line": 129 }, "start": { - "column": 48, - "line": 99 + "column": 129, + "line": 127 } } }, { - "id": "2488", + "id": "2705", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(133,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "367" - ], + "killedBy": [], "coveredBy": [ - "367" + "401", + "402", + "403", + "404" ], "location": { "end": { - "column": 6, - "line": 101 + "column": 4, + "line": 140 }, "start": { - "column": 86, - "line": 99 + "column": 83, + "line": 133 } } }, { - "id": "2489", - "mutatorName": "BooleanLiteral", + "id": "2706", + "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:474:113)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "401", + "402", + "403", + "404" + ], + "location": { + "end": { + "column": 99, + "line": 136 + }, + "start": { + "column": 9, + "line": 135 + } + } + }, + { + "id": "2707", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 2381122619047936,\n \"turn\": 2394927623307264,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T02:25:54.515Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:676:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 4, "static": false, "killedBy": [ - "367" + "401" ], "coveredBy": [ - "367" + "401", + "402", + "403", + "404" ], "location": { "end": { - "column": 19, - "line": 100 + "column": 99, + "line": 136 }, "start": { - "column": 14, - "line": 100 + "column": 9, + "line": 135 } } }, { - "id": "2490", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"b92cecb644face28cd25c12f\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Frank\", \"position\": 1094577786191872, \"role\": {\"current\": \"seer\", \"isRevealed\": false, \"original\": \"seer\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, \"vote\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:501:39)", + "id": "2708", + "mutatorName": "LogicalOperator", + "replacement": "!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, game) && killedPlayer.role.current === ROLE_NAMES.IDIOT && isPlayerPowerful(killedPlayer, clonedGame)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 841616252207104,\n \"turn\": 7504502747824128,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T04:51:50.864Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:676:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 4, "static": false, "killedBy": [ - "370" + "401" ], "coveredBy": [ - "368", - "369", - "370", - "371", - "372", - "373" + "401", + "402", + "403", + "404" ], "location": { "end": { - "column": 49, - "line": 102 + "column": 99, + "line": 136 }, "start": { "column": 9, - "line": 102 + "line": 135 } } }, { - "id": "2491", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2709", + "mutatorName": "BooleanLiteral", + "replacement": "doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, game)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "368", - "369", - "370", - "371", - "372", - "373" + "401", + "402", + "403", + "404" ], "location": { "end": { - "column": 49, - "line": 102 + "column": 99, + "line": 135 }, "start": { "column": 9, - "line": 102 + "line": 135 } } }, { - "id": "2492", - "mutatorName": "EqualityOperator", - "replacement": "player.role.current !== ROLE_NAMES.IDIOT", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(105,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.IDIOT' and 'ROLE_NAMES.ANCIENT' have no overlap.\n", - "status": "CompileError", + "id": "2710", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "368", - "369", - "370", - "371", - "372", - "373" + "402", + "403", + "404" ], "location": { "end": { - "column": 49, - "line": 102 + "column": 99, + "line": 136 }, "start": { - "column": 9, - "line": 102 + "column": 7, + "line": 136 } } }, { - "id": "2493", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:502:35)", + "id": "2711", + "mutatorName": "LogicalOperator", + "replacement": "killedPlayer.role.current === ROLE_NAMES.IDIOT || isPlayerPowerful(killedPlayer, clonedGame)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -175,18 +175,10 @@\n \"status\": \"over\",\n \"tick\": 3950091851268096,\n \"turn\": 4135619166994432,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"delegate\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"sheriff\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:701:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 3, "static": false, "killedBy": [ - "369" + "403" ], "coveredBy": [ - "369" + "402", + "403", + "404" ], "location": { "end": { - "column": 6, - "line": 104 + "column": 99, + "line": 136 }, "start": { - "column": 51, - "line": 102 + "column": 7, + "line": 136 } } }, { - "id": "2494", + "id": "2712", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(jest.fn()).not.toHaveBeenCalled()\n\nExpected number of calls: 0\nReceived number of calls: 1\n\n1: {\"_id\": \"19fde9edea32c9dde9d3f8ca\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T04:37:25.796Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 2}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": false}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 2, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 3}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 5250370446032896}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 4}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 1}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"day\", \"players\": [], \"status\": \"playing\", \"tick\": 6511118226817024, \"turn\": 5154857707110400, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T20:20:59.912Z, \"victory\": undefined}, \"vote\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:519:41)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -168,18 +168,10 @@\n \"status\": \"canceled\",\n \"tick\": 7255718906298368,\n \"turn\": 3053344031506432,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"delegate\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"sheriff\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:707:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 3, "static": false, "killedBy": [ - "372" + "404" ], "coveredBy": [ - "368", - "370", - "371", - "372", - "373" + "402", + "403", + "404" ], "location": { "end": { - "column": 51, - "line": 105 + "column": 53, + "line": 136 }, "start": { - "column": 9, - "line": 105 + "column": 7, + "line": 136 } } }, { - "id": "2495", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:510:37)", + "id": "2713", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.IDIOT", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 6494746727940096,\n \"turn\": 80177772101632,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T00:42:45.794Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:678:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 3, "static": false, "killedBy": [ - "371" + "402" ], "coveredBy": [ - "368", - "370", - "371", - "372", - "373" + "402", + "403", + "404" ], "location": { "end": { - "column": 51, - "line": 105 + "column": 53, + "line": 136 }, "start": { - "column": 9, - "line": 105 + "column": 7, + "line": 136 } } }, { - "id": "2496", - "mutatorName": "EqualityOperator", - "replacement": "player.role.current !== ROLE_NAMES.ANCIENT", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:510:37)", + "id": "2714", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 304577633058816,\n \"turn\": 4411863806771200,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T18:54:02.097Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:676:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "371" + "401" ], "coveredBy": [ - "368", - "370", - "371", - "372", - "373" + "401", + "402" ], "location": { "end": { - "column": 51, - "line": 105 + "column": 6, + "line": 138 }, "start": { - "column": 9, - "line": 105 + "column": 101, + "line": 136 } } }, { - "id": "2497", + "id": "2715", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:510:37)", - "status": "Killed", - "testsCompleted": 2, + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(142,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "371" - ], + "killedBy": [], "coveredBy": [ - "371" + "357", + "405", + "406" ], "location": { "end": { - "column": 6, - "line": 107 + "column": 4, + "line": 158 }, "start": { - "column": 53, - "line": 105 + "column": 86, + "line": 142 } } }, { - "id": "2498", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).resolves.toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object.toBe (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:174:22)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:526:112)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2716", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"applyPlayerAttributesDeathOutcomes\", {\"gameId\": \"fff9aa97a65fc951f01efefb\", \"playerId\": \"0fcb7eb7291ab2245cb44855\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:756:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "373" + "406" ], "coveredBy": [ - "368", - "370", - "372", - "373" + "357", + "405", + "406" ], "location": { "end": { - "column": 16, - "line": 108 + "column": 113, + "line": 145 }, "start": { - "column": 12, - "line": 108 + "column": 77, + "line": 145 } } }, { - "id": "2499", - "mutatorName": "BlockStatement", + "id": "2717", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(111,80): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(145,115): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 4, - "line": 120 + "column": 163, + "line": 145 }, "start": { - "column": 85, - "line": 111 + "column": 115, + "line": 145 } } }, { - "id": "2500", + "id": "2718", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 114, - "line": 115 + "column": 104, + "line": 146 }, "start": { "column": 9, - "line": 114 + "line": 146 } } }, { - "id": "2501", + "id": "2719", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 114, - "line": 115 + "column": 104, + "line": 146 }, "start": { "column": 9, - "line": 114 + "line": 146 } } }, { - "id": "2502", - "mutatorName": "LogicalOperator", - "replacement": "(!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) || wildChildPlayer === undefined || !wildChildPlayer.isAlive) && !isPlayerPowerful(wildChildPlayer, clonedGame)", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,192): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "id": "2720", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:767:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, + "static": false, + "killedBy": [ + "406" + ], + "coveredBy": [ + "406" + ], + "location": { + "end": { + "column": 6, + "line": 149 + }, + "start": { + "column": 106, + "line": 146 + } + } + }, + { + "id": "2721", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 114, - "line": 115 + "column": 104, + "line": 150 }, "start": { "column": 9, - "line": 114 + "line": 150 } } }, { - "id": "2503", + "id": "2722", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,36): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 64, - "line": 115 + "column": 104, + "line": 150 }, "start": { "column": 9, - "line": 114 + "line": 150 } } }, { - "id": "2504", - "mutatorName": "LogicalOperator", - "replacement": "(!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) || wildChildPlayer === undefined) && !wildChildPlayer.isAlive", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,147): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(114,192): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "id": "2723", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:768:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "406" + ], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "406" ], "location": { "end": { - "column": 64, - "line": 115 + "column": 6, + "line": 153 }, "start": { - "column": 9, - "line": 114 + "column": 106, + "line": 150 } } }, { - "id": "2505", + "id": "2724", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,19): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(114,64): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 36, - "line": 115 + "column": 112, + "line": 154 }, "start": { "column": 9, - "line": 114 + "line": 154 } } }, { - "id": "2506", - "mutatorName": "LogicalOperator", - "replacement": "!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) && wildChildPlayer === undefined", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(114,145): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(114,190): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", - "status": "CompileError", + "id": "2725", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:769:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "406" + ], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "357", + "405", + "406" ], "location": { "end": { - "column": 36, - "line": 115 + "column": 112, + "line": 154 }, "start": { "column": 9, - "line": 114 + "line": 154 } } }, { - "id": "2507", - "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame)", + "id": "2726", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377", - "378" + "406" ], "location": { "end": { - "column": 107, - "line": 114 + "column": 6, + "line": 156 }, "start": { - "column": 9, - "line": 114 + "column": 114, + "line": 154 } } }, { - "id": "2508", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(115,17): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(115,76): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "id": "2727", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(160,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "375", - "376", - "377", - "378" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 36, - "line": 115 + "column": 4, + "line": 168 }, "start": { - "column": 7, - "line": 115 + "column": 106, + "line": 160 } } }, { - "id": "2509", - "mutatorName": "EqualityOperator", - "replacement": "wildChildPlayer !== undefined", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(115,41): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(115,100): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(118,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(119,52): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Partial'.\n", + "id": "2728", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(162,93): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GetNearestPlayerOptions'.\n Property 'direction' is missing in type '{}' but required in type 'GetNearestPlayerOptions'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "375", - "376", - "377", - "378" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 36, - "line": 115 + "column": 149, + "line": 162 }, "start": { - "column": 7, - "line": 115 + "column": 93, + "line": 162 } } }, { - "id": "2510", - "mutatorName": "BooleanLiteral", - "replacement": "wildChildPlayer.isAlive", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -133,11 +133,11 @@\n \"current\": \"wild-child\",\n \"isRevealed\": false,\n \"original\": \"wild-child\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"0d356be9062ae74bccebca95\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:564:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2729", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(162,95): error TS2322: Type '\"\"' is not assignable to type '\"left\" | \"right\"'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "376" - ], + "killedBy": [], "coveredBy": [ - "376", - "377", - "378" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 64, - "line": 115 + "column": 112, + "line": 162 }, "start": { - "column": 40, - "line": 115 + "column": 106, + "line": 162 } } }, { - "id": "2511", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(wildChildPlayer, clonedGame)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n@@ -141,11 +141,11 @@\n \"current\": \"wild-child\",\n \"isRevealed\": false,\n \"original\": \"wild-child\",\n },\n \"side\": PlayerSide {\n- \"current\": \"villagers\",\n+ \"current\": \"werewolves\",\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"a869a88beb08ff5e3b03b9cd\",\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:586:92)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2730", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(166,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "377" - ], + "killedBy": [], "coveredBy": [ - "377", - "378" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 114, - "line": 115 + "column": 78, + "line": 164 }, "start": { - "column": 68, - "line": 115 + "column": 9, + "line": 163 } } }, { - "id": "2512", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(116,5): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,31): error TS18048: 'wildChildPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(117,52): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Partial'.\n Type 'undefined' is not assignable to type 'Partial'.\n", + "id": "2731", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(166,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "374", - "375", - "376", - "377" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 6, - "line": 117 + "column": 78, + "line": 164 }, "start": { - "column": 116, - "line": 115 + "column": 9, + "line": 163 } } }, { - "id": "2513", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(122,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2732", + "mutatorName": "LogicalOperator", + "replacement": "(killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT || !isPlayerPowerful(killedPlayer, clonedGame) || death.cause !== PLAYER_DEATH_CAUSES.EATEN) && !leftAliveWerewolfNeighbor", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(166,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 4, - "line": 131 + "column": 78, + "line": 164 }, "start": { - "column": 82, - "line": 122 + "column": 9, + "line": 163 } } }, { - "id": "2514", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:662:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2733", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "382" - ], + "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 56, - "line": 125 + "column": 48, + "line": 164 }, "start": { - "column": 30, - "line": 124 + "column": 9, + "line": 163 + } + } + }, + { + "id": "2734", + "mutatorName": "LogicalOperator", + "replacement": "(killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT || !isPlayerPowerful(killedPlayer, clonedGame)) && death.cause !== PLAYER_DEATH_CAUSES.EATEN", + "status": "Timeout", + "static": false, + "killedBy": [], + "coveredBy": [ + "407", + "408", + "409", + "410", + "411" + ], + "location": { + "end": { + "column": 48, + "line": 164 + }, + "start": { + "column": 9, + "line": 163 } } }, { - "id": "2515", + "id": "2735", "mutatorName": "ConditionalExpression", - "replacement": "true", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 56, - "line": 125 + "column": 115, + "line": 163 }, "start": { - "column": 59, - "line": 124 + "column": 9, + "line": 163 } } }, { - "id": "2516", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2736", + "mutatorName": "LogicalOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT && !isPlayerPowerful(killedPlayer, clonedGame)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 56, - "line": 125 + "column": 115, + "line": 163 }, "start": { - "column": 59, - "line": 124 + "column": 9, + "line": 163 } } }, { - "id": "2517", - "mutatorName": "LogicalOperator", - "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game) && player.isAlive || player._id !== killedPlayer._id", + "id": "2737", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 56, - "line": 125 + "column": 68, + "line": 163 }, "start": { - "column": 59, - "line": 124 + "column": 9, + "line": 163 } } }, { - "id": "2518", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2738", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current === ROLE_NAMES.RUSTY_SWORD_KNIGHT", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -114,11 +114,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"cfad77cd976957a6b2fc1333\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"America\",\n \"position\": 8382547457212416,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:776:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "407" + ], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 21, - "line": 125 + "column": 68, + "line": 163 }, "start": { - "column": 59, - "line": 124 + "column": 9, + "line": 163 } } }, { - "id": "2519", - "mutatorName": "LogicalOperator", - "replacement": "doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game) || player.isAlive", - "status": "Timeout", + "id": "2739", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerPowerful(killedPlayer, clonedGame)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -105,11 +105,19 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"cb56175e6c54696bba4cfdfa\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Ludwig\",\n \"position\": 5333738152001536,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:799:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "408" + ], "coveredBy": [ - "379", - "380", - "381", - "382" + "408", + "409", + "410", + "411" ], "location": { "end": { - "column": 21, - "line": 125 + "column": 115, + "line": 163 }, "start": { - "column": 59, - "line": 124 + "column": 72, + "line": 163 } } }, { - "id": "2520", + "id": "2740", "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -97,11 +97,19 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e269eecf8acd70fa4b4e5edd\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jeffry\",\n \"position\": 6643579495645184,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:802:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "409" + ], "coveredBy": [ - "380", - "381", - "382" + "409", + "410", + "411" ], "location": { "end": { - "column": 56, - "line": 125 + "column": 48, + "line": 164 }, "start": { - "column": 25, - "line": 125 + "column": 7, + "line": 164 } } }, { - "id": "2521", + "id": "2741", "mutatorName": "EqualityOperator", - "replacement": "player._id === killedPlayer._id", - "status": "Timeout", + "replacement": "death.cause === PLAYER_DEATH_CAUSES.EATEN", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -97,11 +97,19 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"2bcbd074031fd469bfc2efb9\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tremaine\",\n \"position\": 2292235339038720,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:802:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "409" + ], "coveredBy": [ - "380", - "381", - "382" + "409", + "410", + "411" ], "location": { "end": { - "column": 56, - "line": 125 + "column": 48, + "line": 164 }, "start": { - "column": 25, - "line": 125 + "column": 7, + "line": 164 } } }, { - "id": "2522", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2742", + "mutatorName": "BooleanLiteral", + "replacement": "leftAliveWerewolfNeighbor", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(167,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "410", + "411" ], "location": { "end": { - "column": 127, - "line": 127 + "column": 78, + "line": 164 }, "start": { - "column": 9, - "line": 127 + "column": 52, + "line": 164 } } }, { - "id": "2523", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2743", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(165,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "407", + "408", + "409", + "410" ], "location": { "end": { - "column": 127, - "line": 127 + "column": 6, + "line": 166 }, "start": { - "column": 9, - "line": 127 + "column": 80, + "line": 164 } } }, { - "id": "2524", - "mutatorName": "LogicalOperator", - "replacement": "!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame) && !otherPlayerInLove", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2744", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(170,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 127, - "line": 127 + "column": 4, + "line": 176 }, "start": { - "column": 9, - "line": 127 + "column": 99, + "line": 170 } } }, { - "id": "2525", - "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame)", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:662:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2745", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "382" - ], + "killedBy": [], "coveredBy": [ - "379", - "380", - "381", - "382" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 105, - "line": 127 + "column": 162, + "line": 172 }, "start": { "column": 9, - "line": 127 + "line": 172 } } }, { - "id": "2526", - "mutatorName": "BooleanLiteral", - "replacement": "otherPlayerInLove", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(130,28): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Player'.\n", - "status": "CompileError", + "id": "2746", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 4509894617071616,\n \"turn\": 668276013137920,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T13:11:52.915Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:862:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "412" + ], "coveredBy": [ - "380", - "381", - "382" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 127, - "line": 127 + "column": 162, + "line": 172 }, "start": { - "column": 109, - "line": 127 + "column": 9, + "line": 172 } } }, { - "id": "2527", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(128,28): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2747", + "mutatorName": "LogicalOperator", + "replacement": "(killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT || !isPlayerPowerful(killedPlayer, clonedGame)) && death.cause !== PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 1975209364029440,\n \"turn\": 2895392983220224,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T06:13:15.797Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:862:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "412" + ], "coveredBy": [ - "379", - "380", - "381" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 6, - "line": 129 + "column": 162, + "line": 172 }, "start": { - "column": 129, - "line": 127 + "column": 9, + "line": 172 } } }, { - "id": "2528", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(133,78): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2748", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "383", - "384", - "385", - "386" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 4, - "line": 140 + "column": 106, + "line": 172 }, "start": { - "column": 83, - "line": 133 + "column": 9, + "line": 172 } } }, { - "id": "2529", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "2749", + "mutatorName": "LogicalOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT && !isPlayerPowerful(killedPlayer, clonedGame)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "383", - "384", - "385", - "386" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 99, - "line": 136 + "column": 106, + "line": 172 }, "start": { "column": 9, - "line": 135 + "line": 172 } } }, { - "id": "2530", + "id": "2750", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 2381122619047936,\n \"turn\": 2394927623307264,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T02:25:54.515Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:676:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 3993796746412032,\n \"turn\": 5606265130582016,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T05:11:45.020Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:852:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "383" + "412" ], "coveredBy": [ - "383", - "384", - "385", - "386" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 99, - "line": 136 + "column": 59, + "line": 172 }, "start": { "column": 9, - "line": 135 + "line": 172 } } }, { - "id": "2531", - "mutatorName": "LogicalOperator", - "replacement": "!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, game) && killedPlayer.role.current === ROLE_NAMES.IDIOT && isPlayerPowerful(killedPlayer, clonedGame)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 841616252207104,\n \"turn\": 7504502747824128,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T04:51:50.864Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:676:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2751", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current === ROLE_NAMES.SCAPEGOAT", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 3378395125645312,\n \"turn\": 2004753689083904,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T12:35:01.311Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:852:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 4, "static": false, "killedBy": [ - "383" + "412" ], "coveredBy": [ - "383", - "384", - "385", - "386" + "412", + "413", + "414", + "415" ], "location": { "end": { - "column": 99, - "line": 136 + "column": 59, + "line": 172 }, "start": { "column": 9, - "line": 135 + "line": 172 } } }, { - "id": "2532", + "id": "2752", "mutatorName": "BooleanLiteral", - "replacement": "doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, game)", + "replacement": "isPlayerPowerful(killedPlayer, clonedGame)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "383", - "384", - "385", - "386" + "413", + "414", + "415" ], "location": { "end": { - "column": 99, - "line": 135 + "column": 106, + "line": 172 }, "start": { - "column": 9, - "line": 135 + "column": 63, + "line": 172 } } }, { - "id": "2533", + "id": "2753", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "384", - "385", - "386" + "414", + "415" ], "location": { "end": { - "column": 99, - "line": 136 + "column": 162, + "line": 172 }, "start": { - "column": 7, - "line": 136 + "column": 110, + "line": 172 } } }, { - "id": "2534", - "mutatorName": "LogicalOperator", - "replacement": "killedPlayer.role.current === ROLE_NAMES.IDIOT || isPlayerPowerful(killedPlayer, clonedGame)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -175,18 +175,10 @@\n \"status\": \"over\",\n \"tick\": 3950091851268096,\n \"turn\": 4135619166994432,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"delegate\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"sheriff\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:701:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2754", + "mutatorName": "EqualityOperator", + "replacement": "death.cause === PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED", + "status": "Timeout", "static": false, - "killedBy": [ - "385" - ], + "killedBy": [], "coveredBy": [ - "384", - "385", - "386" + "414", + "415" ], "location": { "end": { - "column": 99, - "line": 136 + "column": 162, + "line": 172 }, "start": { - "column": 7, - "line": 136 + "column": 110, + "line": 172 } } }, { - "id": "2535", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 8\n+ Received + 0\n\n@@ -168,18 +168,10 @@\n \"status\": \"canceled\",\n \"tick\": 7255718906298368,\n \"turn\": 3053344031506432,\n \"upcomingPlays\": Array [\n GamePlay {\n- \"action\": \"delegate\",\n- \"cause\": undefined,\n- \"source\": GamePlaySource {\n- \"name\": \"sheriff\",\n- \"players\": undefined,\n- },\n- },\n- GamePlay {\n \"action\": \"shoot\",\n \"cause\": undefined,\n \"source\": GamePlaySource {\n \"name\": \"hunter\",\n \"players\": undefined,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:707:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2755", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 8164797929488384,\n \"turn\": 3426362115227648,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T16:42:23.784Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:862:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "386" + "412" ], "coveredBy": [ - "384", - "385", - "386" + "412", + "413", + "414" ], "location": { "end": { - "column": 53, - "line": 136 + "column": 6, + "line": 174 }, "start": { - "column": 7, - "line": 136 + "column": 164, + "line": 172 } } }, { - "id": "2536", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.IDIOT", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 6494746727940096,\n \"turn\": 80177772101632,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T00:42:45.794Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:678:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2756", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(178,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "384" - ], + "killedBy": [], "coveredBy": [ - "384", - "385", - "386" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 53, - "line": 136 + "column": 4, + "line": 194 }, "start": { - "column": 7, - "line": 136 + "column": 97, + "line": 178 } } }, { - "id": "2537", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -166,9 +166,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 304577633058816,\n \"turn\": 4411863806771200,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"delegate\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"sheriff\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T18:54:02.097Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:676:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2757", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"5abb9ebdc0b50f9c69f00c8f\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Serena\",\n \"position\": 5096064371654656,\n \"role\": PlayerRole {\n@@ -139,19 +131,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"da1476de3d851aa2cbed4f25\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Darby\",\n \"position\": 5083725054345216,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:982:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 7, "static": false, "killedBy": [ - "383" + "420" ], "coveredBy": [ - "383", - "384" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 6, - "line": 138 + "column": 148, + "line": 180 }, "start": { - "column": 101, - "line": 136 + "column": 62, + "line": 180 } } }, { - "id": "2538", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(142,81): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2758", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(190,42): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(191,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 4, - "line": 158 + "column": 98, + "line": 182 }, "start": { - "column": 86, - "line": 142 + "column": 9, + "line": 182 } } }, { - "id": "2539", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"applyPlayerAttributesDeathOutcomes\", {\"gameId\": \"fff9aa97a65fc951f01efefb\", \"playerId\": \"0fcb7eb7291ab2245cb44855\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:756:88)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2759", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 5\n\n@@ -98,12 +98,15 @@\n },\n },\n Player {\n \"_id\": \"6a2dbafdea3eca0ccad8bf26\",\n \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Lew\",\n \"position\": 6356731953152000,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:924:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 7, "static": false, "killedBy": [ - "388" + "416" ], "coveredBy": [ - "339", - "387", - "388" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 113, - "line": 145 + "column": 98, + "line": 182 }, "start": { - "column": 77, - "line": 145 + "column": 9, + "line": 182 } } }, { - "id": "2540", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(145,115): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", - "status": "CompileError", + "id": "2760", + "mutatorName": "LogicalOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.ANCIENT && !isPlayerPowerful(killedPlayer, game)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 5\n\n@@ -98,12 +98,15 @@\n },\n },\n Player {\n \"_id\": \"fadc7bf84eaeb8aca59a3adb\",\n \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Samantha\",\n \"position\": 5513346570780672,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:924:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 7, "static": false, - "killedBy": [], + "killedBy": [ + "416" + ], "coveredBy": [ - "339", - "387", - "388" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 163, - "line": 145 + "column": 98, + "line": 182 }, "start": { - "column": 115, - "line": 145 + "column": 9, + "line": 182 } } }, { - "id": "2541", + "id": "2761", "mutatorName": "ConditionalExpression", - "replacement": "true", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 104, - "line": 146 + "column": 57, + "line": 182 }, "start": { "column": 9, - "line": 146 + "line": 182 } } }, { - "id": "2542", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2762", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current === ROLE_NAMES.ANCIENT", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "416", + "417", + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 104, - "line": 146 + "column": 57, + "line": 182 }, "start": { "column": 9, - "line": 146 + "line": 182 } } }, { - "id": "2543", + "id": "2763", + "mutatorName": "BooleanLiteral", + "replacement": "isPlayerPowerful(killedPlayer, game)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 4\n+ Received + 30\n\n@@ -88,10 +88,17 @@\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"ancient\",\n+ },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Willie\",\n \"position\": 1621093729173504,\n@@ -105,13 +112,24 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e55030098aca8f489cba95a7\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"ancient\",\n+ },\n+ ],\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Mariam\",\n \"position\": 8864322375647232,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n@@ -156,11 +174,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"1bf5991e7c0bdf6cc6d56f73\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"ancient\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Lemuel\",\n \"position\": 2883651815604224,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:940:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 6, + "static": false, + "killedBy": [ + "417" + ], + "coveredBy": [ + "417", + "418", + "419", + "420", + "421", + "422" + ], + "location": { + "end": { + "column": 98, + "line": 182 + }, + "start": { + "column": 61, + "line": 182 + } + } + }, + { + "id": "2764", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:767:73)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 5\n\n@@ -98,12 +98,15 @@\n },\n },\n Player {\n \"_id\": \"ddfcdb9a68e2a6bb51bfa42f\",\n \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Cassandre\",\n \"position\": 2001739507040256,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:924:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 2, "static": false, "killedBy": [ - "388" + "416" ], "coveredBy": [ - "388" + "416", + "417" ], "location": { "end": { "column": 6, - "line": 149 + "line": 184 }, "start": { - "column": 106, - "line": 146 + "column": 100, + "line": 182 } } }, { - "id": "2544", + "id": "2765", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 104, - "line": 150 + "column": 93, + "line": 185 }, "start": { "column": 9, - "line": 150 + "line": 185 } } }, { - "id": "2545", + "id": "2766", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 104, - "line": 150 + "column": 93, + "line": 185 }, "start": { "column": 9, - "line": 150 + "line": 185 } } }, { - "id": "2546", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:768:72)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "2767", + "mutatorName": "LogicalOperator", + "replacement": "ancientRevengeDeathCauses.includes(death.cause) || ancientOptions.doesTakeHisRevenge", + "status": "Timeout", "static": false, - "killedBy": [ - "388" - ], + "killedBy": [], "coveredBy": [ - "388" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 6, - "line": 153 + "column": 93, + "line": 185 }, "start": { - "column": 106, - "line": 150 + "column": 9, + "line": 185 } } }, { - "id": "2547", - "mutatorName": "ConditionalExpression", - "replacement": "true", + "id": "2768", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "420" ], "location": { "end": { - "column": 112, - "line": 154 + "column": 6, + "line": 188 }, "start": { - "column": 9, - "line": 154 + "column": 95, + "line": 185 } } }, { - "id": "2548", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:769:75)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2769", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(188,46): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "388" - ], + "killedBy": [], "coveredBy": [ - "339", - "387", - "388" + "420" ], "location": { "end": { - "column": 112, - "line": 154 + "column": 105, + "line": 186 }, "start": { - "column": 9, - "line": 154 + "column": 89, + "line": 186 } } }, { - "id": "2549", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2770", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "388" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 6, - "line": 156 + "column": 107, + "line": 190 }, "start": { - "column": 114, - "line": 154 + "column": 9, + "line": 190 } } }, { - "id": "2550", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(160,101): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2771", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 4, - "line": 168 + "column": 107, + "line": 190 }, "start": { - "column": 106, - "line": 160 + "column": 9, + "line": 190 } } }, { - "id": "2551", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(162,93): error TS2345: Argument of type '{}' is not assignable to parameter of type 'GetNearestPlayerOptions'.\n Property 'direction' is missing in type '{}' but required in type 'GetNearestPlayerOptions'.\n", + "id": "2772", + "mutatorName": "LogicalOperator", + "replacement": "idiotPlayer?.isAlive === true && idiotPlayer.role.isRevealed || idiotOptions.doesDieOnAncientDeath", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 149, - "line": 162 + "column": 107, + "line": 190 }, "start": { - "column": 93, - "line": 162 + "column": 9, + "line": 190 } } }, { - "id": "2552", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(162,95): error TS2322: Type '\"\"' is not assignable to type '\"left\" | \"right\"'.\n", + "id": "2773", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 112, - "line": 162 + "column": 69, + "line": 190 }, "start": { - "column": 106, - "line": 162 + "column": 9, + "line": 190 } } }, { - "id": "2553", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(166,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", + "id": "2774", + "mutatorName": "LogicalOperator", + "replacement": "idiotPlayer?.isAlive === true || idiotPlayer.role.isRevealed", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,42): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 78, - "line": 164 + "column": 69, + "line": 190 }, "start": { "column": 9, - "line": 163 + "line": 190 } } }, { - "id": "2554", + "id": "2775", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(166,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", + "replacement": "true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,17): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 78, - "line": 164 + "column": 38, + "line": 190 }, "start": { "column": 9, - "line": 163 + "line": 190 } } }, { - "id": "2555", - "mutatorName": "LogicalOperator", - "replacement": "(killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT || !isPlayerPowerful(killedPlayer, clonedGame) || death.cause !== PLAYER_DEATH_CAUSES.EATEN) && !leftAliveWerewolfNeighbor", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(166,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", + "id": "2776", + "mutatorName": "EqualityOperator", + "replacement": "idiotPlayer?.isAlive !== true", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,42): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 78, - "line": 164 + "column": 38, + "line": 190 }, "start": { "column": 9, - "line": 163 + "line": 190 } } }, { - "id": "2556", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2777", + "mutatorName": "OptionalChaining", + "replacement": "idiotPlayer.isAlive", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,9): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(191,41): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 48, - "line": 164 + "column": 29, + "line": 190 }, "start": { "column": 9, - "line": 163 + "line": 190 } } }, { - "id": "2557", - "mutatorName": "LogicalOperator", - "replacement": "(killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT || !isPlayerPowerful(killedPlayer, clonedGame)) && death.cause !== PLAYER_DEATH_CAUSES.EATEN", - "status": "Timeout", + "id": "2778", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1020:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 5, "static": false, - "killedBy": [], + "killedBy": [ + "422" + ], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "418", + "419", + "420", + "421", + "422" ], "location": { "end": { - "column": 48, - "line": 164 + "column": 38, + "line": 190 }, "start": { - "column": 9, - "line": 163 + "column": 34, + "line": 190 } } }, { - "id": "2558", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2779", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1020:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "422" + ], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "422" ], "location": { "end": { - "column": 115, - "line": 163 + "column": 6, + "line": 192 }, "start": { - "column": 9, - "line": 163 + "column": 109, + "line": 190 } } }, { - "id": "2559", - "mutatorName": "LogicalOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT && !isPlayerPowerful(killedPlayer, clonedGame)", - "status": "Timeout", + "id": "2780", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(196,71): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "423", + "424", + "425" ], "location": { "end": { - "column": 115, - "line": 163 + "column": 4, + "line": 202 }, "start": { - "column": 9, - "line": 163 + "column": 76, + "line": 196 } } }, { - "id": "2560", + "id": "2781", "mutatorName": "ConditionalExpression", - "replacement": "false", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "423", + "424", + "425" ], "location": { "end": { - "column": 68, - "line": 163 + "column": 97, + "line": 198 }, "start": { "column": 9, - "line": 163 + "line": 198 } } }, { - "id": "2561", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current === ROLE_NAMES.RUSTY_SWORD_KNIGHT", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -114,11 +114,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"cfad77cd976957a6b2fc1333\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"America\",\n \"position\": 8382547457212416,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:776:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 5, + "id": "2782", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "status": "Timeout", "static": false, - "killedBy": [ - "389" - ], + "killedBy": [], "coveredBy": [ - "389", - "390", - "391", - "392", - "393" + "423", + "424", + "425" ], "location": { "end": { - "column": 68, - "line": 163 + "column": 97, + "line": 198 }, "start": { "column": 9, - "line": 163 + "line": 198 } } }, { - "id": "2562", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(killedPlayer, clonedGame)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -105,11 +105,19 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"cb56175e6c54696bba4cfdfa\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Ludwig\",\n \"position\": 5333738152001536,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:799:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2783", + "mutatorName": "LogicalOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.HUNTER && !isPlayerPowerful(killedPlayer, game)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 698354136776704,\n \"turn\": 5466338160017408,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T23:55:52.805Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1044:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 3, "static": false, "killedBy": [ - "390" + "423" ], "coveredBy": [ - "390", - "391", - "392", - "393" + "423", + "424", + "425" ], "location": { "end": { - "column": 115, - "line": 163 + "column": 97, + "line": 198 }, "start": { - "column": 72, - "line": 163 + "column": 9, + "line": 198 } } }, { - "id": "2563", + "id": "2784", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -97,11 +97,19 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e269eecf8acd70fa4b4e5edd\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Jeffry\",\n \"position\": 6643579495645184,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:802:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 6865660338503680,\n \"turn\": 5790733600555008,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T03:36:32.439Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1034:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "391" + "423" ], "coveredBy": [ - "391", - "392", - "393" + "423", + "424", + "425" ], "location": { "end": { - "column": 48, - "line": 164 + "column": 56, + "line": 198 }, "start": { - "column": 7, - "line": 164 + "column": 9, + "line": 198 } } }, { - "id": "2564", + "id": "2785", "mutatorName": "EqualityOperator", - "replacement": "death.cause === PLAYER_DEATH_CAUSES.EATEN", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 9\n\n@@ -97,11 +97,19 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"2bcbd074031fd469bfc2efb9\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": undefined,\n+ \"name\": \"contaminated\",\n+ \"remainingPhases\": 2,\n+ \"source\": \"rusty-sword-knight\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Tremaine\",\n \"position\": 2292235339038720,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:802:100)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "killedPlayer.role.current === ROLE_NAMES.HUNTER", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 490866472910848,\n \"turn\": 7507308336644096,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T06:42:02.792Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1034:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "391" + "423" ], "coveredBy": [ - "391", - "392", - "393" + "423", + "424", + "425" ], "location": { "end": { - "column": 48, - "line": 164 + "column": 56, + "line": 198 }, "start": { - "column": 7, - "line": 164 + "column": 9, + "line": 198 } } }, { - "id": "2565", + "id": "2786", "mutatorName": "BooleanLiteral", - "replacement": "leftAliveWerewolfNeighbor", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(167,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", - "status": "CompileError", + "replacement": "isPlayerPowerful(killedPlayer, game)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -158,9 +158,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 276047293579264,\n \"turn\": 2472656418897920,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T04:40:54.795Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1056:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "424" + ], "coveredBy": [ - "392", - "393" + "424", + "425" ], "location": { "end": { - "column": 78, - "line": 164 + "column": 97, + "line": 198 }, "start": { - "column": 52, - "line": 164 + "column": 60, + "line": 198 } } }, { - "id": "2566", + "id": "2787", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(165,37): error TS18048: 'leftAliveWerewolfNeighbor' is possibly 'undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 5762506265985024,\n \"turn\": 783637490434048,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T12:07:46.593Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1044:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "423" + ], "coveredBy": [ - "389", - "390", - "391", - "392" + "423", + "424" ], "location": { "end": { "column": 6, - "line": 166 + "line": 200 }, "start": { - "column": 80, - "line": 164 + "column": 99, + "line": 198 } } }, { - "id": "2567", + "id": "2788", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(170,94): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(205,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "394", - "395", - "396", - "397" + "357", + "426", + "427", + "428", + "429", + "430" ], "location": { "end": { "column": 4, - "line": 176 + "line": 219 }, "start": { - "column": 99, - "line": 170 + "column": 100, + "line": 204 } } }, { - "id": "2568", + "id": "2789", "mutatorName": "ConditionalExpression", "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "394", - "395", - "396", - "397" + "357", + "426", + "427", + "428", + "429", + "430" ], "location": { "end": { - "column": 162, - "line": 172 + "column": 56, + "line": 206 }, "start": { "column": 9, - "line": 172 + "line": 206 } } }, { - "id": "2569", + "id": "2790", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 4509894617071616,\n \"turn\": 668276013137920,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T13:11:52.915Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:862:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "394" - ], - "coveredBy": [ - "394", - "395", - "396", - "397" - ], - "location": { - "end": { - "column": 162, - "line": 172 - }, - "start": { - "column": 9, - "line": 172 - } - } - }, - { - "id": "2570", - "mutatorName": "LogicalOperator", - "replacement": "(killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT || !isPlayerPowerful(killedPlayer, clonedGame)) && death.cause !== PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 1975209364029440,\n \"turn\": 2895392983220224,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T06:13:15.797Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:862:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "status": "Timeout", "static": false, - "killedBy": [ - "394" - ], + "killedBy": [], "coveredBy": [ - "394", - "395", - "396", - "397" + "357", + "426", + "427", + "428", + "429", + "430" ], "location": { "end": { - "column": 162, - "line": 172 + "column": 56, + "line": 206 }, "start": { "column": 9, - "line": 172 + "line": 206 } } }, { - "id": "2571", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2791", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.HUNTER", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(210,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.HUNTER' and 'ROLE_NAMES.ANCIENT' have no overlap.\nsrc/modules/game/providers/services/player/player-killer.service.ts(213,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.HUNTER' and 'ROLE_NAMES.SCAPEGOAT' have no overlap.\nsrc/modules/game/providers/services/player/player-killer.service.ts(216,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.HUNTER' and 'ROLE_NAMES.RUSTY_SWORD_KNIGHT' have no overlap.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "394", - "395", - "396", - "397" + "357", + "426", + "427", + "428", + "429", + "430" ], "location": { "end": { - "column": 106, - "line": 172 + "column": 56, + "line": 206 }, "start": { "column": 9, - "line": 172 + "line": 206 } } }, { - "id": "2572", - "mutatorName": "LogicalOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT && !isPlayerPowerful(killedPlayer, clonedGame)", + "id": "2792", + "mutatorName": "BlockStatement", + "replacement": "{}", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "394", - "395", - "396", - "397" + "427" ], "location": { "end": { - "column": 106, - "line": 172 + "column": 6, + "line": 208 }, "start": { - "column": 9, - "line": 172 + "column": 58, + "line": 206 } } }, { - "id": "2573", + "id": "2793", "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 3993796746412032,\n \"turn\": 5606265130582016,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T05:11:45.020Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:852:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "394" - ], - "coveredBy": [ - "394", - "395", - "396", - "397" - ], - "location": { - "end": { - "column": 59, - "line": 172 - }, - "start": { - "column": 9, - "line": 172 - } - } - }, - { - "id": "2574", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current === ROLE_NAMES.SCAPEGOAT", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 3378395125645312,\n \"turn\": 2004753689083904,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T12:35:01.311Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:852:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, - "static": false, - "killedBy": [ - "394" - ], - "coveredBy": [ - "394", - "395", - "396", - "397" - ], - "location": { - "end": { - "column": 59, - "line": 172 - }, - "start": { - "column": 9, - "line": 172 - } - } - }, - { - "id": "2575", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(killedPlayer, clonedGame)", + "replacement": "true", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "395", - "396", - "397" + "357", + "426", + "428", + "429", + "430" ], "location": { "end": { - "column": 106, - "line": 172 + "column": 57, + "line": 209 }, "start": { - "column": 63, - "line": 172 + "column": 9, + "line": 209 } } }, { - "id": "2576", + "id": "2794", "mutatorName": "ConditionalExpression", "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "396", - "397" + "357", + "426", + "428", + "429", + "430" ], "location": { "end": { - "column": 162, - "line": 172 + "column": 57, + "line": 209 }, "start": { - "column": 110, - "line": 172 + "column": 9, + "line": 209 } } }, { - "id": "2577", + "id": "2795", "mutatorName": "EqualityOperator", - "replacement": "death.cause === PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED", - "status": "Timeout", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.ANCIENT", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(213,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.ANCIENT' and 'ROLE_NAMES.SCAPEGOAT' have no overlap.\nsrc/modules/game/providers/services/player/player-killer.service.ts(216,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.ANCIENT' and 'ROLE_NAMES.RUSTY_SWORD_KNIGHT' have no overlap.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "396", - "397" + "357", + "426", + "428", + "429", + "430" ], "location": { "end": { - "column": 162, - "line": 172 + "column": 57, + "line": 209 }, "start": { - "column": 110, - "line": 172 + "column": 9, + "line": 209 } } }, { - "id": "2578", + "id": "2796", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 8164797929488384,\n \"turn\": 3426362115227648,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"ban-voting\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"scapegoat\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T16:42:23.784Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:862:93)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1119:67)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 1, "static": false, "killedBy": [ - "394" + "428" ], "coveredBy": [ - "394", - "395", - "396" + "428" ], "location": { "end": { "column": 6, - "line": 174 + "line": 211 }, "start": { - "column": 164, - "line": 172 + "column": 59, + "line": 209 } } }, { - "id": "2579", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(178,92): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2797", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"b8031dbdcdb3e112bbcd85bb\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T08:53:39.715Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 5}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1556408822661120}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bbbbeac6e4ffacb16bbd4fae\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Josianne\", \"position\": 4663275889360896, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"bc8505ea0d0ad1e53ceee6cb\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Holly\", \"position\": 1426959143796736, \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"db396cf2c0a4fed353161ff2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Maximilian\", \"position\": 5908663839490048, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"d2a7905ae0ef21c4faebecb9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Stone\", \"position\": 6183968638500864, \"role\": {\"current\": \"guard\", \"isRevealed\": false, \"original\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}], \"status\": \"playing\", \"tick\": 7257885211885568, \"turn\": 4642723241918464, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T19:47:00.433Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1085:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 4, "static": false, - "killedBy": [], + "killedBy": [ + "426" + ], "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" + "357", + "426", + "429", + "430" ], "location": { "end": { - "column": 4, - "line": 194 + "column": 59, + "line": 212 }, "start": { - "column": 97, - "line": 178 + "column": 9, + "line": 212 } } }, { - "id": "2580", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 18\n+ Received + 2\n\n@@ -97,19 +97,11 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"5abb9ebdc0b50f9c69f00c8f\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Serena\",\n \"position\": 5096064371654656,\n \"role\": PlayerRole {\n@@ -139,19 +131,11 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"da1476de3d851aa2cbed4f25\",\n- \"attributes\": Array [\n- PlayerAttribute {\n- \"activeAt\": undefined,\n- \"doesRemainAfterDeath\": true,\n- \"name\": \"powerless\",\n- \"remainingPhases\": undefined,\n- \"source\": \"ancient\",\n- },\n- ],\n+ \"attributes\": Array [],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Darby\",\n \"position\": 5083725054345216,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:982:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2798", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1136:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 4, "static": false, "killedBy": [ - "402" + "429" ], "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" + "357", + "426", + "429", + "430" ], "location": { "end": { - "column": 148, - "line": 180 + "column": 59, + "line": 212 }, "start": { - "column": 62, - "line": 180 + "column": 9, + "line": 212 } } }, { - "id": "2581", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(190,42): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(191,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2799", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(216,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.SCAPEGOAT' and 'ROLE_NAMES.RUSTY_SWORD_KNIGHT' have no overlap.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" + "357", + "426", + "429", + "430" ], "location": { "end": { - "column": 98, - "line": 182 + "column": 59, + "line": 212 }, "start": { "column": 9, - "line": 182 + "line": 212 } } }, { - "id": "2582", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 5\n\n@@ -98,12 +98,15 @@\n },\n },\n Player {\n \"_id\": \"6a2dbafdea3eca0ccad8bf26\",\n \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Lew\",\n \"position\": 6356731953152000,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:924:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2800", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1136:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 1, "static": false, "killedBy": [ - "398" + "429" ], "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" + "429" ], "location": { "end": { - "column": 98, - "line": 182 + "column": 6, + "line": 214 }, "start": { - "column": 9, - "line": 182 + "column": 61, + "line": 212 } } }, { - "id": "2583", - "mutatorName": "LogicalOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.ANCIENT && !isPlayerPowerful(killedPlayer, game)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 5\n\n@@ -98,12 +98,15 @@\n },\n },\n Player {\n \"_id\": \"fadc7bf84eaeb8aca59a3adb\",\n \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Samantha\",\n \"position\": 5513346570780672,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:924:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2801", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"f559c9f3b233c5daad3bdf9d\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T23:18:41.558Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 3188147695386624}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 1}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [{\"_id\": \"cb687fb056ecc2dbdb6aee14\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Elnora\", \"position\": 2749437227040768, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"4d6c3eda83c6d0c1ab4cc275\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Madaline\", \"position\": 4641030211108864, \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e1cbeba8ce85d085d8f920cb\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Friedrich\", \"position\": 5715989559771136, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"eabf9ad19abcaa571d6efa59\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Savanna\", \"position\": 5038096299065344, \"role\": {\"current\": \"guard\", \"isRevealed\": false, \"original\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}], \"status\": \"playing\", \"tick\": 2687139355557888, \"turn\": 7214645957885952, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T01:50:24.609Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1085:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, + "testsCompleted": 3, "static": false, "killedBy": [ - "398" + "426" ], "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" + "357", + "426", + "430" ], "location": { "end": { - "column": 98, - "line": 182 + "column": 68, + "line": 215 }, "start": { "column": 9, - "line": 182 + "line": 215 } } }, { - "id": "2584", + "id": "2802", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" - ], - "location": { - "end": { - "column": 57, - "line": 182 - }, - "start": { - "column": 9, - "line": 182 - } - } - }, - { - "id": "2585", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current === ROLE_NAMES.ANCIENT", - "status": "Timeout", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1153:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], - "coveredBy": [ - "398", - "399", - "400", - "401", - "402", - "403", - "404" + "killedBy": [ + "430" + ], + "coveredBy": [ + "357", + "426", + "430" ], "location": { "end": { - "column": 57, - "line": 182 + "column": 68, + "line": 215 }, "start": { "column": 9, - "line": 182 + "line": 215 } } }, { - "id": "2586", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(killedPlayer, game)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 4\n+ Received + 30\n\n@@ -88,10 +88,17 @@\n \"doesRemainAfterDeath\": true,\n \"name\": \"powerless\",\n \"remainingPhases\": undefined,\n \"source\": \"ancient\",\n },\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"ancient\",\n+ },\n ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Willie\",\n \"position\": 1621093729173504,\n@@ -105,13 +112,24 @@\n \"original\": \"villagers\",\n },\n },\n Player {\n \"_id\": \"e55030098aca8f489cba95a7\",\n- \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"ancient\",\n+ },\n+ ],\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Mariam\",\n \"position\": 8864322375647232,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n@@ -156,11 +174,19 @@\n \"original\": \"werewolves\",\n },\n },\n Player {\n \"_id\": \"1bf5991e7c0bdf6cc6d56f73\",\n- \"attributes\": Array [],\n+ \"attributes\": Array [\n+ PlayerAttribute {\n+ \"activeAt\": undefined,\n+ \"doesRemainAfterDeath\": true,\n+ \"name\": \"powerless\",\n+ \"remainingPhases\": undefined,\n+ \"source\": \"ancient\",\n+ },\n+ ],\n \"death\": undefined,\n \"isAlive\": true,\n \"name\": \"Lemuel\",\n \"position\": 2883651815604224,\n \"role\": PlayerRole {\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:940:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2803", + "mutatorName": "EqualityOperator", + "replacement": "killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"c22cb7bd3f4ef5be5e91dc48\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T18:55:51.681Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 8513705153134592}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 4}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"ead0ffffcccdc2a5b5e3f2b4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Imani\", \"position\": 8954689854898176, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"bb99e3f7cf32a6aa12ae7ffc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Madie\", \"position\": 4575581811245056, \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"60bf8f1ae8ef78abd0554792\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Agustina\", \"position\": 4754902521741312, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"ae05bac88cde8dd1befdd0e8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lisandro\", \"position\": 8190609156210688, \"role\": {\"current\": \"guard\", \"isRevealed\": false, \"original\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}], \"status\": \"canceled\", \"tick\": 6852751738798080, \"turn\": 2748516797513728, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T17:01:53.585Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1085:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 3, "static": false, "killedBy": [ - "399" + "426" ], "coveredBy": [ - "399", - "400", - "401", - "402", - "403", - "404" + "357", + "426", + "430" ], "location": { "end": { - "column": 98, - "line": 182 + "column": 68, + "line": 215 }, "start": { - "column": 61, - "line": 182 + "column": 9, + "line": 215 } } }, { - "id": "2587", + "id": "2804", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 5\n\n@@ -98,12 +98,15 @@\n },\n },\n Player {\n \"_id\": \"ddfcdb9a68e2a6bb51bfa42f\",\n \"attributes\": Array [],\n- \"death\": undefined,\n- \"isAlive\": true,\n+ \"death\": PlayerDeath {\n+ \"cause\": \"reconsider-pardon\",\n+ \"source\": \"all\",\n+ },\n+ \"isAlive\": false,\n \"name\": \"Cassandre\",\n \"position\": 2001739507040256,\n \"role\": PlayerRole {\n \"current\": \"idiot\",\n \"isRevealed\": true,\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:924:91)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1153:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "398" + "430" ], "coveredBy": [ - "398", - "399" + "430" ], "location": { "end": { "column": 6, - "line": 184 + "line": 217 }, "start": { - "column": 100, - "line": 182 + "column": 70, + "line": 215 } } }, { - "id": "2588", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2805", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(222,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "357", + "431" ], "location": { "end": { - "column": 93, - "line": 185 + "column": 4, + "line": 228 }, "start": { - "column": 9, - "line": 185 + "column": 96, + "line": 221 } } }, { - "id": "2589", - "mutatorName": "ConditionalExpression", - "replacement": "false", + "id": "2806", + "mutatorName": "StringLiteral", + "replacement": "\"\"", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "357", + "431" ], "location": { "end": { - "column": 93, - "line": 185 + "column": 103, + "line": 224 }, "start": { - "column": 9, - "line": 185 + "column": 77, + "line": 224 } } }, { - "id": "2590", - "mutatorName": "LogicalOperator", - "replacement": "ancientRevengeDeathCauses.includes(death.cause) || ancientOptions.doesTakeHisRevenge", - "status": "Timeout", + "id": "2807", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(225,105): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "357", + "431" ], "location": { "end": { - "column": 93, - "line": 185 + "column": 153, + "line": 224 }, "start": { - "column": 9, - "line": 185 + "column": 105, + "line": 224 } } }, { - "id": "2591", + "id": "2808", "mutatorName": "BlockStatement", "replacement": "{}", - "status": "Timeout", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(231,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "402" + "357", + "432" ], "location": { "end": { - "column": 6, - "line": 188 + "column": 4, + "line": 242 }, "start": { - "column": 95, - "line": 185 + "column": 82, + "line": 230 } } }, { - "id": "2592", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(188,46): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ObjectId[]'.\n Type 'undefined' is not assignable to type 'ObjectId'.\n", - "status": "CompileError", + "id": "2809", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "402" + "357", + "432" ], "location": { "end": { - "column": 105, - "line": 186 + "column": 89, + "line": 233 }, "start": { - "column": 89, - "line": 186 + "column": 77, + "line": 233 } } }, { - "id": "2593", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2810", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(234,91): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "357", + "432" ], "location": { "end": { - "column": 107, - "line": 190 + "column": 139, + "line": 233 }, "start": { - "column": 9, - "line": 190 + "column": 91, + "line": 233 } } }, { - "id": "2594", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2811", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "357", + "432" ], "location": { "end": { - "column": 107, - "line": 190 + "column": 39, + "line": 234 }, "start": { - "column": 9, - "line": 190 + "column": 34, + "line": 234 } } }, { - "id": "2595", - "mutatorName": "LogicalOperator", - "replacement": "idiotPlayer?.isAlive === true && idiotPlayer.role.isRevealed || idiotOptions.doesDieOnAncientDeath", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2812", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "357", + "432" ], "location": { "end": { - "column": 107, - "line": 190 + "column": 46, + "line": 235 }, "start": { - "column": 9, - "line": 190 + "column": 42, + "line": 235 } } }, { - "id": "2596", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2813", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(245,72): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "433", + "434" ], "location": { "end": { - "column": 69, - "line": 190 + "column": 4, + "line": 251 }, "start": { - "column": 9, - "line": 190 + "column": 79, + "line": 244 } } }, { - "id": "2597", - "mutatorName": "LogicalOperator", - "replacement": "idiotPlayer?.isAlive === true || idiotPlayer.role.isRevealed", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,42): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", + "id": "2814", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(247,130): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\nsrc/modules/game/providers/services/player/player-killer.service.ts(249,76): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "433", + "434" ], "location": { "end": { - "column": 69, - "line": 190 + "column": 67, + "line": 245 }, "start": { - "column": 9, - "line": 190 + "column": 37, + "line": 245 } } }, { - "id": "2598", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,17): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2815", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "433", + "434" ], "location": { "end": { - "column": 38, - "line": 190 + "column": 128, + "line": 246 }, "start": { - "column": 9, - "line": 190 + "column": 105, + "line": 246 } } }, { - "id": "2599", - "mutatorName": "EqualityOperator", - "replacement": "idiotPlayer?.isAlive !== true", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,42): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2816", + "mutatorName": "BooleanLiteral", + "replacement": "playerToKill.isAlive", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getPlayerToKillInGame\"\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1230:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "433" + ], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "433", + "434" ], "location": { "end": { - "column": 38, - "line": 190 + "column": 30, + "line": 247 }, "start": { "column": 9, - "line": 190 + "line": 247 } } }, { - "id": "2600", - "mutatorName": "OptionalChaining", - "replacement": "idiotPlayer.isAlive", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(191,9): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(191,41): error TS18048: 'idiotPlayer' is possibly 'undefined'.\nsrc/modules/game/providers/services/player/player-killer.service.ts(192,30): error TS2345: Argument of type 'Player | undefined' is not assignable to parameter of type 'Player'.\n Type 'undefined' is not assignable to type 'Player'.\n", - "status": "CompileError", + "id": "2817", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "UnexpectedException: Unexpected exception in getPlayerToKillInGame\n at createPlayerIsDeadUnexpectedException (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/shared/exception/helpers/unexpected-exception.factory.ts:81:12)\n at PlayerKillerService.getPlayerToKillInGame (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/player/player-killer.service.ts:542:54)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1243:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "434" + ], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "433", + "434" ], "location": { "end": { - "column": 29, - "line": 190 + "column": 30, + "line": 247 }, "start": { "column": 9, - "line": 190 + "line": 247 } } }, { - "id": "2601", - "mutatorName": "BooleanLiteral", + "id": "2818", + "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1020:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getPlayerToKillInGame\"\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1230:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 5, + "testsCompleted": 2, "static": false, "killedBy": [ - "404" + "433" ], "coveredBy": [ - "400", - "401", - "402", - "403", - "404" + "433", + "434" ], "location": { "end": { - "column": 38, - "line": 190 + "column": 30, + "line": 247 }, "start": { - "column": 34, - "line": 190 + "column": 9, + "line": 247 } } }, { - "id": "2602", + "id": "2819", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1020:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getPlayerToKillInGame\"\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1230:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 1, "static": false, "killedBy": [ - "404" + "433" ], "coveredBy": [ - "404" + "433" ], "location": { "end": { "column": 6, - "line": 192 + "line": 249 }, "start": { - "column": 109, - "line": 190 + "column": 32, + "line": 247 } } }, { - "id": "2603", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(196,71): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2820", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"getPlayerToKillInGame\", {\"gameId\": \"3587a78cd3fce4f2dcbba530\", \"playerId\": \"07cdfe4b6b73ee3b6cff876a\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1232:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], - "coveredBy": [ - "405", - "406", - "407" + "killedBy": [ + "433" ], - "location": { - "end": { - "column": 4, - "line": 202 - }, - "start": { - "column": 76, - "line": 196 - } - } - }, - { - "id": "2604", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "405", - "406", - "407" + "433" ], "location": { "end": { - "column": 97, - "line": 198 + "column": 74, + "line": 248 }, "start": { - "column": 9, - "line": 198 + "column": 51, + "line": 248 } } - }, + } + ], + "source": "import { Injectable } from \"@nestjs/common\";\nimport type { Types } from \"mongoose\";\nimport { createCantFindPlayerUnexpectedException, createPlayerIsDeadUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../role/enums/role.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from \"../../../enums/player.enum\";\nimport { createGamePlayHunterShoots, createGamePlayScapegoatBansVoting, createGamePlaySheriffDelegates } from \"../../../helpers/game-play/game-play.factory\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { getAliveVillagerSidedPlayers, getNearestAliveNeighbor, getPlayerWithCurrentRole, getPlayerWithIdOrThrow } from \"../../../helpers/game.helper\";\nimport { addPlayerAttributeInGame, addPlayersAttributeInGame, prependUpcomingPlayInGame, updatePlayerInGame } from \"../../../helpers/game.mutator\";\nimport { createCantVoteByAllPlayerAttribute, createContaminatedByRustySwordKnightPlayerAttribute, createPowerlessByAncientPlayerAttribute } from \"../../../helpers/player/player-attribute/player-attribute.factory\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { createPlayerBrokenHeartByCupidDeath, createPlayerDeath, createPlayerReconsiderPardonByAllDeath } from \"../../../helpers/player/player-death/player-death.factory\";\nimport { createPlayer } from \"../../../helpers/player/player.factory\";\nimport { isPlayerPowerful } from \"../../../helpers/player/player.helper\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerDeath } from \"../../../schemas/player/player-death.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { GameHistoryRecordService } from \"../game-history/game-history-record.service\";\n\n@Injectable()\nexport class PlayerKillerService {\n public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {}\n \n public async killOrRevealPlayer(playerId: Types.ObjectId, game: Game, death: PlayerDeath): Promise {\n const clonedGame = createGame(game);\n const playerToKill = this.getPlayerToKillInGame(playerId, clonedGame);\n if (await this.isPlayerKillable(playerToKill, clonedGame, death.cause)) {\n return this.killPlayer(playerToKill, clonedGame, death);\n }\n if (this.doesPlayerRoleMustBeRevealed(playerToKill, death, game)) {\n return this.revealPlayerRole(playerToKill, clonedGame);\n }\n return clonedGame;\n }\n\n public async isAncientKillable(game: Game, cause: PLAYER_DEATH_CAUSES): Promise {\n if (cause !== PLAYER_DEATH_CAUSES.EATEN) {\n return true;\n }\n const ancientLivesCountAgainstWerewolves = await this.getAncientLivesCountAgainstWerewolves(game);\n return ancientLivesCountAgainstWerewolves - 1 <= 0;\n }\n\n private applyPlayerRoleRevelationOutcomes(revealedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n if (revealedPlayer.role.current === ROLE_NAMES.IDIOT) {\n return addPlayerAttributeInGame(revealedPlayer._id, clonedGame, createCantVoteByAllPlayerAttribute());\n }\n return clonedGame;\n }\n\n private revealPlayerRole(playerToReveal: Player, game: Game): Game {\n let clonedGame = createGame(game);\n let clonedPlayerToReveal = createPlayer(playerToReveal);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"revealPlayerRole\", { gameId: game._id, playerId: playerToReveal._id });\n clonedPlayerToReveal.role.isRevealed = true;\n clonedGame = updatePlayerInGame(playerToReveal._id, clonedPlayerToReveal, clonedGame);\n clonedPlayerToReveal = getPlayerWithIdOrThrow(playerToReveal._id, clonedGame, cantFindPlayerException);\n return this.applyPlayerRoleRevelationOutcomes(clonedPlayerToReveal, clonedGame);\n }\n\n private doesPlayerRoleMustBeRevealed(playerToReveal: Player, death: PlayerDeath, game: Game): boolean {\n return !playerToReveal.role.isRevealed && playerToReveal.role.current === ROLE_NAMES.IDIOT &&\n isPlayerPowerful(playerToReveal, game) && death.cause === PLAYER_DEATH_CAUSES.VOTE;\n }\n\n private removePlayerAttributesAfterDeath(player: Player): Player {\n const clonedPlayer = createPlayer(player);\n clonedPlayer.attributes = clonedPlayer.attributes.filter(({ doesRemainAfterDeath }) => doesRemainAfterDeath === true);\n return clonedPlayer;\n }\n\n private async getAncientLivesCountAgainstWerewolves(game: Game): Promise {\n const { livesCountAgainstWerewolves } = game.options.roles.ancient;\n const werewolvesEatAncientRecords = await this.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords(game._id);\n const ancientProtectedFromWerewolvesRecords = await this.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords(game._id);\n return werewolvesEatAncientRecords.reduce((acc, werewolvesEatAncientRecord) => {\n const wasAncientProtectedFromWerewolves = !!ancientProtectedFromWerewolvesRecords.find(({ turn }) => turn === werewolvesEatAncientRecord.turn);\n if (!wasAncientProtectedFromWerewolves) {\n return acc - 1;\n }\n return acc;\n }, livesCountAgainstWerewolves);\n }\n\n private isIdiotKillable(idiotPlayer: Player, cause: PLAYER_DEATH_CAUSES, game: Game): boolean {\n const isIdiotPowerless = !isPlayerPowerful(idiotPlayer, game);\n return idiotPlayer.role.isRevealed || cause !== PLAYER_DEATH_CAUSES.VOTE || isIdiotPowerless;\n }\n\n private canPlayerBeEaten(eatenPlayer: Player, game: Game): boolean {\n const { isProtectedByGuard: isLittleGirlProtectedByGuard } = game.options.roles.littleGirl;\n const isPlayerSavedByWitch = doesPlayerHaveActiveAttributeWithName(eatenPlayer, PLAYER_ATTRIBUTE_NAMES.DRANK_LIFE_POTION, game);\n const isPlayerProtectedByGuard = doesPlayerHaveActiveAttributeWithName(eatenPlayer, PLAYER_ATTRIBUTE_NAMES.PROTECTED, game);\n return !isPlayerSavedByWitch && (!isPlayerProtectedByGuard || eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL && !isLittleGirlProtectedByGuard);\n }\n\n private async isPlayerKillable(player: Player, game: Game, cause: PLAYER_DEATH_CAUSES): Promise {\n if (cause === PLAYER_DEATH_CAUSES.EATEN && !this.canPlayerBeEaten(player, game)) {\n return false;\n }\n if (player.role.current === ROLE_NAMES.IDIOT) {\n return this.isIdiotKillable(player, cause, game);\n }\n if (player.role.current === ROLE_NAMES.ANCIENT) {\n return this.isAncientKillable(game, cause);\n }\n return true;\n }\n\n private applyWorshipedPlayerDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n const wildChildPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.WILD_CHILD);\n if (!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) ||\n wildChildPlayer === undefined || !wildChildPlayer.isAlive || !isPlayerPowerful(wildChildPlayer, clonedGame)) {\n return clonedGame;\n }\n wildChildPlayer.side.current = ROLE_SIDES.WEREWOLVES;\n return updatePlayerInGame(wildChildPlayer._id, wildChildPlayer, clonedGame);\n }\n\n private applyInLovePlayerDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n const otherLoverFinder = (player: Player): boolean => doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game) &&\n player.isAlive && player._id !== killedPlayer._id;\n const otherPlayerInLove = clonedGame.players.find(otherLoverFinder);\n if (!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame) || !otherPlayerInLove) {\n return clonedGame;\n }\n return this.killPlayer(otherPlayerInLove, clonedGame, createPlayerBrokenHeartByCupidDeath());\n }\n\n private applySheriffPlayerDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n if (!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, game) ||\n killedPlayer.role.current === ROLE_NAMES.IDIOT && isPlayerPowerful(killedPlayer, clonedGame)) {\n return clonedGame;\n }\n return prependUpcomingPlayInGame(createGamePlaySheriffDelegates(), clonedGame);\n }\n\n private applyPlayerAttributesDeathOutcomes(killedPlayer: Player, game: Game): Game {\n let clonedGame = createGame(game);\n let clonedKilledPlayer = createPlayer(killedPlayer);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"applyPlayerAttributesDeathOutcomes\", { gameId: game._id, playerId: killedPlayer._id });\n if (doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, clonedGame)) {\n clonedGame = this.applySheriffPlayerDeathOutcomes(clonedKilledPlayer, clonedGame);\n clonedKilledPlayer = getPlayerWithIdOrThrow(clonedKilledPlayer._id, clonedGame, cantFindPlayerException);\n }\n if (doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame)) {\n clonedGame = this.applyInLovePlayerDeathOutcomes(clonedKilledPlayer, clonedGame);\n clonedKilledPlayer = getPlayerWithIdOrThrow(clonedKilledPlayer._id, clonedGame, cantFindPlayerException);\n }\n if (doesPlayerHaveActiveAttributeWithName(clonedKilledPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame)) {\n clonedGame = this.applyWorshipedPlayerDeathOutcomes(clonedKilledPlayer, clonedGame);\n }\n return clonedGame;\n }\n\n private applyRustySwordKnightDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n const clonedGame = createGame(game);\n const leftAliveWerewolfNeighbor = getNearestAliveNeighbor(killedPlayer._id, clonedGame, { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES });\n if (killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT || !isPlayerPowerful(killedPlayer, clonedGame) ||\n death.cause !== PLAYER_DEATH_CAUSES.EATEN || !leftAliveWerewolfNeighbor) {\n return clonedGame;\n }\n return addPlayerAttributeInGame(leftAliveWerewolfNeighbor._id, clonedGame, createContaminatedByRustySwordKnightPlayerAttribute());\n }\n\n private applyScapegoatDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n const clonedGame = createGame(game);\n if (killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT || !isPlayerPowerful(killedPlayer, clonedGame) || death.cause !== PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED) {\n return clonedGame;\n }\n return prependUpcomingPlayInGame(createGamePlayScapegoatBansVoting(), clonedGame);\n }\n\n private applyAncientDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n let clonedGame = createGame(game);\n const ancientRevengeDeathCauses: PLAYER_DEATH_CAUSES[] = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.SHOT, PLAYER_DEATH_CAUSES.DEATH_POTION];\n const { idiot: idiotOptions, ancient: ancientOptions } = clonedGame.options.roles;\n if (killedPlayer.role.current !== ROLE_NAMES.ANCIENT || !isPlayerPowerful(killedPlayer, game)) {\n return clonedGame;\n }\n if (ancientRevengeDeathCauses.includes(death.cause) && ancientOptions.doesTakeHisRevenge) {\n const aliveVillagerSidedPlayersIds = getAliveVillagerSidedPlayers(clonedGame).map(({ _id }) => _id);\n clonedGame = addPlayersAttributeInGame(aliveVillagerSidedPlayersIds, clonedGame, createPowerlessByAncientPlayerAttribute());\n }\n const idiotPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.IDIOT);\n if (idiotPlayer?.isAlive === true && idiotPlayer.role.isRevealed && idiotOptions.doesDieOnAncientDeath) {\n return this.killPlayer(idiotPlayer, clonedGame, createPlayerReconsiderPardonByAllDeath());\n }\n return clonedGame;\n }\n\n private applyHunterDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n if (killedPlayer.role.current !== ROLE_NAMES.HUNTER || !isPlayerPowerful(killedPlayer, game)) {\n return clonedGame;\n }\n return prependUpcomingPlayInGame(createGamePlayHunterShoots(), clonedGame);\n }\n\n private applyPlayerRoleDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n const clonedGame = createGame(game);\n if (killedPlayer.role.current === ROLE_NAMES.HUNTER) {\n return this.applyHunterDeathOutcomes(killedPlayer, clonedGame);\n }\n if (killedPlayer.role.current === ROLE_NAMES.ANCIENT) {\n return this.applyAncientDeathOutcomes(killedPlayer, clonedGame, death);\n }\n if (killedPlayer.role.current === ROLE_NAMES.SCAPEGOAT) {\n return this.applyScapegoatDeathOutcomes(killedPlayer, clonedGame, death);\n }\n if (killedPlayer.role.current === ROLE_NAMES.RUSTY_SWORD_KNIGHT) {\n return this.applyRustySwordKnightDeathOutcomes(killedPlayer, clonedGame, death);\n }\n return clonedGame;\n }\n\n private applyPlayerDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n let clonedGame = createGame(game);\n let clonedPlayerToKill = createPlayer(killedPlayer);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"applyPlayerDeathOutcomes\", { gameId: game._id, playerId: killedPlayer._id });\n clonedGame = this.applyPlayerRoleDeathOutcomes(clonedPlayerToKill, clonedGame, death);\n clonedPlayerToKill = getPlayerWithIdOrThrow(clonedPlayerToKill._id, clonedGame, cantFindPlayerException);\n return this.applyPlayerAttributesDeathOutcomes(clonedPlayerToKill, clonedGame);\n }\n\n private killPlayer(playerToKill: Player, game: Game, death: PlayerDeath): Game {\n let clonedGame = createGame(game);\n let clonedPlayerToKill = createPlayer(playerToKill);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"killPlayer\", { gameId: game._id, playerId: playerToKill._id });\n clonedPlayerToKill.isAlive = false;\n clonedPlayerToKill.role.isRevealed = true;\n clonedPlayerToKill.death = createPlayerDeath(death);\n clonedGame = updatePlayerInGame(clonedPlayerToKill._id, clonedPlayerToKill, clonedGame);\n clonedPlayerToKill = getPlayerWithIdOrThrow(clonedPlayerToKill._id, clonedGame, cantFindPlayerException);\n clonedGame = this.applyPlayerDeathOutcomes(clonedPlayerToKill, clonedGame, death);\n clonedPlayerToKill = getPlayerWithIdOrThrow(clonedPlayerToKill._id, clonedGame, cantFindPlayerException);\n return updatePlayerInGame(clonedPlayerToKill._id, this.removePlayerAttributesAfterDeath(clonedPlayerToKill), clonedGame);\n }\n\n private getPlayerToKillInGame(playerId: Types.ObjectId, game: Game): Player {\n const exceptionInterpolations = { gameId: game._id, playerId };\n const playerToKill = getPlayerWithIdOrThrow(playerId, game, createCantFindPlayerUnexpectedException(\"getPlayerToKillInGame\", exceptionInterpolations));\n if (!playerToKill.isAlive) {\n throw createPlayerIsDeadUnexpectedException(\"getPlayerToKillInGame\", exceptionInterpolations);\n }\n return playerToKill;\n }\n}" + }, + "src/modules/game/types/game-with-current-play.ts": { + "language": "typescript", + "mutants": [ { - "id": "2605", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "405", - "406", - "407" - ], + "id": "2821", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 97, - "line": 198 + "column": 65, + "line": 6 }, "start": { - "column": 9, - "line": 198 + "column": 50, + "line": 6 } } }, { - "id": "2606", - "mutatorName": "LogicalOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.HUNTER && !isPlayerPowerful(killedPlayer, game)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"over\",\n \"tick\": 698354136776704,\n \"turn\": 5466338160017408,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T23:55:52.805Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1044:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, - "static": false, - "killedBy": [ - "405" - ], - "coveredBy": [ - "405", - "406", - "407" - ], + "id": "2822", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", + "status": "Ignored", + "static": true, + "coveredBy": [], "location": { "end": { - "column": 97, - "line": 198 + "column": 64, + "line": 6 }, "start": { - "column": 9, - "line": 198 + "column": 51, + "line": 6 } } - }, + } + ], + "source": "import { OmitType } from \"@nestjs/swagger\";\nimport { Expose, Type } from \"class-transformer\";\nimport { GamePlay } from \"../schemas/game-play/game-play.schema\";\nimport { Game } from \"../schemas/game.schema\";\n\nclass GameWithCurrentPlay extends OmitType(Game, [\"currentPlay\"]) {\n @Type(() => GamePlay)\n @Expose()\n public currentPlay: GamePlay;\n}\n\nexport { GameWithCurrentPlay };" + }, + "src/modules/health/controllers/health.controller.ts": { + "language": "typescript", + "mutants": [ { - "id": "2607", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 6865660338503680,\n \"turn\": 5790733600555008,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T03:36:32.439Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1034:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "id": "2823", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/health/controllers/health.controller.ts(21,26): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "405" - ], + "killedBy": [], "coveredBy": [ - "405", - "406", - "407" + "1025" ], "location": { "end": { - "column": 56, - "line": 198 + "column": 4, + "line": 23 }, "start": { - "column": 9, - "line": 198 + "column": 53, + "line": 21 } } }, { - "id": "2608", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current === ROLE_NAMES.HUNTER", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 490866472910848,\n \"turn\": 7507308336644096,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-12T06:42:02.792Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1034:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2824", + "mutatorName": "ArrayDeclaration", + "replacement": "[]", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n Object {\n- \"details\": Object {\n- \"mongoose\": Object {\n- \"status\": \"up\",\n- },\n- },\n+ \"details\": Object {},\n \"error\": Object {},\n- \"info\": Object {\n- \"mongoose\": Object {\n- \"status\": \"up\",\n- },\n- },\n+ \"info\": Object {},\n \"status\": \"ok\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/health/controllers/health.controller.e2e-spec.ts:29:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 1, "static": false, "killedBy": [ - "405" + "1025" ], "coveredBy": [ - "405", - "406", - "407" + "1025" ], "location": { "end": { - "column": 56, - "line": 198 + "column": 110, + "line": 22 }, "start": { - "column": 9, - "line": 198 + "column": 30, + "line": 22 } } }, { - "id": "2609", - "mutatorName": "BooleanLiteral", - "replacement": "isPlayerPowerful(killedPlayer, game)", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -158,9 +158,18 @@\n },\n ],\n \"status\": \"playing\",\n \"tick\": 276047293579264,\n \"turn\": 2472656418897920,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-18T04:40:54.795Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1056:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2825", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "src/modules/health/controllers/health.controller.ts(22,37): error TS2322: Type 'undefined' is not assignable to type 'HealthIndicatorResult | PromiseLike'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "406" - ], + "killedBy": [], "coveredBy": [ - "406", - "407" + "1025" ], "location": { "end": { - "column": 97, - "line": 198 + "column": 109, + "line": 22 }, "start": { - "column": 60, - "line": 198 + "column": 31, + "line": 22 } } }, { - "id": "2610", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 10\n\n@@ -150,9 +150,18 @@\n },\n ],\n \"status\": \"canceled\",\n \"tick\": 5762506265985024,\n \"turn\": 783637490434048,\n- \"upcomingPlays\": Array [],\n+ \"upcomingPlays\": Array [\n+ GamePlay {\n+ \"action\": \"shoot\",\n+ \"cause\": undefined,\n+ \"source\": GamePlaySource {\n+ \"name\": \"hunter\",\n+ \"players\": undefined,\n+ },\n+ },\n+ ],\n \"updatedAt\": 2023-08-17T12:07:46.593Z,\n \"victory\": undefined,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1044:83)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2826", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n Object {\n \"details\": Object {\n- \"mongoose\": Object {\n+ \"\": Object {\n \"status\": \"up\",\n },\n },\n \"error\": Object {},\n \"info\": Object {\n- \"mongoose\": Object {\n+ \"\": Object {\n \"status\": \"up\",\n },\n },\n \"status\": \"ok\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/health/controllers/health.controller.e2e-spec.ts:29:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 1, "static": false, "killedBy": [ - "405" + "1025" ], "coveredBy": [ - "405", - "406" + "1025" ], "location": { "end": { - "column": 6, - "line": 200 + "column": 108, + "line": 22 }, "start": { - "column": 99, - "line": 198 + "column": 98, + "line": 22 } } - }, + } + ], + "source": "import { Controller, Get } from \"@nestjs/common\";\nimport { ApiOperation, ApiTags } from \"@nestjs/swagger\";\nimport type { HealthCheckResult, HealthIndicatorResult } from \"@nestjs/terminus\";\nimport { HealthCheck, HealthCheckService, MongooseHealthIndicator } from \"@nestjs/terminus\";\nimport { API_RESOURCES } from \"../../../shared/api/enums/api.enum\";\n\n@ApiTags(\"❤️ Health\")\n@Controller(API_RESOURCES.HEALTH)\nexport class HealthController {\n public constructor(\n private readonly health: HealthCheckService,\n private readonly mongoose: MongooseHealthIndicator,\n ) {}\n\n @Get()\n @ApiOperation({\n summary: \"Get health's status of the API\",\n description: \"The health will be defined against the MongoDB connection instance\",\n })\n @HealthCheck()\n private async check(): Promise {\n return this.health.check([async(): Promise => this.mongoose.pingCheck(\"mongoose\")]);\n }\n}" + }, + "src/modules/role/controllers/role.controller.ts": { + "language": "typescript", + "mutants": [ { - "id": "2611", + "id": "2827", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(205,95): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/modules/role/controllers/role.controller.ts(13,23): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "408", - "409", - "410", - "411", - "412" + "1024" ], "location": { "end": { "column": 4, - "line": 219 + "line": 15 }, "start": { - "column": 100, - "line": 204 + "column": 39, + "line": 13 } } - }, + } + ], + "source": "import { Controller, Get, HttpStatus } from \"@nestjs/common\";\nimport { ApiOperation, ApiResponse, ApiTags } from \"@nestjs/swagger\";\nimport { API_RESOURCES } from \"../../../shared/api/enums/api.enum\";\nimport { roles } from \"../constants/role.constant\";\nimport { Role } from \"../types/role.type\";\n\n@ApiTags(\"🃏 Roles\")\n@Controller(API_RESOURCES.ROLES)\nexport class RoleController {\n @Get()\n @ApiOperation({ summary: \"Get all available roles for games\" })\n @ApiResponse({ status: HttpStatus.OK, type: Role, isArray: true })\n private getRoles(): readonly Role[] {\n return roles;\n }\n}" + }, + "src/modules/role/helpers/role.factory.ts": { + "language": "typescript", + "mutants": [ { - "id": "2612", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", + "id": "2828", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/role/helpers/role.factory.ts(6,34): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "408", - "409", - "410", - "411", - "412" + "1047" ], "location": { "end": { - "column": 56, - "line": 206 + "column": 2, + "line": 8 }, "start": { - "column": 9, - "line": 206 + "column": 39, + "line": 6 } } - }, + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../shared/validation/constants/validation.constant\";\nimport { Role } from \"../types/role.type\";\n\nfunction createRole(role: Role): Role {\n return plainToInstance(Role, toJSON(role), plainToInstanceDefaultOptions);\n}\n\nexport { createRole };" + }, + "src/modules/role/helpers/role.helper.ts": { + "language": "typescript", + "mutants": [ { - "id": "2613", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", + "id": "2829", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/modules/role/helpers/role.helper.ts(4,61): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "408", - "409", - "410", - "411", - "412" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738", + "1003", + "1004" ], "location": { "end": { - "column": 56, - "line": 206 + "column": 2, + "line": 6 }, "start": { - "column": 9, - "line": 206 + "column": 68, + "line": 4 } } }, { - "id": "2614", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.HUNTER", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(210,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.HUNTER' and 'ROLE_NAMES.ANCIENT' have no overlap.\nsrc/modules/game/providers/services/player/player-killer.service.ts(213,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.HUNTER' and 'ROLE_NAMES.SCAPEGOAT' have no overlap.\nsrc/modules/game/providers/services/player/player-killer.service.ts(216,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.HUNTER' and 'ROLE_NAMES.RUSTY_SWORD_KNIGHT' have no overlap.\n", - "status": "CompileError", + "id": "2830", + "mutatorName": "MethodExpression", + "replacement": "roles", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "727" + ], "coveredBy": [ - "339", - "408", - "409", - "410", - "411", - "412" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738", + "1003", + "1004" ], "location": { "end": { - "column": 56, - "line": 206 + "column": 50, + "line": 5 }, "start": { - "column": 9, - "line": 206 + "column": 10, + "line": 5 } } }, { - "id": "2615", - "mutatorName": "BlockStatement", - "replacement": "{}", - "status": "Timeout", + "id": "2831", + "mutatorName": "ArrowFunction", + "replacement": "() => undefined", + "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"pied-piper\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:67:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, "static": false, - "killedBy": [], + "killedBy": [ + "734" + ], "coveredBy": [ - "409" + "493", + "727", + "728", + "729", + "730", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738", + "1003", + "1004" ], "location": { "end": { - "column": 6, - "line": 208 + "column": 49, + "line": 5 }, "start": { - "column": 58, - "line": 206 + "column": 23, + "line": 5 } } }, { - "id": "2616", + "id": "2832", "mutatorName": "ConditionalExpression", "replacement": "true", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 12\n\n@@ -5,10 +5,22 @@\n \"side\": \"werewolves\",\n \"type\": \"werewolf\",\n },\n Object {\n \"maxInGame\": 1,\n+ \"name\": \"villager\",\n+ \"side\": \"villagers\",\n+ \"type\": \"villager\",\n+ },\n+ Object {\n+ \"maxInGame\": 1,\n+ \"name\": \"pied-piper\",\n+ \"side\": \"villagers\",\n+ \"type\": \"ambiguous\",\n+ },\n+ Object {\n+ \"maxInGame\": 1,\n \"name\": \"white-werewolf\",\n \"side\": \"werewolves\",\n \"type\": \"werewolf\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/role/helpers/role.helper.spec.ts:16:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "1003" + ], "coveredBy": [ - "339", - "408", - "410", - "411", - "412" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738", + "1003", + "1004" ], "location": { "end": { - "column": 57, - "line": 209 + "column": 49, + "line": 5 }, "start": { - "column": 9, - "line": 209 + "column": 31, + "line": 5 } } }, { - "id": "2617", + "id": "2833", "mutatorName": "ConditionalExpression", "replacement": "false", - "status": "Timeout", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 14\n+ Received + 1\n\n- Array [\n- Object {\n- \"maxInGame\": 1,\n- \"name\": \"werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n- },\n- Object {\n- \"maxInGame\": 1,\n- \"name\": \"white-werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/role/helpers/role.helper.spec.ts:16:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, - "killedBy": [], + "killedBy": [ + "1003" + ], "coveredBy": [ - "339", - "408", - "410", - "411", - "412" + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738", + "1003", + "1004" ], "location": { "end": { - "column": 57, - "line": 209 + "column": 49, + "line": 5 }, "start": { - "column": 9, - "line": 209 + "column": 31, + "line": 5 } } }, { - "id": "2618", + "id": "2834", "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.ANCIENT", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(213,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.ANCIENT' and 'ROLE_NAMES.SCAPEGOAT' have no overlap.\nsrc/modules/game/providers/services/player/player-killer.service.ts(216,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.ANCIENT' and 'ROLE_NAMES.RUSTY_SWORD_KNIGHT' have no overlap.\n", - "status": "CompileError", + "replacement": "role.side !== side", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 6\n\n Array [\n Object {\n \"maxInGame\": 1,\n- \"name\": \"werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n+ \"name\": \"villager\",\n+ \"side\": \"villagers\",\n+ \"type\": \"villager\",\n },\n Object {\n \"maxInGame\": 1,\n- \"name\": \"white-werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n+ \"name\": \"pied-piper\",\n+ \"side\": \"villagers\",\n+ \"type\": \"ambiguous\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/role/helpers/role.helper.spec.ts:16:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 13, "static": false, + "killedBy": [ + "1003" + ], + "coveredBy": [ + "493", + "727", + "728", + "729", + "730", + "731", + "734", + "735", + "736", + "737", + "738", + "1003", + "1004" + ], + "location": { + "end": { + "column": 49, + "line": 5 + }, + "start": { + "column": 31, + "line": 5 + } + } + } + ], + "source": "import type { ROLE_SIDES } from \"../enums/role.enum\";\nimport type { Role } from \"../types/role.type\";\n\nfunction getRolesWithSide(roles: Role[], side: ROLE_SIDES): Role[] {\n return roles.filter(role => role.side === side);\n}\n\nexport { getRolesWithSide };" + }, + "src/server/helpers/server.helper.ts": { + "language": "typescript", + "mutants": [ + { + "id": "2835", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/server/helpers/server.helper.ts(4,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", + "static": true, "killedBy": [], "coveredBy": [ - "339", - "408", - "410", - "411", - "412" + "482", + "483", + "484", + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "494", + "495", + "496", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "1024", + "1025", + "1050", + "1051" ], "location": { "end": { - "column": 57, - "line": 209 + "column": 2, + "line": 10 }, "start": { - "column": 9, - "line": 209 + "column": 68, + "line": 4 } } }, { - "id": "2619", - "mutatorName": "BlockStatement", + "id": "2836", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1119:67)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players must contain no more than 40 elements\"\nReceived array: [\"players.name must be shorter than or equal to 30 characters\", \"players.name must be longer than or equal to 1 characters\", \"players.name must be a string\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:169:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, - "static": false, + "testsCompleted": 49, + "static": true, "killedBy": [ - "410" + "486" ], "coveredBy": [ - "410" + "482", + "483", + "484", + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "494", + "495", + "496", + "497", + "498", + "499", + "500", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "510", + "511", + "512", + "513", + "514", + "515", + "516", + "517", + "518", + "519", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "1024", + "1025", + "1050", + "1051" ], "location": { "end": { - "column": 6, - "line": 211 + "column": 4, + "line": 8 }, "start": { - "column": 59, - "line": 209 + "column": 39, + "line": 5 } } - }, + } + ], + "source": "import type { IParseOptions } from \"qs\";\nimport { parse } from \"qs\";\n\nfunction queryStringParser(query: string): Record {\n const parseOptions: IParseOptions = {\n arrayLimit: 100,\n parameterLimit: 3000,\n };\n return parse(query, parseOptions);\n}\n\nexport { queryStringParser };" + }, + "src/server/server.ts": { + "language": "typescript", + "mutants": [ { - "id": "2620", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"b8031dbdcdb3e112bbcd85bb\", \"additionalCards\": undefined, \"createdAt\": 2023-08-12T08:53:39.715Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": false}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 5}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": true}, \"fox\": {\"isPowerlessIfMissesWerewolf\": true}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 5, \"isPowerlessIfInfected\": true}, \"raven\": {\"markPenalty\": 5}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"night\", \"turn\": 1556408822661120}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 5, \"mustChooseBetweenWerewolves\": true}, \"threeBrothers\": {\"wakingUpInterval\": 1}, \"twoSisters\": {\"wakingUpInterval\": 0}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"day\", \"players\": [{\"_id\": \"bbbbeac6e4ffacb16bbd4fae\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Josianne\", \"position\": 4663275889360896, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"bc8505ea0d0ad1e53ceee6cb\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Holly\", \"position\": 1426959143796736, \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"db396cf2c0a4fed353161ff2\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Maximilian\", \"position\": 5908663839490048, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"d2a7905ae0ef21c4faebecb9\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Stone\", \"position\": 6183968638500864, \"role\": {\"current\": \"guard\", \"isRevealed\": false, \"original\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}], \"status\": \"playing\", \"tick\": 7257885211885568, \"turn\": 4642723241918464, \"upcomingPlays\": [], \"updatedAt\": 2023-08-11T19:47:00.433Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1085:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 4, + "id": "2837", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/server/server.ts(10,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "408" - ], + "killedBy": [], "coveredBy": [ - "339", - "408", - "411", - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 59, - "line": 212 + "column": 2, + "line": 24 }, "start": { - "column": 9, - "line": 212 + "column": 72, + "line": 10 } } }, { - "id": "2621", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1136:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2838", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:110:42)", "status": "Killed", - "testsCompleted": 4, + "testsCompleted": 6, "static": false, "killedBy": [ - "411" + "930" ], "coveredBy": [ - "339", - "408", - "411", - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 59, - "line": 212 + "column": 35, + "line": 13 }, "start": { - "column": 9, - "line": 212 + "column": 29, + "line": 13 } } }, { - "id": "2622", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(216,9): error TS2367: This comparison appears to be unintentional because the types 'ROLE_NAMES.SCAPEGOAT' and 'ROLE_NAMES.RUSTY_SWORD_KNIGHT' have no overlap.\n", + "id": "2839", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "src/server/server.ts(15,23): error TS2345: Argument of type '{}' is not assignable to parameter of type 'FastifyStaticOptions'.\n Property 'root' is missing in type '{}' but required in type 'FastifyStaticOptions'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "408", - "411", - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 59, - "line": 212 + "column": 4, + "line": 18 }, "start": { - "column": 9, - "line": 212 + "column": 23, + "line": 15 } } }, { - "id": "2623", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1136:69)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2840", + "mutatorName": "StringLiteral", + "replacement": "``", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"prefix\": \"/public/\", \"root\": \"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/public\"}], but it was called with {\"prefix\": \"/public/\", \"root\": \"\"}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:98:70)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 6, "static": false, "killedBy": [ - "411" + "929" ], "coveredBy": [ - "411" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 6, - "line": 214 + "column": 36, + "line": 16 }, "start": { - "column": 61, - "line": 212 + "column": 11, + "line": 16 } } }, { - "id": "2624", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"f559c9f3b233c5daad3bdf9d\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T23:18:41.558Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": false, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": false}, \"doSkipCallIfNoTarget\": true, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": false}, \"idiot\": {\"doesDieOnAncientDeath\": true}, \"littleGirl\": {\"isProtectedByGuard\": false}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 3, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 2}, \"seer\": {\"canSeeRoles\": true, \"isTalkative\": true}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 3188147695386624}, \"hasDoubledVote\": false, \"isEnabled\": false}, \"stutteringJudge\": {\"voteRequestsCount\": 2}, \"thief\": {\"additionalCardsCount\": 4, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 2}, \"twoSisters\": {\"wakingUpInterval\": 1}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": true}}, \"votes\": {\"canBeSkipped\": false}}, \"phase\": \"night\", \"players\": [{\"_id\": \"cb687fb056ecc2dbdb6aee14\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Elnora\", \"position\": 2749437227040768, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"4d6c3eda83c6d0c1ab4cc275\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Madaline\", \"position\": 4641030211108864, \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"e1cbeba8ce85d085d8f920cb\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Friedrich\", \"position\": 5715989559771136, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"eabf9ad19abcaa571d6efa59\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Savanna\", \"position\": 5038096299065344, \"role\": {\"current\": \"guard\", \"isRevealed\": false, \"original\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}], \"status\": \"playing\", \"tick\": 2687139355557888, \"turn\": 7214645957885952, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T01:50:24.609Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1085:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2841", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"prefix\": \"/public/\", \"root\": \"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/public\"}], but it was called with {\"prefix\": \"\", \"root\": \"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/public\"}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:98:70)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "408" + "929" ], "coveredBy": [ - "339", - "408", - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 68, - "line": 215 + "column": 23, + "line": 17 }, "start": { - "column": 9, - "line": 215 + "column": 13, + "line": 17 } } }, { - "id": "2625", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1153:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2842", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [3000, \"127.0.0.1\"], but it was called with 3000\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:73:61)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "412" + "926" ], "coveredBy": [ - "339", - "408", - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 68, - "line": 215 + "column": 37, + "line": 19 }, "start": { - "column": 9, - "line": 215 + "column": 26, + "line": 19 } } }, { - "id": "2626", - "mutatorName": "EqualityOperator", - "replacement": "killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\nExpected: {\"_id\": \"c22cb7bd3f4ef5be5e91dc48\", \"additionalCards\": undefined, \"createdAt\": 2023-08-11T18:55:51.681Z, \"currentPlay\": null, \"options\": {\"composition\": {\"isHidden\": true}, \"roles\": {\"ancient\": {\"doesTakeHisRevenge\": true, \"livesCountAgainstWerewolves\": 3}, \"areRevealedOnDeath\": false, \"bearTamer\": {\"doesGrowlIfInfected\": true}, \"bigBadWolf\": {\"isPowerlessIfWerewolfDies\": true}, \"doSkipCallIfNoTarget\": false, \"dogWolf\": {\"isChosenSideRevealed\": false}, \"fox\": {\"isPowerlessIfMissesWerewolf\": false}, \"guard\": {\"canProtectTwice\": true}, \"idiot\": {\"doesDieOnAncientDeath\": false}, \"littleGirl\": {\"isProtectedByGuard\": true}, \"piedPiper\": {\"charmedPeopleCountPerNight\": 1, \"isPowerlessIfInfected\": false}, \"raven\": {\"markPenalty\": 4}, \"seer\": {\"canSeeRoles\": false, \"isTalkative\": false}, \"sheriff\": {\"electedAt\": {\"phase\": \"day\", \"turn\": 8513705153134592}, \"hasDoubledVote\": true, \"isEnabled\": true}, \"stutteringJudge\": {\"voteRequestsCount\": 3}, \"thief\": {\"additionalCardsCount\": 3, \"mustChooseBetweenWerewolves\": false}, \"threeBrothers\": {\"wakingUpInterval\": 4}, \"twoSisters\": {\"wakingUpInterval\": 4}, \"whiteWerewolf\": {\"wakingUpInterval\": 2}, \"wildChild\": {\"isTransformationRevealed\": false}}, \"votes\": {\"canBeSkipped\": true}}, \"phase\": \"night\", \"players\": [{\"_id\": \"ead0ffffcccdc2a5b5e3f2b4\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Imani\", \"position\": 8954689854898176, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"bb99e3f7cf32a6aa12ae7ffc\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Madie\", \"position\": 4575581811245056, \"role\": {\"current\": \"hunter\", \"isRevealed\": false, \"original\": \"hunter\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}, {\"_id\": \"60bf8f1ae8ef78abd0554792\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Agustina\", \"position\": 4754902521741312, \"role\": {\"current\": \"werewolf\", \"isRevealed\": false, \"original\": \"werewolf\"}, \"side\": {\"current\": \"werewolves\", \"original\": \"werewolves\"}}, {\"_id\": \"ae05bac88cde8dd1befdd0e8\", \"attributes\": [], \"death\": undefined, \"isAlive\": true, \"name\": \"Lisandro\", \"position\": 8190609156210688, \"role\": {\"current\": \"guard\", \"isRevealed\": false, \"original\": \"guard\"}, \"side\": {\"current\": \"villagers\", \"original\": \"villagers\"}}], \"status\": \"canceled\", \"tick\": 6852751738798080, \"turn\": 2748516797513728, \"upcomingPlays\": [], \"updatedAt\": 2023-08-12T17:01:53.585Z, \"victory\": undefined}\nReceived: undefined\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1085:94)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2843", + "mutatorName": "StringLiteral", + "replacement": "``", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\nReceived\n 1: \"\", \"NestApplication\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:109:42)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 6, "static": false, "killedBy": [ - "408" + "930" ], "coveredBy": [ - "339", - "408", - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 68, - "line": 215 + "column": 48, + "line": 21 }, "start": { - "column": 9, - "line": 215 + "column": 14, + "line": 21 } } }, { - "id": "2627", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1153:76)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2844", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:109:42)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 6, "static": false, "killedBy": [ - "412" + "930" ], "coveredBy": [ - "412" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 6, - "line": 217 + "column": 67, + "line": 21 }, "start": { - "column": 70, - "line": 215 + "column": 50, + "line": 21 } } }, { - "id": "2628", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(222,91): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2845", + "mutatorName": "StringLiteral", + "replacement": "``", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\n 2: \"\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:110:42)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], + "killedBy": [ + "930" + ], "coveredBy": [ - "339", - "413" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 4, - "line": 228 + "column": 83, + "line": 22 }, "start": { - "column": 96, - "line": 221 + "column": 14, + "line": 22 } } }, { - "id": "2629", + "id": "2846", "mutatorName": "StringLiteral", "replacement": "\"\"", - "status": "Timeout", + "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:110:42)", + "status": "Killed", + "testsCompleted": 6, "static": false, - "killedBy": [], - "coveredBy": [ - "339", - "413" + "killedBy": [ + "930" ], - "location": { - "end": { - "column": 103, - "line": 224 - }, - "start": { - "column": 77, - "line": 224 - } - } - }, - { - "id": "2630", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(225,105): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", - "status": "CompileError", - "static": false, - "killedBy": [], "coveredBy": [ - "339", - "413" + "925", + "926", + "927", + "928", + "929", + "930" ], "location": { "end": { - "column": 153, - "line": 224 + "column": 102, + "line": 22 }, "start": { - "column": 105, - "line": 224 + "column": 85, + "line": 22 } } - }, + } + ], + "source": "import { Logger, ValidationPipe } from \"@nestjs/common\";\nimport { NestFactory } from \"@nestjs/core\";\nimport type { NestFastifyApplication } from \"@nestjs/platform-fastify\";\nimport { FastifyAdapter } from \"@nestjs/platform-fastify\";\nimport { AppModule } from \"../app.module\";\nimport { validationPipeDefaultOptions } from \"../shared/validation/constants/validation.constant\";\nimport { fastifyServerDefaultOptions } from \"./constants/server.constant\";\nimport { createSwaggerDocument } from \"./swagger/swagger\";\n\nasync function bootstrap(port = 3000): Promise {\n const app = await NestFactory.create(AppModule, new FastifyAdapter(fastifyServerDefaultOptions));\n app.useGlobalPipes(new ValidationPipe(validationPipeDefaultOptions));\n const documentationPath = \"docs\";\n createSwaggerDocument(documentationPath, app);\n app.useStaticAssets({\n root: `${process.cwd()}/public`,\n prefix: \"/public/\",\n });\n await app.listen(port, \"127.0.0.1\");\n const appUrl = await app.getUrl();\n Logger.log(`🐺 App is available at ${appUrl}`, \"NestApplication\");\n Logger.log(`📖 API Documentation is available at ${appUrl}/${documentationPath}`, \"NestApplication\");\n return app;\n}\n\nexport { bootstrap };" + }, + "src/server/swagger/swagger.ts": { + "language": "typescript", + "mutants": [ { - "id": "2631", + "id": "2847", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(231,77): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:49:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "931" + ], "coveredBy": [ - "339", - "414" + "931", + "932", + "933" ], "location": { "end": { - "column": 4, - "line": 242 + "column": 2, + "line": 20 }, "start": { - "column": 82, - "line": 230 + "column": 75, + "line": 5 } } }, { - "id": "2632", + "id": "2848", "mutatorName": "StringLiteral", "replacement": "\"\"", - "status": "Timeout", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Werewolves Assistant API Reference 🐺\"], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:49:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "931" + ], "coveredBy": [ - "339", - "414" + "931", + "932", + "933" ], "location": { "end": { - "column": 89, - "line": 233 + "column": 56, + "line": 6 }, "start": { - "column": 77, - "line": 233 + "column": 17, + "line": 6 } } }, { - "id": "2633", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(234,91): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", + "id": "2849", + "mutatorName": "LogicalOperator", + "replacement": "process.env.npm_package_version && \"?\"", + "statusReason": "src/server/swagger/swagger.ts(11,17): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.\n Type 'undefined' is not assignable to type 'string'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "339", - "414" + "931", + "932", + "933" ], "location": { "end": { - "column": 139, - "line": 233 + "column": 57, + "line": 7 }, "start": { - "column": 91, - "line": 233 + "column": 19, + "line": 7 } } }, { - "id": "2634", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "status": "Timeout", + "id": "2850", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"?\"], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:62:48)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], - "coveredBy": [ - "339", - "414" + "killedBy": [ + "932" ], - "location": { - "end": { - "column": 39, - "line": 234 - }, - "start": { - "column": 34, - "line": 234 - } - } - }, - { - "id": "2635", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], "coveredBy": [ - "339", - "414" + "932" ], "location": { "end": { - "column": 46, - "line": 235 + "column": 57, + "line": 7 }, "start": { - "column": 42, - "line": 235 + "column": 54, + "line": 7 } } }, { - "id": "2636", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(245,72): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2851", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.\"], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:50:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "931" + ], "coveredBy": [ - "415", - "416" + "931", + "932", + "933" ], "location": { "end": { - "column": 4, - "line": 251 + "column": 133, + "line": 10 }, "start": { - "column": 79, - "line": 244 + "column": 21, + "line": 10 } } }, { - "id": "2637", + "id": "2852", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "src/modules/game/providers/services/player/player-killer.service.ts(247,130): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\nsrc/modules/game/providers/services/player/player-killer.service.ts(249,76): error TS2345: Argument of type '{}' is not assignable to parameter of type '{ gameId: ObjectId; playerId: ObjectId; }'.\n Type '{}' is missing the following properties from type '{ gameId: ObjectId; playerId: ObjectId; }': gameId, playerId\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"docs\", {}, undefined, {\"customCssUrl\": \"public/assets/css/custom-swagger.css\", \"customSiteTitle\": \"Werewolves Assistant API Reference 🐺\", \"customfavIcon\": \"public/assets/images/logo/square/werewolves-logo-small.png\"}], but it was called with \"docs\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:77:41)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 3, "static": false, - "killedBy": [], + "killedBy": [ + "933" + ], "coveredBy": [ - "415", - "416" + "931", + "932", + "933" ], "location": { "end": { - "column": 67, - "line": 245 + "column": 4, + "line": 18 }, "start": { - "column": 37, - "line": 245 + "column": 41, + "line": 14 } } }, { - "id": "2638", + "id": "2853", "mutatorName": "StringLiteral", "replacement": "\"\"", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "415", - "416" - ], - "location": { - "end": { - "column": 128, - "line": 246 - }, - "start": { - "column": 105, - "line": 246 - } - } - }, - { - "id": "2639", - "mutatorName": "BooleanLiteral", - "replacement": "playerToKill.isAlive", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getPlayerToKillInGame\"\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1230:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"docs\", {}, undefined, {\"customCssUrl\": \"public/assets/css/custom-swagger.css\", \"customSiteTitle\": \"Werewolves Assistant API Reference 🐺\", \"customfavIcon\": \"public/assets/images/logo/square/werewolves-logo-small.png\"}], but it was called with \"docs\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:77:41)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "415" + "933" ], "coveredBy": [ - "415", - "416" + "931", + "932", + "933" ], "location": { "end": { - "column": 30, - "line": 247 + "column": 80, + "line": 16 }, "start": { - "column": 9, - "line": 247 + "column": 20, + "line": 16 } } }, { - "id": "2640", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "UnexpectedException: Unexpected exception in getPlayerToKillInGame\n at createPlayerIsDeadUnexpectedException (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/shared/exception/helpers/unexpected-exception.factory.ts:81:12)\n at PlayerKillerService.getPlayerToKillInGame (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/src/modules/game/providers/services/player/player-killer.service.ts:542:54)\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1243:60)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2854", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"docs\", {}, undefined, {\"customCssUrl\": \"public/assets/css/custom-swagger.css\", \"customSiteTitle\": \"Werewolves Assistant API Reference 🐺\", \"customfavIcon\": \"public/assets/images/logo/square/werewolves-logo-small.png\"}], but it was called with \"docs\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:77:41)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 2, + "testsCompleted": 3, "static": false, "killedBy": [ - "416" + "933" ], "coveredBy": [ - "415", - "416" + "931", + "932", + "933" ], "location": { "end": { - "column": 30, - "line": 247 + "column": 57, + "line": 17 }, "start": { - "column": 9, - "line": 247 + "column": 19, + "line": 17 } } - }, + } + ], + "source": "import type { INestApplication } from \"@nestjs/common\";\nimport type { SwaggerCustomOptions } from \"@nestjs/swagger\";\nimport { DocumentBuilder, SwaggerModule } from \"@nestjs/swagger\";\n\nfunction createSwaggerDocument(path: string, app: INestApplication): void {\n const title = \"Werewolves Assistant API Reference 🐺\";\n const version = process.env.npm_package_version ?? \"?\";\n const config = new DocumentBuilder()\n .setTitle(title)\n .setDescription(\"Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.\")\n .setVersion(version)\n .build();\n const document = SwaggerModule.createDocument(app, config);\n const options: SwaggerCustomOptions = {\n customSiteTitle: title,\n customfavIcon: \"public/assets/images/logo/square/werewolves-logo-small.png\",\n customCssUrl: \"public/assets/css/custom-swagger.css\",\n };\n SwaggerModule.setup(path, app, document, options);\n}\n\nexport { createSwaggerDocument };" + }, + "src/shared/api/helpers/api.helper.ts": { + "language": "typescript", + "mutants": [ { - "id": "2641", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getPlayerToKillInGame\"\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1230:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, + "id": "2855", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/api/helpers/api.helper.ts(3,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "415" - ], + "killedBy": [], "coveredBy": [ - "415", - "416" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 30, - "line": 247 + "column": 2, + "line": 12 }, "start": { - "column": 9, - "line": 247 + "column": 67, + "line": 3 } } }, { - "id": "2642", - "mutatorName": "BlockStatement", + "id": "2856", + "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "Error: expect(received).toThrow(expected)\n\nExpected message: \"Unexpected exception in getPlayerToKillInGame\"\n\nReceived function did not throw\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1230:90)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "statusReason": "src/shared/api/helpers/api.helper.ts(4,9): error TS2739: Type '{}' is missing the following properties from type 'Record': games, players, \"game-additional-cards\", roles, health\n", + "status": "CompileError", "static": false, - "killedBy": [ - "415" - ], + "killedBy": [], "coveredBy": [ - "415" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 6, - "line": 249 + "column": 4, + "line": 10 }, "start": { - "column": 32, - "line": 247 + "column": 64, + "line": 4 } } }, { - "id": "2643", + "id": "2857", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"getPlayerToKillInGame\", {\"gameId\": \"3587a78cd3fce4f2dcbba530\", \"playerId\": \"07cdfe4b6b73ee3b6cff876a\"}], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts:1232:57)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"Game with id \\\"e9c9d8e0dc6ffe9cf992bcbb\\\" not found\"\nReceived: \" with id \\\"e9c9d8e0dc6ffe9cf992bcbb\\\" not found\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:250:58)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 18, "static": false, "killedBy": [ - "415" + "495" ], "coveredBy": [ - "415" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 74, - "line": 248 - }, - "start": { - "column": 51, - "line": 248 - } - } - } - ], - "source": "import { Injectable } from \"@nestjs/common\";\nimport type { Types } from \"mongoose\";\nimport { createCantFindPlayerUnexpectedException, createPlayerIsDeadUnexpectedException } from \"../../../../../shared/exception/helpers/unexpected-exception.factory\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../role/enums/role.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_DEATH_CAUSES } from \"../../../enums/player.enum\";\nimport { createGamePlayHunterShoots, createGamePlayScapegoatBansVoting, createGamePlaySheriffDelegates } from \"../../../helpers/game-play/game-play.factory\";\nimport { createGame } from \"../../../helpers/game.factory\";\nimport { getAliveVillagerSidedPlayers, getNearestAliveNeighbor, getPlayerWithCurrentRole, getPlayerWithIdOrThrow } from \"../../../helpers/game.helper\";\nimport { addPlayerAttributeInGame, addPlayersAttributeInGame, prependUpcomingPlayInGame, updatePlayerInGame } from \"../../../helpers/game.mutator\";\nimport { createCantVoteByAllPlayerAttribute, createContaminatedByRustySwordKnightPlayerAttribute, createPowerlessByAncientPlayerAttribute } from \"../../../helpers/player/player-attribute/player-attribute.factory\";\nimport { doesPlayerHaveActiveAttributeWithName } from \"../../../helpers/player/player-attribute/player-attribute.helper\";\nimport { createPlayerBrokenHeartByCupidDeath, createPlayerDeath, createPlayerReconsiderPardonByAllDeath } from \"../../../helpers/player/player-death/player-death.factory\";\nimport { createPlayer } from \"../../../helpers/player/player.factory\";\nimport { isPlayerPowerful } from \"../../../helpers/player/player.helper\";\nimport type { Game } from \"../../../schemas/game.schema\";\nimport type { PlayerDeath } from \"../../../schemas/player/player-death.schema\";\nimport type { Player } from \"../../../schemas/player/player.schema\";\nimport { GameHistoryRecordService } from \"../game-history/game-history-record.service\";\n\n@Injectable()\nexport class PlayerKillerService {\n public constructor(private readonly gameHistoryRecordService: GameHistoryRecordService) {}\n \n public async killOrRevealPlayer(playerId: Types.ObjectId, game: Game, death: PlayerDeath): Promise {\n const clonedGame = createGame(game);\n const playerToKill = this.getPlayerToKillInGame(playerId, clonedGame);\n if (await this.isPlayerKillable(playerToKill, clonedGame, death.cause)) {\n return this.killPlayer(playerToKill, clonedGame, death);\n }\n if (this.doesPlayerRoleMustBeRevealed(playerToKill, death, game)) {\n return this.revealPlayerRole(playerToKill, clonedGame);\n }\n return clonedGame;\n }\n\n public async isAncientKillable(game: Game, cause: PLAYER_DEATH_CAUSES): Promise {\n if (cause !== PLAYER_DEATH_CAUSES.EATEN) {\n return true;\n }\n const ancientLivesCountAgainstWerewolves = await this.getAncientLivesCountAgainstWerewolves(game);\n return ancientLivesCountAgainstWerewolves - 1 <= 0;\n }\n\n private applyPlayerRoleRevelationOutcomes(revealedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n if (revealedPlayer.role.current === ROLE_NAMES.IDIOT) {\n return addPlayerAttributeInGame(revealedPlayer._id, clonedGame, createCantVoteByAllPlayerAttribute());\n }\n return clonedGame;\n }\n\n private revealPlayerRole(playerToReveal: Player, game: Game): Game {\n let clonedGame = createGame(game);\n let clonedPlayerToReveal = createPlayer(playerToReveal);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"revealPlayerRole\", { gameId: game._id, playerId: playerToReveal._id });\n clonedPlayerToReveal.role.isRevealed = true;\n clonedGame = updatePlayerInGame(playerToReveal._id, clonedPlayerToReveal, clonedGame);\n clonedPlayerToReveal = getPlayerWithIdOrThrow(playerToReveal._id, clonedGame, cantFindPlayerException);\n return this.applyPlayerRoleRevelationOutcomes(clonedPlayerToReveal, clonedGame);\n }\n\n private doesPlayerRoleMustBeRevealed(playerToReveal: Player, death: PlayerDeath, game: Game): boolean {\n return !playerToReveal.role.isRevealed && playerToReveal.role.current === ROLE_NAMES.IDIOT &&\n isPlayerPowerful(playerToReveal, game) && death.cause === PLAYER_DEATH_CAUSES.VOTE;\n }\n\n private removePlayerAttributesAfterDeath(player: Player): Player {\n const clonedPlayer = createPlayer(player);\n clonedPlayer.attributes = clonedPlayer.attributes.filter(({ doesRemainAfterDeath }) => doesRemainAfterDeath === true);\n return clonedPlayer;\n }\n\n private async getAncientLivesCountAgainstWerewolves(game: Game): Promise {\n const { livesCountAgainstWerewolves } = game.options.roles.ancient;\n const werewolvesEatAncientRecords = await this.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords(game._id);\n const ancientProtectedFromWerewolvesRecords = await this.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords(game._id);\n return werewolvesEatAncientRecords.reduce((acc, werewolvesEatAncientRecord) => {\n const wasAncientProtectedFromWerewolves = !!ancientProtectedFromWerewolvesRecords.find(({ turn }) => turn === werewolvesEatAncientRecord.turn);\n if (!wasAncientProtectedFromWerewolves) {\n return acc - 1;\n }\n return acc;\n }, livesCountAgainstWerewolves);\n }\n\n private isIdiotKillable(idiotPlayer: Player, cause: PLAYER_DEATH_CAUSES, game: Game): boolean {\n const isIdiotPowerless = !isPlayerPowerful(idiotPlayer, game);\n return idiotPlayer.role.isRevealed || cause !== PLAYER_DEATH_CAUSES.VOTE || isIdiotPowerless;\n }\n\n private canPlayerBeEaten(eatenPlayer: Player, game: Game): boolean {\n const { isProtectedByGuard: isLittleGirlProtectedByGuard } = game.options.roles.littleGirl;\n const isPlayerSavedByWitch = doesPlayerHaveActiveAttributeWithName(eatenPlayer, PLAYER_ATTRIBUTE_NAMES.DRANK_LIFE_POTION, game);\n const isPlayerProtectedByGuard = doesPlayerHaveActiveAttributeWithName(eatenPlayer, PLAYER_ATTRIBUTE_NAMES.PROTECTED, game);\n return !isPlayerSavedByWitch && (!isPlayerProtectedByGuard || eatenPlayer.role.current === ROLE_NAMES.LITTLE_GIRL && !isLittleGirlProtectedByGuard);\n }\n\n private async isPlayerKillable(player: Player, game: Game, cause: PLAYER_DEATH_CAUSES): Promise {\n if (cause === PLAYER_DEATH_CAUSES.EATEN && !this.canPlayerBeEaten(player, game)) {\n return false;\n }\n if (player.role.current === ROLE_NAMES.IDIOT) {\n return this.isIdiotKillable(player, cause, game);\n }\n if (player.role.current === ROLE_NAMES.ANCIENT) {\n return this.isAncientKillable(game, cause);\n }\n return true;\n }\n\n private applyWorshipedPlayerDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n const wildChildPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.WILD_CHILD);\n if (!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame) ||\n wildChildPlayer === undefined || !wildChildPlayer.isAlive || !isPlayerPowerful(wildChildPlayer, clonedGame)) {\n return clonedGame;\n }\n wildChildPlayer.side.current = ROLE_SIDES.WEREWOLVES;\n return updatePlayerInGame(wildChildPlayer._id, wildChildPlayer, clonedGame);\n }\n\n private applyInLovePlayerDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n const otherLoverFinder = (player: Player): boolean => doesPlayerHaveActiveAttributeWithName(player, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, game) &&\n player.isAlive && player._id !== killedPlayer._id;\n const otherPlayerInLove = clonedGame.players.find(otherLoverFinder);\n if (!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame) || !otherPlayerInLove) {\n return clonedGame;\n }\n return this.killPlayer(otherPlayerInLove, clonedGame, createPlayerBrokenHeartByCupidDeath());\n }\n\n private applySheriffPlayerDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n if (!doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, game) ||\n killedPlayer.role.current === ROLE_NAMES.IDIOT && isPlayerPowerful(killedPlayer, clonedGame)) {\n return clonedGame;\n }\n return prependUpcomingPlayInGame(createGamePlaySheriffDelegates(), clonedGame);\n }\n\n private applyPlayerAttributesDeathOutcomes(killedPlayer: Player, game: Game): Game {\n let clonedGame = createGame(game);\n let clonedKilledPlayer = createPlayer(killedPlayer);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"applyPlayerAttributesDeathOutcomes\", { gameId: game._id, playerId: killedPlayer._id });\n if (doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.SHERIFF, clonedGame)) {\n clonedGame = this.applySheriffPlayerDeathOutcomes(clonedKilledPlayer, clonedGame);\n clonedKilledPlayer = getPlayerWithIdOrThrow(clonedKilledPlayer._id, clonedGame, cantFindPlayerException);\n }\n if (doesPlayerHaveActiveAttributeWithName(killedPlayer, PLAYER_ATTRIBUTE_NAMES.IN_LOVE, clonedGame)) {\n clonedGame = this.applyInLovePlayerDeathOutcomes(clonedKilledPlayer, clonedGame);\n clonedKilledPlayer = getPlayerWithIdOrThrow(clonedKilledPlayer._id, clonedGame, cantFindPlayerException);\n }\n if (doesPlayerHaveActiveAttributeWithName(clonedKilledPlayer, PLAYER_ATTRIBUTE_NAMES.WORSHIPED, clonedGame)) {\n clonedGame = this.applyWorshipedPlayerDeathOutcomes(clonedKilledPlayer, clonedGame);\n }\n return clonedGame;\n }\n\n private applyRustySwordKnightDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n const clonedGame = createGame(game);\n const leftAliveWerewolfNeighbor = getNearestAliveNeighbor(killedPlayer._id, clonedGame, { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES });\n if (killedPlayer.role.current !== ROLE_NAMES.RUSTY_SWORD_KNIGHT || !isPlayerPowerful(killedPlayer, clonedGame) ||\n death.cause !== PLAYER_DEATH_CAUSES.EATEN || !leftAliveWerewolfNeighbor) {\n return clonedGame;\n }\n return addPlayerAttributeInGame(leftAliveWerewolfNeighbor._id, clonedGame, createContaminatedByRustySwordKnightPlayerAttribute());\n }\n\n private applyScapegoatDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n const clonedGame = createGame(game);\n if (killedPlayer.role.current !== ROLE_NAMES.SCAPEGOAT || !isPlayerPowerful(killedPlayer, clonedGame) || death.cause !== PLAYER_DEATH_CAUSES.VOTE_SCAPEGOATED) {\n return clonedGame;\n }\n return prependUpcomingPlayInGame(createGamePlayScapegoatBansVoting(), clonedGame);\n }\n\n private applyAncientDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n let clonedGame = createGame(game);\n const ancientRevengeDeathCauses: PLAYER_DEATH_CAUSES[] = [PLAYER_DEATH_CAUSES.VOTE, PLAYER_DEATH_CAUSES.SHOT, PLAYER_DEATH_CAUSES.DEATH_POTION];\n const { idiot: idiotOptions, ancient: ancientOptions } = clonedGame.options.roles;\n if (killedPlayer.role.current !== ROLE_NAMES.ANCIENT || !isPlayerPowerful(killedPlayer, game)) {\n return clonedGame;\n }\n if (ancientRevengeDeathCauses.includes(death.cause) && ancientOptions.doesTakeHisRevenge) {\n const aliveVillagerSidedPlayersIds = getAliveVillagerSidedPlayers(clonedGame).map(({ _id }) => _id);\n clonedGame = addPlayersAttributeInGame(aliveVillagerSidedPlayersIds, clonedGame, createPowerlessByAncientPlayerAttribute());\n }\n const idiotPlayer = getPlayerWithCurrentRole(clonedGame, ROLE_NAMES.IDIOT);\n if (idiotPlayer?.isAlive === true && idiotPlayer.role.isRevealed && idiotOptions.doesDieOnAncientDeath) {\n return this.killPlayer(idiotPlayer, clonedGame, createPlayerReconsiderPardonByAllDeath());\n }\n return clonedGame;\n }\n\n private applyHunterDeathOutcomes(killedPlayer: Player, game: Game): Game {\n const clonedGame = createGame(game);\n if (killedPlayer.role.current !== ROLE_NAMES.HUNTER || !isPlayerPowerful(killedPlayer, game)) {\n return clonedGame;\n }\n return prependUpcomingPlayInGame(createGamePlayHunterShoots(), clonedGame);\n }\n\n private applyPlayerRoleDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n const clonedGame = createGame(game);\n if (killedPlayer.role.current === ROLE_NAMES.HUNTER) {\n return this.applyHunterDeathOutcomes(killedPlayer, clonedGame);\n }\n if (killedPlayer.role.current === ROLE_NAMES.ANCIENT) {\n return this.applyAncientDeathOutcomes(killedPlayer, clonedGame, death);\n }\n if (killedPlayer.role.current === ROLE_NAMES.SCAPEGOAT) {\n return this.applyScapegoatDeathOutcomes(killedPlayer, clonedGame, death);\n }\n if (killedPlayer.role.current === ROLE_NAMES.RUSTY_SWORD_KNIGHT) {\n return this.applyRustySwordKnightDeathOutcomes(killedPlayer, clonedGame, death);\n }\n return clonedGame;\n }\n\n private applyPlayerDeathOutcomes(killedPlayer: Player, game: Game, death: PlayerDeath): Game {\n let clonedGame = createGame(game);\n let clonedPlayerToKill = createPlayer(killedPlayer);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"applyPlayerDeathOutcomes\", { gameId: game._id, playerId: killedPlayer._id });\n clonedGame = this.applyPlayerRoleDeathOutcomes(clonedPlayerToKill, clonedGame, death);\n clonedPlayerToKill = getPlayerWithIdOrThrow(clonedPlayerToKill._id, clonedGame, cantFindPlayerException);\n return this.applyPlayerAttributesDeathOutcomes(clonedPlayerToKill, clonedGame);\n }\n\n private killPlayer(playerToKill: Player, game: Game, death: PlayerDeath): Game {\n let clonedGame = createGame(game);\n let clonedPlayerToKill = createPlayer(playerToKill);\n const cantFindPlayerException = createCantFindPlayerUnexpectedException(\"killPlayer\", { gameId: game._id, playerId: playerToKill._id });\n clonedPlayerToKill.isAlive = false;\n clonedPlayerToKill.role.isRevealed = true;\n clonedPlayerToKill.death = createPlayerDeath(death);\n clonedGame = updatePlayerInGame(clonedPlayerToKill._id, clonedPlayerToKill, clonedGame);\n clonedPlayerToKill = getPlayerWithIdOrThrow(clonedPlayerToKill._id, clonedGame, cantFindPlayerException);\n clonedGame = this.applyPlayerDeathOutcomes(clonedPlayerToKill, clonedGame, death);\n clonedPlayerToKill = getPlayerWithIdOrThrow(clonedPlayerToKill._id, clonedGame, cantFindPlayerException);\n return updatePlayerInGame(clonedPlayerToKill._id, this.removePlayerAttributesAfterDeath(clonedPlayerToKill), clonedGame);\n }\n\n private getPlayerToKillInGame(playerId: Types.ObjectId, game: Game): Player {\n const exceptionInterpolations = { gameId: game._id, playerId };\n const playerToKill = getPlayerWithIdOrThrow(playerId, game, createCantFindPlayerUnexpectedException(\"getPlayerToKillInGame\", exceptionInterpolations));\n if (!playerToKill.isAlive) {\n throw createPlayerIsDeadUnexpectedException(\"getPlayerToKillInGame\", exceptionInterpolations);\n }\n return playerToKill;\n }\n}" - }, - "src/modules/game/types/game-with-current-play.ts": { - "language": "typescript", - "mutants": [ - { - "id": "2644", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], - "location": { - "end": { - "column": 65, - "line": 6 + "column": 34, + "line": 5 }, "start": { - "column": 50, - "line": 6 + "column": 28, + "line": 5 } } }, { - "id": "2645", + "id": "2858", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Static mutant (and \"ignoreStatic\" was enabled)", - "status": "Ignored", - "static": true, - "coveredBy": [], - "location": { - "end": { - "column": 64, - "line": 6 - }, - "start": { - "column": 51, - "line": 6 - } - } - } - ], - "source": "import { OmitType } from \"@nestjs/swagger\";\nimport { Expose, Type } from \"class-transformer\";\nimport { GamePlay } from \"../schemas/game-play/game-play.schema\";\nimport { Game } from \"../schemas/game.schema\";\n\nclass GameWithCurrentPlay extends OmitType(Game, [\"currentPlay\"]) {\n @Type(() => GamePlay)\n @Expose()\n public currentPlay: GamePlay;\n}\n\nexport { GameWithCurrentPlay };" - }, - "src/modules/health/controllers/health.controller.ts": { - "language": "typescript", - "mutants": [ - { - "id": "2646", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/health/controllers/health.controller.ts(21,26): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n \"error\": \"Game Play - Player in `targets.player` is not in the game players\",\n- \"message\": \"Player with id \\\"becaf90ccad44e758fbbafe9\\\" not found\",\n+ \"message\": \" with id \\\"becaf90ccad44e758fbbafe9\\\" not found\",\n \"statusCode\": 404,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:634:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 18, "static": false, - "killedBy": [], + "killedBy": [ + "528" + ], "coveredBy": [ - "968" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 4, - "line": 23 + "column": 38, + "line": 6 }, "start": { - "column": 53, - "line": 21 + "column": 30, + "line": 6 } } }, { - "id": "2647", - "mutatorName": "ArrayDeclaration", - "replacement": "[]", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 10\n+ Received + 2\n\n Object {\n- \"details\": Object {\n- \"mongoose\": Object {\n- \"status\": \"up\",\n- },\n- },\n+ \"details\": Object {},\n \"error\": Object {},\n- \"info\": Object {\n- \"mongoose\": Object {\n- \"status\": \"up\",\n- },\n- },\n+ \"info\": Object {},\n \"status\": \"ok\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/health/controllers/health.controller.e2e-spec.ts:29:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2859", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"additional card\"\nReceived: \"\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/shared/api/helpers/api.helper.spec.ts:14:49\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 18, "static": false, "killedBy": [ - "968" + "1029" ], "coveredBy": [ - "968" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 110, - "line": 22 + "column": 61, + "line": 7 }, "start": { - "column": 30, - "line": 22 + "column": 44, + "line": 7 } } }, { - "id": "2648", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "src/modules/health/controllers/health.controller.ts(22,37): error TS2322: Type 'undefined' is not assignable to type 'HealthIndicatorResult | PromiseLike'.\n", - "status": "CompileError", + "id": "2860", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "968" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 109, - "line": 22 + "column": 34, + "line": 8 }, "start": { - "column": 31, - "line": 22 + "column": 28, + "line": 8 } } }, { - "id": "2649", + "id": "2861", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 2\n\n Object {\n \"details\": Object {\n- \"mongoose\": Object {\n+ \"\": Object {\n \"status\": \"up\",\n },\n },\n \"error\": Object {},\n \"info\": Object {\n- \"mongoose\": Object {\n+ \"\": Object {\n \"status\": \"up\",\n },\n },\n \"status\": \"ok\",\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/health/controllers/health.controller.e2e-spec.ts:29:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"health\"\nReceived: \"\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3176459/tests/unit/specs/shared/api/helpers/api.helper.spec.ts:14:49\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 1, + "testsCompleted": 18, "static": false, "killedBy": [ - "968" + "1031" ], "coveredBy": [ - "968" + "495", + "521", + "522", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013", + "1014", + "1015", + "1027", + "1028", + "1029", + "1030", + "1031" ], "location": { "end": { - "column": 108, - "line": 22 + "column": 37, + "line": 9 }, "start": { - "column": 98, - "line": 22 + "column": 29, + "line": 9 } } } ], - "source": "import { Controller, Get } from \"@nestjs/common\";\nimport { ApiOperation, ApiTags } from \"@nestjs/swagger\";\nimport type { HealthCheckResult, HealthIndicatorResult } from \"@nestjs/terminus\";\nimport { HealthCheck, HealthCheckService, MongooseHealthIndicator } from \"@nestjs/terminus\";\nimport { API_RESOURCES } from \"../../../shared/api/enums/api.enum\";\n\n@ApiTags(\"❤️ Health\")\n@Controller(API_RESOURCES.HEALTH)\nexport class HealthController {\n public constructor(\n private readonly health: HealthCheckService,\n private readonly mongoose: MongooseHealthIndicator,\n ) {}\n\n @Get()\n @ApiOperation({\n summary: \"Get health's status of the API\",\n description: \"The health will be defined against the MongoDB connection instance\",\n })\n @HealthCheck()\n private async check(): Promise {\n return this.health.check([async(): Promise => this.mongoose.pingCheck(\"mongoose\")]);\n }\n}" + "source": "import { API_RESOURCES } from \"../enums/api.enum\";\n\nfunction getResourceSingularForm(resource: API_RESOURCES): string {\n const resourceSingularForms: Record = {\n [API_RESOURCES.GAMES]: \"game\",\n [API_RESOURCES.PLAYERS]: \"player\",\n [API_RESOURCES.GAME_ADDITIONAL_CARDS]: \"additional card\",\n [API_RESOURCES.ROLES]: \"role\",\n [API_RESOURCES.HEALTH]: \"health\",\n };\n return resourceSingularForms[resource];\n}\n\nexport { getResourceSingularForm };" }, - "src/modules/role/controllers/role.controller.ts": { + "src/shared/api/pipes/validate-mongo-id.pipe.ts": { "language": "typescript", "mutants": [ { - "id": "2650", + "id": "2862", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/modules/role/controllers/role.controller.ts(13,23): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(7,37): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "967" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { "column": 4, - "line": 15 + "line": 12 }, "start": { - "column": 39, - "line": 13 + "column": 52, + "line": 7 } } - } - ], - "source": "import { Controller, Get, HttpStatus } from \"@nestjs/common\";\nimport { ApiOperation, ApiResponse, ApiTags } from \"@nestjs/swagger\";\nimport { API_RESOURCES } from \"../../../shared/api/enums/api.enum\";\nimport { roles } from \"../constants/role.constant\";\nimport { Role } from \"../types/role.type\";\n\n@ApiTags(\"🃏 Roles\")\n@Controller(API_RESOURCES.ROLES)\nexport class RoleController {\n @Get()\n @ApiOperation({ summary: \"Get all available roles for games\" })\n @ApiResponse({ status: HttpStatus.OK, type: Role, isArray: true })\n private getRoles(): readonly Role[] {\n return roles;\n }\n}" - }, - "src/modules/role/helpers/role.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2651", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/role/helpers/role.factory.ts(6,34): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2863", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | Uint8Array | ObjectIdLike | undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "990" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 2, + "column": 104, "line": 8 }, "start": { - "column": 39, - "line": 6 + "column": 9, + "line": 8 } } - } - ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { toJSON } from \"../../../../tests/helpers/object/object.helper\";\nimport { plainToInstanceDefaultOptions } from \"../../../shared/validation/constants/validation.constant\";\nimport { Role } from \"../types/role.type\";\n\nfunction createRole(role: Role): Role {\n return plainToInstance(Role, toJSON(role), plainToInstanceDefaultOptions);\n}\n\nexport { createRole };" - }, - "src/modules/role/helpers/role.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2652", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/modules/role/helpers/role.helper.ts(4,61): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2864", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | Uint8Array | ObjectIdLike | undefined'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710", - "946", - "947" - ], - "location": { - "end": { - "column": 2, - "line": 6 - }, - "start": { - "column": 68, - "line": 4 - } - } - }, - { - "id": "2653", - "mutatorName": "MethodExpression", - "replacement": "roles", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:37:61\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": false, - "killedBy": [ - "699" - ], - "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710", - "946", - "947" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 50, - "line": 5 + "column": 104, + "line": 8 }, "start": { - "column": 10, - "line": 5 + "column": 9, + "line": 8 } } }, { - "id": "2654", - "mutatorName": "ArrowFunction", - "replacement": "() => undefined", - "statusReason": "Error: expect(received).toIncludeAllMembers(expected)\n\nExpected list to have all of the following members:\n [{\"maxInGame\": 0, \"name\": \"seer\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"witch\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 0, \"name\": \"pied-piper\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"name\": \"villager\", \"side\": \"villagers\", \"type\": \"villager\"}]\nReceived:\n [{\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}, {\"maxInGame\": 99, \"minInGame\": undefined, \"name\": \"villager\", \"recommendedMinPlayers\": undefined, \"side\": \"villagers\", \"type\": \"villager\"}]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:67:22)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, + "id": "2865", + "mutatorName": "LogicalOperator", + "replacement": "typeof value === \"string\" || value instanceof Types.ObjectId || Types.ObjectId.isValid(value)", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,96): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | Uint8Array | ObjectIdLike'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | Uint8Array | ObjectIdLike | undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "706" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "704", - "705", - "706", - "707", - "708", - "709", - "710", - "946", - "947" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 49, - "line": 5 + "column": 104, + "line": 8 }, "start": { - "column": 23, - "line": 5 + "column": 9, + "line": 8 } } }, { - "id": "2655", + "id": "2866", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 0\n+ Received + 12\n\n@@ -5,10 +5,22 @@\n \"side\": \"werewolves\",\n \"type\": \"werewolf\",\n },\n Object {\n \"maxInGame\": 1,\n+ \"name\": \"villager\",\n+ \"side\": \"villagers\",\n+ \"type\": \"villager\",\n+ },\n+ Object {\n+ \"maxInGame\": 1,\n+ \"name\": \"pied-piper\",\n+ \"side\": \"villagers\",\n+ \"type\": \"ambiguous\",\n+ },\n+ Object {\n+ \"maxInGame\": 1,\n \"name\": \"white-werewolf\",\n \"side\": \"werewolves\",\n \"type\": \"werewolf\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/role/helpers/role.helper.spec.ts:16:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,42): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "946" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710", - "946", - "947" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 49, - "line": 5 + "column": 70, + "line": 8 }, "start": { - "column": 31, - "line": 5 + "column": 10, + "line": 8 } } }, { - "id": "2656", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 14\n+ Received + 1\n\n- Array [\n- Object {\n- \"maxInGame\": 1,\n- \"name\": \"werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n- },\n- Object {\n- \"maxInGame\": 1,\n- \"name\": \"white-werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n- },\n- ]\n+ Array []\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/role/helpers/role.helper.spec.ts:16:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 13, + "id": "2867", + "mutatorName": "LogicalOperator", + "replacement": "typeof value === \"string\" && value instanceof Types.ObjectId", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,39): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "946" - ], + "killedBy": [], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710", - "946", - "947" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 49, - "line": 5 + "column": 70, + "line": 8 }, "start": { - "column": 31, - "line": 5 + "column": 10, + "line": 8 } } }, { - "id": "2657", - "mutatorName": "EqualityOperator", - "replacement": "role.side !== side", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 6\n+ Received + 6\n\n Array [\n Object {\n \"maxInGame\": 1,\n- \"name\": \"werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n+ \"name\": \"villager\",\n+ \"side\": \"villagers\",\n+ \"type\": \"villager\",\n },\n Object {\n \"maxInGame\": 1,\n- \"name\": \"white-werewolf\",\n- \"side\": \"werewolves\",\n- \"type\": \"werewolf\",\n+ \"name\": \"pied-piper\",\n+ \"side\": \"villagers\",\n+ \"type\": \"ambiguous\",\n },\n ]\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/role/helpers/role.helper.spec.ts:16:62)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2868", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 404\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:249:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 13, + "testsCompleted": 26, "static": false, "killedBy": [ - "946" + "495" ], "coveredBy": [ - "544", - "699", - "700", - "701", - "702", - "703", - "706", - "707", - "708", - "709", - "710", - "946", - "947" + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", + "533", + "534", + "535", + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 49, - "line": 5 + "column": 35, + "line": 8 }, "start": { - "column": 31, - "line": 5 + "column": 10, + "line": 8 } } - } - ], - "source": "import type { ROLE_SIDES } from \"../enums/role.enum\";\nimport type { Role } from \"../types/role.type\";\n\nfunction getRolesWithSide(roles: Role[], side: ROLE_SIDES): Role[] {\n return roles.filter(role => role.side === side);\n}\n\nexport { getRolesWithSide };" - }, - "src/server/helpers/server.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2658", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/server/helpers/server.helper.ts(4,44): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "id": "2869", + "mutatorName": "EqualityOperator", + "replacement": "typeof value !== \"string\"", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,39): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(8,98): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", "status": "CompileError", - "static": true, + "static": false, "killedBy": [], "coveredBy": [ + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", "533", "534", "535", - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "545", - "546", - "547", - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "967", - "968", - "993", - "994" + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 2, - "line": 10 + "column": 35, + "line": 8 }, "start": { - "column": 68, - "line": 4 + "column": 10, + "line": 8 } } }, { - "id": "2659", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toContainEqual(expected) // deep equality\n\nExpected value: \"players must contain no more than 40 elements\"\nReceived array: [\"players.name must be shorter than or equal to 30 characters\", \"players.name must be longer than or equal to 1 characters\", \"players.name must be a string\"]\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:169:60\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 49, - "static": true, - "killedBy": [ - "537" - ], + "id": "2870", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,10): error TS2367: This comparison appears to be unintentional because the types '\"string\" | \"number\" | \"bigint\" | \"boolean\" | \"symbol\" | \"undefined\" | \"object\" | \"function\"' and '\"\"' have no overlap.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(8,92): error TS2345: Argument of type 'object' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'object' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "status": "CompileError", + "static": false, + "killedBy": [], "coveredBy": [ + "494", + "495", + "496", + "520", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "532", "533", "534", "535", - "536", - "537", - "538", - "539", - "540", - "541", - "542", - "543", - "544", - "545", - "546", - "547", - "548", - "549", - "550", - "551", - "552", - "553", - "554", - "555", - "556", - "557", - "558", - "559", - "560", - "561", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "967", - "968", - "993", - "994" + "985", + "986", + "987", + "1005", + "1006", + "1007", + "1008" ], "location": { "end": { - "column": 4, + "column": 35, "line": 8 }, "start": { - "column": 39, - "line": 5 + "column": 27, + "line": 8 } } - } - ], - "source": "import type { IParseOptions } from \"qs\";\nimport { parse } from \"qs\";\n\nfunction queryStringParser(query: string): Record {\n const parseOptions: IParseOptions = {\n arrayLimit: 100,\n parameterLimit: 3000,\n };\n return parse(query, parseOptions);\n}\n\nexport { queryStringParser };" - }, - "src/server/server.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2660", + "id": "2871", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/server/server.ts(10,40): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 404\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:249:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 19, "static": false, - "killedBy": [], + "killedBy": [ + "495" + ], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "495", + "496", + "521", + "522", + "523", + "525", + "526", + "527", + "528", + "529", + "530", + "531", + "533", + "534", + "535", + "986", + "987", + "1005", + "1006" ], "location": { "end": { - "column": 2, - "line": 24 + "column": 6, + "line": 10 }, "start": { - "column": 72, - "line": 10 + "column": 106, + "line": 8 } } }, { - "id": "2661", + "id": "2872", "mutatorName": "StringLiteral", "replacement": "\"\"", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:110:42)", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"Validation failed (Mongo ObjectId is expected)\"\nReceived: \"Bad Request\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:239:60)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 7, "static": false, "killedBy": [ - "878" + "494" ], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "494", + "520", + "524", + "532", + "985", + "1007", + "1008" ], "location": { "end": { - "column": 35, - "line": 13 + "column": 83, + "line": 11 }, "start": { - "column": 29, - "line": 13 + "column": 35, + "line": 11 } } - }, + } + ], + "source": "import type { PipeTransform } from \"@nestjs/common\";\nimport { BadRequestException, Injectable } from \"@nestjs/common\";\nimport { Types } from \"mongoose\";\n\n@Injectable()\nclass ValidateMongoId implements PipeTransform {\n public transform(value: unknown): Types.ObjectId {\n if ((typeof value === \"string\" || value instanceof Types.ObjectId) && Types.ObjectId.isValid(value)) {\n return new Types.ObjectId(value);\n }\n throw new BadRequestException(\"Validation failed (Mongo ObjectId is expected)\");\n }\n}\n\nexport { ValidateMongoId };" + }, + "src/shared/exception/helpers/unexpected-exception.factory.ts": { + "language": "typescript", + "mutants": [ { - "id": "2662", - "mutatorName": "ObjectLiteral", + "id": "2873", + "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/server/server.ts(15,23): error TS2345: Argument of type '{}' is not assignable to parameter of type 'FastifyStaticOptions'.\n Property 'root' is missing in type '{}' but required in type 'FastifyStaticOptions'.\n", + "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(5,136): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "328", + "329", + "330", + "357", + "358", + "366", + "407", + "408", + "409", + "410", + "411", + "434", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "934" ], "location": { "end": { - "column": 4, - "line": 18 + "column": 2, + "line": 9 }, "start": { - "column": 23, - "line": 15 + "column": 156, + "line": 6 } } }, { - "id": "2663", - "mutatorName": "StringLiteral", - "replacement": "``", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"prefix\": \"/public/\", \"root\": \"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/public\"}], but it was called with {\"prefix\": \"/public/\", \"root\": \"\"}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:98:70)", - "status": "Killed", - "testsCompleted": 6, + "id": "2874", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", "static": false, - "killedBy": [ - "877" - ], + "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "328", + "329", + "330", + "357", + "358", + "366", + "407", + "408", + "409", + "410", + "411", + "434", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "934" ], "location": { "end": { - "column": 36, - "line": 16 + "column": 164, + "line": 8 }, "start": { - "column": 11, - "line": 16 + "column": 104, + "line": 8 } } }, { - "id": "2664", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [{\"prefix\": \"/public/\", \"root\": \"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/public\"}], but it was called with {\"prefix\": \"\", \"root\": \"/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/public\"}\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:98:70)", - "status": "Killed", - "testsCompleted": 6, + "id": "2875", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(10,134): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "877" - ], + "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "935" ], "location": { "end": { - "column": 23, - "line": 17 + "column": 2, + "line": 14 }, "start": { - "column": 13, - "line": 17 + "column": 154, + "line": 11 } } }, { - "id": "2665", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [3000, \"127.0.0.1\"], but it was called with 3000\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:73:61)", - "status": "Killed", - "testsCompleted": 6, + "id": "2876", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", "static": false, - "killedBy": [ - "874" - ], + "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "935" ], "location": { "end": { - "column": 37, - "line": 19 + "column": 146, + "line": 13 }, "start": { - "column": 26, - "line": 19 + "column": 86, + "line": 13 } } }, { - "id": "2666", - "mutatorName": "StringLiteral", - "replacement": "``", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\nReceived\n 1: \"\", \"NestApplication\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:109:42)", - "status": "Killed", - "testsCompleted": 6, + "id": "2877", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(15,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "878" - ], + "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "692", + "936" ], "location": { "end": { - "column": 48, - "line": 21 + "column": 2, + "line": 18 }, "start": { - "column": 14, - "line": 21 + "column": 93, + "line": 16 } } }, { - "id": "2667", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:109:42)", - "status": "Killed", - "testsCompleted": 6, + "id": "2878", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(21,113): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "878" - ], + "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "937" ], "location": { "end": { - "column": 67, - "line": 21 + "column": 2, + "line": 23 }, "start": { - "column": 50, - "line": 21 + "column": 133, + "line": 20 } } }, { - "id": "2668", - "mutatorName": "StringLiteral", - "replacement": "``", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\n 2: \"\", \"NestApplication\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:110:42)", + "id": "2879", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"error\": \"Game with id \\\"e76f23fc75b41b16abc3eb6c\\\" doesn't have a current game play to deal with\",\n+ \"error\": \"Game with id \\\"undefined\\\" doesn't have a current game play to deal with\",\n \"message\": \"Unexpected exception in makePlay\",\n \"statusCode\": 500,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3573746/tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts:52:39)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 6, + "testsCompleted": 1, "static": false, - "killedBy": [ - "878" - ], - "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "killedBy": [ + "937" + ], + "coveredBy": [ + "937" ], "location": { "end": { - "column": 83, + "column": 121, "line": 22 }, "start": { - "column": 14, + "column": 92, "line": 22 } } }, { - "id": "2669", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"NestApplication\"\nReceived\n 1: \"🐺 App is available at http://127.0.0.1:4500\", \"NestApplication\"\n 2: \"📖 API Documentation is available at http://127.0.0.1:4500/docs\", \"\"\n\nNumber of calls: 2\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/server.spec.ts:110:42)", - "status": "Killed", - "testsCompleted": 6, + "id": "2880", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(26,90): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "878" + "killedBy": [], + "coveredBy": [ + "938" ], + "location": { + "end": { + "column": 2, + "line": 27 + }, + "start": { + "column": 110, + "line": 25 + } + } + }, + { + "id": "2881", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", + "static": false, + "killedBy": [], "coveredBy": [ - "873", - "874", - "875", - "876", - "877", - "878" + "938" ], "location": { "end": { - "column": 102, - "line": 22 + "column": 131, + "line": 26 }, "start": { - "column": 85, - "line": 22 + "column": 93, + "line": 26 } } } ], - "source": "import { Logger, ValidationPipe } from \"@nestjs/common\";\nimport { NestFactory } from \"@nestjs/core\";\nimport type { NestFastifyApplication } from \"@nestjs/platform-fastify\";\nimport { FastifyAdapter } from \"@nestjs/platform-fastify\";\nimport { AppModule } from \"../app.module\";\nimport { validationPipeDefaultOptions } from \"../shared/validation/constants/validation.constant\";\nimport { fastifyServerDefaultOptions } from \"./constants/server.constant\";\nimport { createSwaggerDocument } from \"./swagger/swagger\";\n\nasync function bootstrap(port = 3000): Promise {\n const app = await NestFactory.create(AppModule, new FastifyAdapter(fastifyServerDefaultOptions));\n app.useGlobalPipes(new ValidationPipe(validationPipeDefaultOptions));\n const documentationPath = \"docs\";\n createSwaggerDocument(documentationPath, app);\n app.useStaticAssets({\n root: `${process.cwd()}/public`,\n prefix: \"/public/\",\n });\n await app.listen(port, \"127.0.0.1\");\n const appUrl = await app.getUrl();\n Logger.log(`🐺 App is available at ${appUrl}`, \"NestApplication\");\n Logger.log(`📖 API Documentation is available at ${appUrl}/${documentationPath}`, \"NestApplication\");\n return app;\n}\n\nexport { bootstrap };" + "source": "import type { Types } from \"mongoose\";\nimport type { GamePlay } from \"../../../modules/game/schemas/game-play/game-play.schema\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../enums/unexpected-exception.enum\";\nimport { UnexpectedException } from \"../types/unexpected-exception.type\";\n\nfunction createCantFindPlayerUnexpectedException(scope: string, interpolations: { gameId: Types.ObjectId; playerId: Types.ObjectId }): UnexpectedException {\n const { gameId, playerId } = interpolations;\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, { gameId: gameId.toString(), playerId: playerId.toString() });\n}\n\nfunction createPlayerIsDeadUnexpectedException(scope: string, interpolations: { gameId: Types.ObjectId; playerId: Types.ObjectId }): UnexpectedException {\n const { gameId, playerId } = interpolations;\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.PLAYER_IS_DEAD, { gameId: gameId.toString(), playerId: playerId.toString() });\n}\n\nfunction createCantGenerateGamePlaysUnexpectedException(scope: string): UnexpectedException {\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_GENERATE_GAME_PLAYS);\n}\n\nfunction createNoCurrentGamePlayUnexpectedException(scope: string, interpolations: { gameId: Types.ObjectId }): UnexpectedException {\n const { gameId } = interpolations;\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.NO_CURRENT_GAME_PLAY, { gameId: gameId.toString() });\n}\n\nfunction createNoGamePlayPriorityUnexpectedException(scope: string, gamePlay: GamePlay): UnexpectedException {\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.NO_GAME_PLAY_PRIORITY, { gamePlay: JSON.stringify(gamePlay) });\n}\n\nexport {\n createCantFindPlayerUnexpectedException,\n createPlayerIsDeadUnexpectedException,\n createCantGenerateGamePlaysUnexpectedException,\n createNoCurrentGamePlayUnexpectedException,\n createNoGamePlayPriorityUnexpectedException,\n};" }, - "src/server/swagger/swagger.ts": { + "src/shared/exception/types/bad-game-play-payload-exception.type.ts": { "language": "typescript", "mutants": [ { - "id": "2670", + "id": "2882", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once, but it was called 0 times\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:49:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "statusReason": "src/shared/exception/types/bad-game-play-payload-exception.type.ts(5,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "879" - ], + "killedBy": [], "coveredBy": [ - "879", - "880", - "881" + "529", + "1026" ], "location": { "end": { - "column": 2, - "line": 20 + "column": 4, + "line": 8 }, "start": { - "column": 75, + "column": 61, "line": 5 } } }, { - "id": "2671", + "id": "2883", "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Werewolves Assistant API Reference 🐺\"], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:49:46)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "``", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n- \"message\": \"Bad game play payload\",\n+ \"message\": \"`votes` is required on this current game's state\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 2, "static": false, "killedBy": [ - "879" + "529" ], "coveredBy": [ - "879", - "880", - "881" + "529", + "1026" ], "location": { "end": { - "column": 56, + "column": 44, "line": 6 }, "start": { - "column": 17, + "column": 21, "line": 6 } } }, { - "id": "2672", - "mutatorName": "LogicalOperator", - "replacement": "process.env.npm_package_version && \"?\"", - "statusReason": "src/server/swagger/swagger.ts(11,17): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.\n Type 'undefined' is not assignable to type 'string'.\n", - "status": "CompileError", + "id": "2884", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 2, "static": false, - "killedBy": [], + "killedBy": [ + "529" + ], "coveredBy": [ - "879", - "880", - "881" + "529", + "1026" ], "location": { "end": { - "column": 57, + "column": 43, "line": 7 }, "start": { - "column": 19, + "column": 20, "line": 7 } } - }, + } + ], + "source": "import { BadRequestException } from \"@nestjs/common\";\nimport type { BAD_GAME_PLAY_PAYLOAD_REASONS } from \"../enums/bad-game-play-payload-error.enum\";\n\nclass BadGamePlayPayloadException extends BadRequestException {\n public constructor(reason: BAD_GAME_PLAY_PAYLOAD_REASONS) {\n const message = `Bad game play payload`;\n super(message, { description: reason });\n }\n}\n\nexport { BadGamePlayPayloadException };" + }, + "src/shared/exception/types/bad-resource-mutation-exception.type.ts": { + "language": "typescript", + "mutants": [ { - "id": "2673", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"?\"], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:62:48)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, + "id": "2885", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/exception/types/bad-resource-mutation-exception.type.ts(8,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "880" - ], + "killedBy": [], "coveredBy": [ - "880" + "522", + "1014", + "1015" ], "location": { "end": { - "column": 57, - "line": 7 + "column": 4, + "line": 12 }, "start": { - "column": 54, - "line": 7 + "column": 99, + "line": 8 } } }, { - "id": "2674", + "id": "2886", "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.\"], but it was called with \"\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:50:52)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "replacement": "``", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 1\n\n Object {\n- \"error\": \"Game doesn't have status with value \\\"playing\\\"\",\n- \"message\": \"Bad mutation for Game with id \\\"078a94d8daa7d8cda0f4aaf9\\\"\",\n+ \"message\": \"Game doesn't have status with value \\\"playing\\\"\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:535:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "879" + "522" ], "coveredBy": [ - "879", - "880", - "881" + "522", + "1014", + "1015" ], "location": { "end": { - "column": 133, + "column": 91, "line": 10 }, "start": { @@ -86042,8522 +96087,7906 @@ } }, { - "id": "2675", + "id": "2887", "mutatorName": "ObjectLiteral", "replacement": "{}", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"docs\", {}, undefined, {\"customCssUrl\": \"public/assets/css/custom-swagger.css\", \"customSiteTitle\": \"Werewolves Assistant API Reference 🐺\", \"customfavIcon\": \"public/assets/images/logo/square/werewolves-logo-small.png\"}], but it was called with \"docs\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:77:41)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n Object {\n- \"error\": \"Game doesn't have status with value \\\"playing\\\"\",\n \"message\": \"Bad mutation for Game with id \\\"ba0b5dce764d6da1e8dddeef\\\"\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:535:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 3, "static": false, "killedBy": [ - "881" + "522" ], "coveredBy": [ - "879", - "880", - "881" + "522", + "1014", + "1015" + ], + "location": { + "end": { + "column": 43, + "line": 11 + }, + "start": { + "column": 20, + "line": 11 + } + } + } + ], + "source": "import { BadRequestException } from \"@nestjs/common\";\nimport { upperFirst } from \"lodash\";\nimport type { API_RESOURCES } from \"../../api/enums/api.enum\";\nimport { getResourceSingularForm } from \"../../api/helpers/api.helper\";\nimport type { BAD_RESOURCE_MUTATION_REASONS } from \"../enums/bad-resource-mutation-error.enum\";\n\nclass BadResourceMutationException extends BadRequestException {\n public constructor(resource: API_RESOURCES, id: string, reason?: BAD_RESOURCE_MUTATION_REASONS) {\n const resourceSingularForm = getResourceSingularForm(resource);\n const message = `Bad mutation for ${upperFirst(resourceSingularForm)} with id \"${id}\"`;\n super(message, { description: reason });\n }\n}\n\nexport { BadResourceMutationException };" + }, + "src/shared/exception/types/resource-not-found-exception.type.ts": { + "language": "typescript", + "mutants": [ + { + "id": "2888", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/exception/types/resource-not-found-exception.type.ts(8,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", + "status": "CompileError", + "static": false, + "killedBy": [], + "coveredBy": [ + "495", + "521", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013" ], "location": { "end": { "column": 4, - "line": 18 + "line": 12 }, "start": { - "column": 41, - "line": 14 + "column": 96, + "line": 8 } } }, { - "id": "2676", + "id": "2889", "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"docs\", {}, undefined, {\"customCssUrl\": \"public/assets/css/custom-swagger.css\", \"customSiteTitle\": \"Werewolves Assistant API Reference 🐺\", \"customfavIcon\": \"public/assets/images/logo/square/werewolves-logo-small.png\"}], but it was called with \"docs\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:77:41)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 3, + "replacement": "``", + "status": "Timeout", "static": false, - "killedBy": [ - "881" - ], + "killedBy": [], "coveredBy": [ - "879", - "880", - "881" + "495", + "521", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013" ], "location": { "end": { - "column": 80, - "line": 16 + "column": 84, + "line": 10 }, "start": { - "column": 20, - "line": 16 + "column": 21, + "line": 10 } } }, { - "id": "2677", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toHaveBeenCalledExactlyOnceWith(expected)\n\nExpected mock function to have been called exactly once with [\"docs\", {}, undefined, {\"customCssUrl\": \"public/assets/css/custom-swagger.css\", \"customSiteTitle\": \"Werewolves Assistant API Reference 🐺\", \"customfavIcon\": \"public/assets/images/logo/square/werewolves-logo-small.png\"}], but it was called with \"docs\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/server/swagger/swagger.spec.ts:77:41)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "id": "2890", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n Object {\n- \"error\": \"Game Play - Player in `targets.player` is not in the game players\",\n \"message\": \"Player with id \\\"b4ffdc16ee80e8a85b02bad8\\\" not found\",\n \"statusCode\": 404,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:634:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", - "testsCompleted": 3, + "testsCompleted": 10, "static": false, "killedBy": [ - "881" + "528" ], "coveredBy": [ - "879", - "880", - "881" + "495", + "521", + "525", + "526", + "527", + "528", + "533", + "986", + "1012", + "1013" ], "location": { "end": { - "column": 57, - "line": 17 + "column": 43, + "line": 11 }, "start": { - "column": 19, - "line": 17 + "column": 20, + "line": 11 } } } ], - "source": "import type { INestApplication } from \"@nestjs/common\";\nimport type { SwaggerCustomOptions } from \"@nestjs/swagger\";\nimport { DocumentBuilder, SwaggerModule } from \"@nestjs/swagger\";\n\nfunction createSwaggerDocument(path: string, app: INestApplication): void {\n const title = \"Werewolves Assistant API Reference 🐺\";\n const version = process.env.npm_package_version ?? \"?\";\n const config = new DocumentBuilder()\n .setTitle(title)\n .setDescription(\"Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.\")\n .setVersion(version)\n .build();\n const document = SwaggerModule.createDocument(app, config);\n const options: SwaggerCustomOptions = {\n customSiteTitle: title,\n customfavIcon: \"public/assets/images/logo/square/werewolves-logo-small.png\",\n customCssUrl: \"public/assets/css/custom-swagger.css\",\n };\n SwaggerModule.setup(path, app, document, options);\n}\n\nexport { createSwaggerDocument };" + "source": "import { NotFoundException } from \"@nestjs/common\";\nimport { upperFirst } from \"lodash\";\nimport type { API_RESOURCES } from \"../../api/enums/api.enum\";\nimport { getResourceSingularForm } from \"../../api/helpers/api.helper\";\nimport type { RESOURCE_NOT_FOUND_REASONS } from \"../enums/resource-not-found-error.enum\";\n\nclass ResourceNotFoundException extends NotFoundException {\n public constructor(resource: API_RESOURCES, id: string, reason?: RESOURCE_NOT_FOUND_REASONS) {\n const resourceSingularForm = getResourceSingularForm(resource);\n const message = `${upperFirst(resourceSingularForm)} with id \"${id}\" not found`;\n super(message, { description: reason });\n }\n}\n\nexport { ResourceNotFoundException };" }, - "src/shared/api/helpers/api.helper.ts": { + "src/shared/exception/types/unexpected-exception.type.ts": { "language": "typescript", "mutants": [ { - "id": "2678", + "id": "2891", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/shared/api/helpers/api.helper.ts(3,60): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "statusReason": "src/shared/exception/types/unexpected-exception.type.ts(7,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "406", + "407", + "408", + "409", + "410", + "411", + "431", + "432", + "433", + "434", "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "547", + "550", + "551", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "692", + "934", + "935", + "936", + "937", + "938", + "1010", + "1011" ], "location": { "end": { - "column": 2, - "line": 12 + "column": 4, + "line": 10 }, "start": { - "column": 67, - "line": 3 + "column": 121, + "line": 7 } } }, { - "id": "2679", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "src/shared/api/helpers/api.helper.ts(4,9): error TS2739: Type '{}' is missing the following properties from type 'Record': games, players, \"game-additional-cards\", roles, health\n", - "status": "CompileError", + "id": "2892", + "mutatorName": "StringLiteral", + "replacement": "``", + "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "406", + "407", + "408", + "409", + "410", + "411", + "431", + "432", + "433", + "434", "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "547", + "550", + "551", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "692", + "934", + "935", + "936", + "937", + "938", + "1010", + "1011" ], "location": { "end": { - "column": 4, - "line": 10 + "column": 55, + "line": 8 }, "start": { - "column": 64, - "line": 4 + "column": 21, + "line": 8 } } }, { - "id": "2680", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"Game with id \\\"e9c9d8e0dc6ffe9cf992bcbb\\\" not found\"\nReceived: \" with id \\\"e9c9d8e0dc6ffe9cf992bcbb\\\" not found\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:250:58)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 18, + "id": "2893", + "mutatorName": "ObjectLiteral", + "replacement": "{}", + "status": "Timeout", "static": false, - "killedBy": [ - "546" - ], + "killedBy": [], "coveredBy": [ + "328", + "329", + "330", + "357", + "358", + "365", + "366", + "406", + "407", + "408", + "409", + "410", + "411", + "431", + "432", + "433", + "434", "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "547", + "550", + "551", + "587", + "588", + "589", + "590", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "692", + "934", + "935", + "936", + "937", + "938", + "1010", + "1011" ], "location": { "end": { - "column": 34, - "line": 5 + "column": 69, + "line": 9 }, "start": { - "column": 28, - "line": 5 + "column": 20, + "line": 9 } } - }, + } + ], + "source": "import { InternalServerErrorException } from \"@nestjs/common\";\nimport { template } from \"radash\";\nimport type { UNEXPECTED_EXCEPTION_REASONS } from \"../enums/unexpected-exception.enum\";\nimport type { ExceptionInterpolations } from \"./exception.type\";\n\nclass UnexpectedException extends InternalServerErrorException {\n public constructor(scope: string, reason: UNEXPECTED_EXCEPTION_REASONS, interpolations: ExceptionInterpolations = {}) {\n const message = `Unexpected exception in ${scope}`;\n super(message, { description: template(reason, interpolations) });\n }\n}\n\nexport { UnexpectedException };" + }, + "src/shared/validation/helpers/validation.helper.ts": { + "language": "typescript", + "mutants": [ { - "id": "2681", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 1\n\n Object {\n \"error\": \"Game Play - Player in `targets.player` is not in the game players\",\n- \"message\": \"Player with id \\\"becaf90ccad44e758fbbafe9\\\" not found\",\n+ \"message\": \" with id \\\"becaf90ccad44e758fbbafe9\\\" not found\",\n \"statusCode\": 404,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:634:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 18, + "id": "2894", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/validation/helpers/validation.helper.ts(3,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "570" - ], + "killedBy": [], "coveredBy": [ - "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 38, + "column": 2, "line": 6 }, "start": { - "column": 30, - "line": 6 + "column": 110, + "line": 3 } } }, { - "id": "2682", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"additional card\"\nReceived: \"\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/unit/specs/shared/api/helpers/api.helper.spec.ts:14:49\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 18, + "id": "2895", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "status": "Timeout", "static": false, - "killedBy": [ - "972" - ], + "killedBy": [], "coveredBy": [ - "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 61, - "line": 7 + "column": 128, + "line": 5 }, "start": { - "column": 44, - "line": 7 + "column": 10, + "line": 5 } } }, { - "id": "2683", - "mutatorName": "StringLiteral", - "replacement": "\"\"", + "id": "2896", + "mutatorName": "ConditionalExpression", + "replacement": "false", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 34, - "line": 8 + "column": 128, + "line": 5 }, "start": { - "column": 28, - "line": 8 + "column": 10, + "line": 5 } } }, { - "id": "2684", - "mutatorName": "StringLiteral", - "replacement": "\"\"", + "id": "2897", + "mutatorName": "LogicalOperator", + "replacement": "minItems === undefined || arrayMinSize(array, minItems) || maxItems === undefined || arrayMaxSize(array, maxItems)", "status": "Timeout", "static": false, "killedBy": [], "coveredBy": [ - "546", - "563", - "564", - "568", - "569", - "570", - "575", - "933", - "955", - "956", - "957", - "958", - "970", - "971", - "972", - "973", - "974" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 37, - "line": 9 + "column": 128, + "line": 5 }, "start": { - "column": 29, - "line": 9 + "column": 10, + "line": 5 } } - } - ], - "source": "import { API_RESOURCES } from \"../enums/api.enum\";\n\nfunction getResourceSingularForm(resource: API_RESOURCES): string {\n const resourceSingularForms: Record = {\n [API_RESOURCES.GAMES]: \"game\",\n [API_RESOURCES.PLAYERS]: \"player\",\n [API_RESOURCES.GAME_ADDITIONAL_CARDS]: \"additional card\",\n [API_RESOURCES.ROLES]: \"role\",\n [API_RESOURCES.HEALTH]: \"health\",\n };\n return resourceSingularForms[resource];\n}\n\nexport { getResourceSingularForm };" - }, - "src/shared/api/pipes/validate-mongo-id.pipe.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2685", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(7,37): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "id": "2898", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).rejects.toThrow()\n\nReceived promise resolved instead of rejected\nResolved to value: {\"_id\": \"64e9c8c7a13a3f71ee9e027e\", \"createdAt\": 2023-08-26T09:41:27.092Z, \"gameId\": \"624e52ba2e42ac6310fb6f4a\", \"phase\": \"day\", \"play\": {\"action\": \"vote\", \"source\": {\"name\": \"sheriff\", \"players\": []}}, \"tick\": 8137911677485056, \"turn\": 3231388954263552}\n at expect (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/expect/build/index.js:113:15)\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3179989/tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts:112:13\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 39, "static": false, - "killedBy": [], + "killedBy": [ + "611" + ], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 4, - "line": 12 + "column": 66, + "line": 5 }, "start": { - "column": 52, - "line": 7 + "column": 11, + "line": 5 } } }, { - "id": "2686", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "id": "2899", + "mutatorName": "LogicalOperator", + "replacement": "minItems === undefined && arrayMinSize(array, minItems)", + "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,57): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 104, - "line": 8 + "column": 66, + "line": 5 }, "start": { - "column": 9, - "line": 8 + "column": 11, + "line": 5 } } }, { - "id": "2687", + "id": "2900", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,40): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 104, - "line": 8 + "column": 33, + "line": 5 }, "start": { - "column": 9, - "line": 8 + "column": 11, + "line": 5 } } }, { - "id": "2688", - "mutatorName": "LogicalOperator", - "replacement": "typeof value === \"string\" || value instanceof Types.ObjectId || Types.ObjectId.isValid(value)", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,96): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "id": "2901", + "mutatorName": "EqualityOperator", + "replacement": "minItems !== undefined", + "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,57): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1040", + "1041", + "1042" ], "location": { "end": { - "column": 104, - "line": 8 + "column": 33, + "line": 5 }, "start": { - "column": 9, - "line": 8 + "column": 11, + "line": 5 } } }, { - "id": "2689", + "id": "2902", "mutatorName": "ConditionalExpression", "replacement": "true", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,42): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox6774158/tests/unit/specs/shared/validation/helpers/validation.helper.spec.ts:15:63)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 37, "static": false, - "killedBy": [], + "killedBy": [ + "1041" + ], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1041", + "1042" ], "location": { "end": { - "column": 70, - "line": 8 + "column": 127, + "line": 5 }, "start": { - "column": 10, - "line": 8 + "column": 72, + "line": 5 } } }, { - "id": "2690", + "id": "2903", "mutatorName": "LogicalOperator", - "replacement": "typeof value === \"string\" && value instanceof Types.ObjectId", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,39): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\n", + "replacement": "maxItems === undefined && arrayMaxSize(array, maxItems)", + "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,118): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1041", + "1042" ], "location": { "end": { - "column": 70, - "line": 8 + "column": 127, + "line": 5 }, "start": { - "column": 10, - "line": 8 + "column": 72, + "line": 5 } } }, { - "id": "2691", + "id": "2904", "mutatorName": "ConditionalExpression", "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 404\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:249:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 26, + "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,101): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", + "status": "CompileError", "static": false, - "killedBy": [ - "546" - ], + "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1041", + "1042" ], "location": { "end": { - "column": 35, - "line": 8 + "column": 94, + "line": 5 }, "start": { - "column": 10, - "line": 8 + "column": 72, + "line": 5 } } }, { - "id": "2692", + "id": "2905", "mutatorName": "EqualityOperator", - "replacement": "typeof value !== \"string\"", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,39): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(8,98): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'unknown' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "replacement": "maxItems !== undefined", + "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,118): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", "status": "CompileError", "static": false, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "530", + "531", + "534", + "535", + "607", + "608", + "609", + "610", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "620", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "630", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "1039", + "1041", + "1042" ], "location": { "end": { - "column": 35, - "line": 8 + "column": 94, + "line": 5 }, "start": { - "column": 10, - "line": 8 + "column": 72, + "line": 5 } } - }, + } + ], + "source": "import { arrayMaxSize, arrayMinSize } from \"class-validator\";\n\nfunction doesArrayRespectBounds(array: unknown[], bounds: { minItems?: number; maxItems?: number }): boolean {\n const { minItems, maxItems } = bounds;\n return (minItems === undefined || arrayMinSize(array, minItems)) && (maxItems === undefined || arrayMaxSize(array, maxItems));\n}\n\nexport { doesArrayRespectBounds };" + }, + "src/shared/validation/transformers/validation.transformer.ts": { + "language": "typescript", + "mutants": [ { - "id": "2693", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "src/shared/api/pipes/validate-mongo-id.pipe.ts(8,10): error TS2367: This comparison appears to be unintentional because the types '\"string\" | \"number\" | \"bigint\" | \"boolean\" | \"symbol\" | \"undefined\" | \"object\" | \"function\"' and '\"\"' have no overlap.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(8,92): error TS2345: Argument of type 'object' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array'.\nsrc/shared/api/pipes/validate-mongo-id.pipe.ts(9,33): error TS2345: Argument of type 'object' is not assignable to parameter of type 'string | number | ObjectId | ObjectIdLike | Uint8Array | undefined'.\n", + "id": "2906", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "src/shared/validation/transformers/validation.transformer.ts(3,51): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", "status": "CompileError", - "static": false, + "static": true, "killedBy": [], "coveredBy": [ - "545", - "546", - "547", - "562", - "563", - "564", - "565", - "566", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "574", - "575", - "576", - "577", - "932", - "933", - "934", - "948", - "949", - "950", - "951" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1032", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 35, - "line": 8 + "column": 2, + "line": 10 }, "start": { - "column": 27, - "line": 8 + "column": 59, + "line": 3 } } }, { - "id": "2694", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 404\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:249:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2907", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 19, - "static": false, + "testsCompleted": 15, + "static": true, "killedBy": [ - "546" + "746" ], "coveredBy": [ - "546", - "547", - "563", - "564", - "565", - "567", - "568", - "569", - "570", - "571", - "572", - "573", - "575", - "576", - "577", - "933", - "934", - "948", - "949" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1032", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 6, - "line": 10 + "column": 23, + "line": 4 }, "start": { - "column": 106, - "line": 8 + "column": 7, + "line": 4 } } }, { - "id": "2695", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: \"Validation failed (Mongo ObjectId is expected)\"\nReceived: \"Bad Request\"\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:239:60)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2908", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: \"true\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", - "testsCompleted": 7, - "static": false, + "testsCompleted": 15, + "static": true, "killedBy": [ - "545" + "1032" ], "coveredBy": [ - "545", - "562", - "566", - "574", - "932", - "950", - "951" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1032", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 83, - "line": 11 + "column": 23, + "line": 4 }, "start": { - "column": 35, - "line": 11 + "column": 7, + "line": 4 } } - } - ], - "source": "import type { PipeTransform } from \"@nestjs/common\";\nimport { BadRequestException, Injectable } from \"@nestjs/common\";\nimport { Types } from \"mongoose\";\n\n@Injectable()\nclass ValidateMongoId implements PipeTransform {\n public transform(value: unknown): Types.ObjectId {\n if ((typeof value === \"string\" || value instanceof Types.ObjectId) && Types.ObjectId.isValid(value)) {\n return new Types.ObjectId(value);\n }\n throw new BadRequestException(\"Validation failed (Mongo ObjectId is expected)\");\n }\n}\n\nexport { ValidateMongoId };" - }, - "src/shared/exception/helpers/unexpected-exception.factory.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2696", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(5,136): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "2909", + "mutatorName": "EqualityOperator", + "replacement": "value !== \"true\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, + "static": true, + "killedBy": [ + "746" + ], "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "348", - "389", - "390", - "391", - "392", - "393", - "416", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "914" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1032", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 2, - "line": 8 + "column": 23, + "line": 4 }, "start": { - "column": 156, - "line": 5 + "column": 7, + "line": 4 } } }, { - "id": "2697", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", - "static": false, - "killedBy": [], + "id": "2910", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: \"true\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 15, + "static": true, + "killedBy": [ + "1032" + ], "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "348", - "389", - "390", - "391", - "392", - "393", - "416", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "914" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1032", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 164, - "line": 7 + "column": 23, + "line": 4 }, "start": { - "column": 104, - "line": 7 + "column": 17, + "line": 4 } } }, { - "id": "2698", + "id": "2911", "mutatorName": "BlockStatement", "replacement": "{}", - "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(10,134): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: \"true\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "1032" + ], "coveredBy": [ - "915" + "1032" ], "location": { "end": { - "column": 2, - "line": 13 + "column": 4, + "line": 6 }, "start": { - "column": 154, - "line": 10 + "column": 25, + "line": 4 } } }, { - "id": "2699", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", + "id": "2912", + "mutatorName": "BooleanLiteral", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 1, "static": false, - "killedBy": [], + "killedBy": [ + "1032" + ], "coveredBy": [ - "915" + "1032" ], "location": { "end": { - "column": 146, - "line": 12 + "column": 16, + "line": 5 }, "start": { - "column": 86, - "line": 12 + "column": 12, + "line": 5 } } }, { - "id": "2700", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(15,73): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "2913", + "mutatorName": "ConditionalExpression", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:175:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", + "status": "Killed", + "testsCompleted": 14, + "static": true, + "killedBy": [ + "747" + ], "coveredBy": [ - "664", - "916" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 2, - "line": 17 + "column": 31, + "line": 6 }, "start": { - "column": 93, - "line": 15 + "column": 14, + "line": 6 } } }, { - "id": "2701", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/helpers/unexpected-exception.factory.ts(19,113): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "2914", + "mutatorName": "ConditionalExpression", + "replacement": "false", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 14, + "static": true, + "killedBy": [ + "493" + ], "coveredBy": [ - "917" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 2, - "line": 22 + "column": 31, + "line": 6 }, "start": { - "column": 133, - "line": 19 + "column": 14, + "line": 6 } } }, { - "id": "2702", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", - "static": false, - "killedBy": [], + "id": "2915", + "mutatorName": "EqualityOperator", + "replacement": "value !== \"false\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 14, + "static": true, + "killedBy": [ + "493" + ], "coveredBy": [ - "917" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 121, - "line": 21 + "column": 31, + "line": 6 }, "start": { - "column": 92, - "line": 21 + "column": 14, + "line": 6 } } - } - ], - "source": "import type { Types } from \"mongoose\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../enums/unexpected-exception.enum\";\nimport { UnexpectedException } from \"../types/unexpected-exception.type\";\n\nfunction createCantFindPlayerUnexpectedException(scope: string, interpolations: { gameId: Types.ObjectId; playerId: Types.ObjectId }): UnexpectedException {\n const { gameId, playerId } = interpolations;\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, { gameId: gameId.toString(), playerId: playerId.toString() });\n}\n\nfunction createPlayerIsDeadUnexpectedException(scope: string, interpolations: { gameId: Types.ObjectId; playerId: Types.ObjectId }): UnexpectedException {\n const { gameId, playerId } = interpolations;\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.PLAYER_IS_DEAD, { gameId: gameId.toString(), playerId: playerId.toString() });\n}\n\nfunction createCantGenerateGamePlaysUnexpectedException(scope: string): UnexpectedException {\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.CANT_GENERATE_GAME_PLAYS);\n}\n\nfunction createNoCurrentGamePlayUnexpectedException(scope: string, interpolations: { gameId: Types.ObjectId }): UnexpectedException {\n const { gameId } = interpolations;\n return new UnexpectedException(scope, UNEXPECTED_EXCEPTION_REASONS.NO_CURRENT_GAME_PLAY, { gameId: gameId.toString() });\n}\n\nexport {\n createCantFindPlayerUnexpectedException,\n createPlayerIsDeadUnexpectedException,\n createCantGenerateGamePlaysUnexpectedException,\n createNoCurrentGamePlayUnexpectedException,\n};" - }, - "src/shared/exception/types/bad-game-play-payload-exception.type.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2703", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/types/bad-game-play-payload-exception.type.ts(5,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", - "status": "CompileError", - "static": false, - "killedBy": [], + "id": "2916", + "mutatorName": "StringLiteral", + "replacement": "\"\"", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "status": "Killed", + "testsCompleted": 14, + "static": true, + "killedBy": [ + "493" + ], "coveredBy": [ - "571", - "969" + "493", + "745", + "746", + "747", + "748", + "749", + "750", + "751", + "1033", + "1034", + "1035", + "1036", + "1037", + "1038" ], "location": { "end": { - "column": 4, - "line": 8 + "column": 31, + "line": 6 }, "start": { - "column": 61, - "line": 5 + "column": 24, + "line": 6 } } }, { - "id": "2704", - "mutatorName": "StringLiteral", - "replacement": "``", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 1\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n- \"message\": \"Bad game play payload\",\n+ \"message\": \"`votes` is required on this current game's state\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2917", + "mutatorName": "BlockStatement", + "replacement": "{}", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "571" + "493" ], "coveredBy": [ - "571", - "969" + "493", + "1033" ], "location": { "end": { - "column": 44, - "line": 6 + "column": 4, + "line": 8 }, "start": { - "column": 21, + "column": 33, "line": 6 } } }, { - "id": "2705", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n Object {\n- \"error\": \"`votes` is required on this current game's state\",\n \"message\": \"Bad game play payload\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:664:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", + "id": "2918", + "mutatorName": "BooleanLiteral", + "replacement": "true", + "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", "status": "Killed", "testsCompleted": 2, "static": false, "killedBy": [ - "571" + "1033" ], "coveredBy": [ - "571", - "969" + "493", + "1033" ], "location": { "end": { - "column": 43, + "column": 17, "line": 7 }, "start": { - "column": 20, + "column": 12, "line": 7 } } } ], - "source": "import { BadRequestException } from \"@nestjs/common\";\nimport type { BAD_GAME_PLAY_PAYLOAD_REASONS } from \"../enums/bad-game-play-payload-error.enum\";\n\nclass BadGamePlayPayloadException extends BadRequestException {\n public constructor(reason: BAD_GAME_PLAY_PAYLOAD_REASONS) {\n const message = `Bad game play payload`;\n super(message, { description: reason });\n }\n}\n\nexport { BadGamePlayPayloadException };" - }, - "src/shared/exception/types/bad-resource-mutation-exception.type.ts": { - "language": "typescript", - "mutants": [ + "source": "import type { TransformFnParams } from \"class-transformer\";\n\nfunction toBoolean({ value }: TransformFnParams): unknown {\n if (value === \"true\") {\n return true;\n } else if (value === \"false\") {\n return false;\n }\n return value;\n}\n\nexport { toBoolean };" + } + }, + "schemaVersion": "1.0", + "thresholds": { + "high": 100, + "low": 100, + "break": 100 + }, + "testFiles": { + "tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts": { + "tests": [ { - "id": "2706", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/types/bad-resource-mutation-exception.type.ts(8,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "564", - "957", - "958" - ], + "id": "0", + "name": "Game Play Validator Service validateGamePlayWithRelationsDto should throw error when game's current play is not set.", "location": { - "end": { - "column": 4, - "line": 12 - }, "start": { - "column": 99, - "line": 8 + "column": 6, + "line": 121 } } }, { - "id": "2707", - "mutatorName": "StringLiteral", - "replacement": "``", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 2\n+ Received + 1\n\n Object {\n- \"error\": \"Game doesn't have status with value \\\"playing\\\"\",\n- \"message\": \"Bad mutation for Game with id \\\"078a94d8daa7d8cda0f4aaf9\\\"\",\n+ \"message\": \"Game doesn't have status with value \\\"playing\\\"\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:535:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 3, - "static": false, - "killedBy": [ - "564" - ], - "coveredBy": [ - "564", - "957", - "958" - ], + "id": "1", + "name": "Game Play Validator Service validateGamePlayWithRelationsDto should call validators when called.", "location": { - "end": { - "column": 91, - "line": 10 - }, "start": { - "column": 21, - "line": 10 + "column": 6, + "line": 130 } } }, { - "id": "2708", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n Object {\n- \"error\": \"Game doesn't have status with value \\\"playing\\\"\",\n \"message\": \"Bad mutation for Game with id \\\"ba0b5dce764d6da1e8dddeef\\\"\",\n \"statusCode\": 400,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:535:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 3, - "static": false, - "killedBy": [ - "564" - ], - "coveredBy": [ - "564", - "957", - "958" - ], + "id": "2", + "name": "Game Play Validator Service validateGamePlayThiefChosenCard should do nothing when game additional cards are not set.", "location": { - "end": { - "column": 43, - "line": 11 - }, "start": { - "column": 20, - "line": 11 + "column": 6, + "line": 144 } } - } - ], - "source": "import { BadRequestException } from \"@nestjs/common\";\nimport { upperFirst } from \"lodash\";\nimport type { API_RESOURCES } from \"../../api/enums/api.enum\";\nimport { getResourceSingularForm } from \"../../api/helpers/api.helper\";\nimport type { BAD_RESOURCE_MUTATION_REASONS } from \"../enums/bad-resource-mutation-error.enum\";\n\nclass BadResourceMutationException extends BadRequestException {\n public constructor(resource: API_RESOURCES, id: string, reason?: BAD_RESOURCE_MUTATION_REASONS) {\n const resourceSingularForm = getResourceSingularForm(resource);\n const message = `Bad mutation for ${upperFirst(resourceSingularForm)} with id \"${id}\"`;\n super(message, { description: reason });\n }\n}\n\nexport { BadResourceMutationException };" - }, - "src/shared/exception/types/resource-not-found-exception.type.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2709", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/types/resource-not-found-exception.type.ts(8,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "546", - "563", - "568", - "569", - "570", - "575", - "933", - "955", - "956" - ], + "id": "3", + "name": "Game Play Validator Service validateGamePlayThiefChosenCard should do nothing when game additional cards are set but thief can skip even if all cards are werewolves.", + "location": { + "start": { + "column": 6, + "line": 152 + } + } + }, + { + "id": "4", + "name": "Game Play Validator Service validateGamePlayThiefChosenCard should do nothing when thief can't skip if all cards are werewolves but they are not so he can skip.", + "location": { + "start": { + "column": 6, + "line": 164 + } + } + }, + { + "id": "5", + "name": "Game Play Validator Service validateGamePlayThiefChosenCard should do nothing when thief can't skip if all cards are werewolves but he chose one anyway.", + "location": { + "start": { + "column": 6, + "line": 176 + } + } + }, + { + "id": "6", + "name": "Game Play Validator Service validateGamePlayThiefChosenCard should throw error when all additional cards are werewolves and thief didn't choose a card.", + "location": { + "start": { + "column": 6, + "line": 188 + } + } + }, + { + "id": "7", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should do nothing when chosen card is not defined and not expected.", + "location": { + "start": { + "column": 6, + "line": 213 + } + } + }, + { + "id": "8", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should throw error when chosen card is defined but not expected.", + "location": { + "start": { + "column": 6, + "line": 220 + } + } + }, + { + "id": "9", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should call validateGamePlayThiefChosenCard method when action is choose card.", + "location": { + "start": { + "column": 6, + "line": 228 + } + } + }, + { + "id": "10", + "name": "Game Play Validator Service validateDrankLifePotionTargets should throw error when there are too much targets for life potion.", + "location": { + "start": { + "column": 6, + "line": 239 + } + } + }, + { + "id": "11", + "name": "Game Play Validator Service validateDrankLifePotionTargets should throw error when life potion target is not alive.", + "location": { + "start": { + "column": 6, + "line": 250 + } + } + }, + { + "id": "12", + "name": "Game Play Validator Service validateDrankLifePotionTargets should throw error when life potion target is not eaten by werewolves.", + "location": { + "start": { + "column": 6, + "line": 259 + } + } + }, + { + "id": "13", + "name": "Game Play Validator Service validateDrankLifePotionTargets should do nothing when there is no life potion target.", + "location": { + "start": { + "column": 6, + "line": 268 + } + } + }, + { + "id": "14", + "name": "Game Play Validator Service validateDrankLifePotionTargets should do nothing when life potion target is applied on valid target.", + "location": { + "start": { + "column": 6, + "line": 274 + } + } + }, + { + "id": "15", + "name": "Game Play Validator Service validateDrankDeathPotionTargets should throw error when there are too much targets for death potion.", + "location": { + "start": { + "column": 6, + "line": 284 + } + } + }, + { + "id": "16", + "name": "Game Play Validator Service validateDrankDeathPotionTargets should throw error when death potion target is not alive.", + "location": { + "start": { + "column": 6, + "line": 294 + } + } + }, + { + "id": "17", + "name": "Game Play Validator Service validateDrankDeathPotionTargets should do nothing when there is no death potion target.", + "location": { + "start": { + "column": 6, + "line": 302 + } + } + }, + { + "id": "18", + "name": "Game Play Validator Service validateDrankDeathPotionTargets should do nothing when death potion target is applied on valid target.", + "location": { + "start": { + "column": 6, + "line": 306 + } + } + }, + { + "id": "19", + "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with life potion but already used it with death potion before.", + "location": { + "start": { + "column": 6, + "line": 331 + } + } + }, + { + "id": "20", + "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with life potion but already used it alone before.", + "location": { + "start": { + "column": 6, + "line": 352 + } + } + }, + { + "id": "21", + "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with death potion but already used it with life potion before.", + "location": { + "start": { + "column": 6, + "line": 370 + } + } + }, + { + "id": "22", + "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with death potion but already used it alone before.", + "location": { + "start": { + "column": 6, + "line": 391 + } + } + }, + { + "id": "23", + "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators without players when called with valid data but no target drank potions.", "location": { - "end": { - "column": 4, - "line": 12 - }, "start": { - "column": 96, - "line": 8 + "column": 6, + "line": 409 } } }, { - "id": "2710", - "mutatorName": "StringLiteral", - "replacement": "``", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "546", - "563", - "568", - "569", - "570", - "575", - "933", - "955", - "956" - ], + "id": "24", + "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators with players when called without bad data and without witch history.", "location": { - "end": { - "column": 84, - "line": 10 - }, "start": { - "column": 21, - "line": 10 + "column": 6, + "line": 420 } } }, { - "id": "2711", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "statusReason": "Error: expect(received).toStrictEqual(expected) // deep equality\n\n- Expected - 1\n+ Received + 0\n\n Object {\n- \"error\": \"Game Play - Player in `targets.player` is not in the game players\",\n \"message\": \"Player with id \\\"b4ffdc16ee80e8a85b02bad8\\\" not found\",\n \"statusCode\": 404,\n }\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox3345698/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:634:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 10, - "static": false, - "killedBy": [ - "570" - ], - "coveredBy": [ - "546", - "563", - "568", - "569", - "570", - "575", - "933", - "955", - "956" - ], + "id": "25", + "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators with players when called for valid life potion data and some witch history.", "location": { - "end": { - "column": 43, - "line": 11 - }, "start": { - "column": 20, - "line": 11 + "column": 6, + "line": 434 } } - } - ], - "source": "import { NotFoundException } from \"@nestjs/common\";\nimport { upperFirst } from \"lodash\";\nimport type { API_RESOURCES } from \"../../api/enums/api.enum\";\nimport { getResourceSingularForm } from \"../../api/helpers/api.helper\";\nimport type { RESOURCE_NOT_FOUND_REASONS } from \"../enums/resource-not-found-error.enum\";\n\nclass ResourceNotFoundException extends NotFoundException {\n public constructor(resource: API_RESOURCES, id: string, reason?: RESOURCE_NOT_FOUND_REASONS) {\n const resourceSingularForm = getResourceSingularForm(resource);\n const message = `${upperFirst(resourceSingularForm)} with id \"${id}\" not found`;\n super(message, { description: reason });\n }\n}\n\nexport { ResourceNotFoundException };" - }, - "src/shared/exception/types/unexpected-exception.type.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2712", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/exception/types/unexpected-exception.type.ts(7,3): error TS2377: Constructors for derived classes must contain a 'super' call.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "388", - "389", - "390", - "391", - "392", - "393", - "413", - "414", - "415", - "416", - "473", - "474", - "477", - "478", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "664", - "914", - "915", - "916", - "917", - "953", - "954" - ], + "id": "26", + "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators with players when called for valid death potion data and some witch history.", "location": { - "end": { - "column": 4, - "line": 10 - }, "start": { - "column": 121, - "line": 7 + "column": 6, + "line": 447 } } }, { - "id": "2713", - "mutatorName": "StringLiteral", - "replacement": "``", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "388", - "389", - "390", - "391", - "392", - "393", - "413", - "414", - "415", - "416", - "473", - "474", - "477", - "478", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "664", - "914", - "915", - "916", - "917", - "953", - "954" - ], + "id": "27", + "name": "Game Play Validator Service validateGamePlayInfectedTargets should throw error when vile father of wolves is not in the game.", "location": { - "end": { - "column": 55, - "line": 8 - }, "start": { - "column": 21, - "line": 8 + "column": 6, + "line": 462 } } }, { - "id": "2714", - "mutatorName": "ObjectLiteral", - "replacement": "{}", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "200", - "201", - "202", - "339", - "340", - "347", - "348", - "388", - "389", - "390", - "391", - "392", - "393", - "413", - "414", - "415", - "416", - "473", - "474", - "477", - "478", - "514", - "515", - "516", - "517", - "518", - "519", - "520", - "521", - "522", - "523", - "524", - "525", - "664", - "914", - "915", - "916", - "917", - "953", - "954" - ], + "id": "28", + "name": "Game Play Validator Service validateGamePlayInfectedTargets should throw error when vile father of wolves is dead.", "location": { - "end": { - "column": 69, - "line": 9 - }, "start": { - "column": 20, - "line": 9 + "column": 6, + "line": 478 } } - } - ], - "source": "import { InternalServerErrorException } from \"@nestjs/common\";\nimport { template } from \"radash\";\nimport type { UNEXPECTED_EXCEPTION_REASONS } from \"../enums/unexpected-exception.enum\";\nimport type { ExceptionInterpolations } from \"./exception.type\";\n\nclass UnexpectedException extends InternalServerErrorException {\n public constructor(scope: string, reason: UNEXPECTED_EXCEPTION_REASONS, interpolations: ExceptionInterpolations = {}) {\n const message = `Unexpected exception in ${scope}`;\n super(message, { description: template(reason, interpolations) });\n }\n}\n\nexport { UnexpectedException };" - }, - "src/shared/validation/helpers/validation.helper.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2715", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(3,102): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "29", + "name": "Game Play Validator Service validateGamePlayInfectedTargets should throw error when vile father of wolves has already infected and some targets are infected.", "location": { - "end": { - "column": 2, - "line": 6 - }, "start": { - "column": 110, - "line": 3 + "column": 6, + "line": 495 } } }, { - "id": "2716", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "30", + "name": "Game Play Validator Service validateGamePlayInfectedTargets should do nothing when there is no infected target.", "location": { - "end": { - "column": 128, - "line": 5 - }, "start": { - "column": 10, - "line": 5 + "column": 6, + "line": 515 } } }, { - "id": "2717", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "31", + "name": "Game Play Validator Service validateGamePlayInfectedTargets should do nothing when infected target data is valid.", "location": { - "end": { - "column": 128, - "line": 5 - }, "start": { - "column": 10, - "line": 5 + "column": 6, + "line": 522 } } }, { - "id": "2718", - "mutatorName": "LogicalOperator", - "replacement": "minItems === undefined || arrayMinSize(array, minItems) || maxItems === undefined || arrayMaxSize(array, maxItems)", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "32", + "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should do nothing when game play source is not from available methods.", "location": { - "end": { - "column": 128, - "line": 5 - }, "start": { - "column": 10, - "line": 5 + "column": 6, + "line": 556 } } }, { - "id": "2719", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "33", + "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source are werewolves.", + "location": { + "start": { + "column": 6, + "line": 564 + } + } + }, + { + "id": "34", + "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is big bad wolf and targets are available.", "location": { - "end": { - "column": 66, - "line": 5 - }, "start": { - "column": 11, - "line": 5 + "column": 6, + "line": 572 } } }, { - "id": "2720", - "mutatorName": "LogicalOperator", - "replacement": "minItems === undefined && arrayMinSize(array, minItems)", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,57): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "35", + "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is big bad wolf but targets are not available.", "location": { - "end": { - "column": 66, - "line": 5 - }, "start": { - "column": 11, - "line": 5 + "column": 6, + "line": 581 } } }, { - "id": "2721", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,40): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "36", + "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is white werewolf and targets are available.", "location": { - "end": { - "column": 33, - "line": 5 - }, "start": { - "column": 11, - "line": 5 + "column": 6, + "line": 590 } } }, { - "id": "2722", - "mutatorName": "EqualityOperator", - "replacement": "minItems !== undefined", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,57): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "583", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "983", - "984", - "985" - ], + "id": "37", + "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is white werewolf but targets are not available.", "location": { - "end": { - "column": 33, - "line": 5 - }, "start": { - "column": 11, - "line": 5 + "column": 6, + "line": 599 } } }, { - "id": "2723", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "status": "Timeout", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "984", - "985" - ], + "id": "38", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when there is no target.", "location": { - "end": { - "column": 127, - "line": 5 - }, "start": { - "column": 72, - "line": 5 + "column": 6, + "line": 614 } } }, { - "id": "2724", - "mutatorName": "LogicalOperator", - "replacement": "maxItems === undefined && arrayMaxSize(array, maxItems)", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,118): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "984", - "985" - ], + "id": "39", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WEREWOLVES and targeted player is dead.", "location": { - "end": { - "column": 127, - "line": 5 - }, "start": { - "column": 72, - "line": 5 + "column": 6, + "line": 620 } } }, { - "id": "2725", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,101): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.\n Type 'undefined' is not assignable to type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "984", - "985" - ], + "id": "40", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WEREWOLVES and targeted player is from werewolves side.", "location": { - "end": { - "column": 94, - "line": 5 - }, "start": { - "column": 72, - "line": 5 + "column": 6, + "line": 634 } } }, { - "id": "2726", - "mutatorName": "EqualityOperator", - "replacement": "maxItems !== undefined", - "statusReason": "src/shared/validation/helpers/validation.helper.ts(5,118): error TS2345: Argument of type 'undefined' is not assignable to parameter of type 'number'.\n", - "status": "CompileError", - "static": false, - "killedBy": [], - "coveredBy": [ - "572", - "573", - "576", - "577", - "579", - "580", - "581", - "582", - "584", - "585", - "586", - "587", - "588", - "589", - "590", - "591", - "592", - "593", - "594", - "595", - "596", - "597", - "598", - "599", - "600", - "601", - "602", - "603", - "604", - "605", - "606", - "607", - "608", - "609", - "982", - "984", - "985" - ], + "id": "41", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is BIG_BAD_WOLF and targeted player is dead.", "location": { - "end": { - "column": 94, - "line": 5 - }, "start": { - "column": 72, - "line": 5 + "column": 6, + "line": 648 } } - } - ], - "source": "import { arrayMaxSize, arrayMinSize } from \"class-validator\";\n\nfunction doesArrayRespectBounds(array: unknown[], bounds: { minItems?: number; maxItems?: number }): boolean {\n const { minItems, maxItems } = bounds;\n return (minItems === undefined || arrayMinSize(array, minItems)) && (maxItems === undefined || arrayMaxSize(array, maxItems));\n}\n\nexport { doesArrayRespectBounds };" - }, - "src/shared/validation/transformers/validation.transformer.ts": { - "language": "typescript", - "mutants": [ + }, { - "id": "2727", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "src/shared/validation/transformers/validation.transformer.ts(3,51): error TS2355: A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value.\n", - "status": "CompileError", - "static": true, - "killedBy": [], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "975", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "42", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is BIG_BAD_WOLF and targeted player is from werewolves side.", "location": { - "end": { - "column": 2, - "line": 10 - }, "start": { - "column": 59, - "line": 3 + "column": 6, + "line": 662 } } }, { - "id": "2728", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": true, - "killedBy": [ - "718" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "975", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "43", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is BIG_BAD_WOLF and targeted player is already eaten.", "location": { - "end": { - "column": 23, - "line": 4 - }, "start": { - "column": 7, - "line": 4 + "column": 6, + "line": 676 } } }, { - "id": "2729", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: \"true\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": true, - "killedBy": [ - "975" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "975", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "44", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WHITE_WEREWOLF and targeted player is dead.", + "location": { + "start": { + "column": 6, + "line": 690 + } + } + }, + { + "id": "45", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WHITE_WEREWOLF and targeted player is from villagers side.", + "location": { + "start": { + "column": 6, + "line": 704 + } + } + }, + { + "id": "46", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WHITE_WEREWOLF and targeted player is white werewolf himself.", "location": { - "end": { - "column": 23, - "line": 4 - }, "start": { - "column": 7, - "line": 4 + "column": 6, + "line": 718 } } }, { - "id": "2730", - "mutatorName": "EqualityOperator", - "replacement": "value !== \"true\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:168:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": true, - "killedBy": [ - "718" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "975", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "47", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when white werewolf eaten target is valid.", "location": { - "end": { - "column": 23, - "line": 4 - }, "start": { - "column": 7, - "line": 4 + "column": 6, + "line": 728 } } }, { - "id": "2731", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: \"true\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 15, - "static": true, - "killedBy": [ - "975" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "975", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "48", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when big bad wolf eaten target is valid.", "location": { - "end": { - "column": 23, - "line": 4 - }, "start": { - "column": 17, - "line": 4 + "column": 6, + "line": 736 } } }, { - "id": "2732", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: \"true\"\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, - "static": false, - "killedBy": [ - "975" - ], - "coveredBy": [ - "975" - ], + "id": "49", + "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when werewolves eaten target is valid.", "location": { - "end": { - "column": 4, - "line": 6 - }, "start": { - "column": 25, - "line": 4 + "column": 6, + "line": 744 } } }, { - "id": "2733", - "mutatorName": "BooleanLiteral", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 1, - "static": false, - "killedBy": [ - "975" - ], - "coveredBy": [ - "975" - ], + "id": "50", + "name": "Game Play Validator Service validateGamePlayHunterTargets should throw error when targeted player is dead.", "location": { - "end": { - "column": 16, - "line": 5 - }, "start": { - "column": 12, - "line": 5 + "column": 6, + "line": 754 } } }, { - "id": "2734", - "mutatorName": "ConditionalExpression", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts:175:70)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 14, - "static": true, - "killedBy": [ - "719" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "51", + "name": "Game Play Validator Service validateGamePlayHunterTargets should do nothing when targeted player for hunter is valid.", "location": { - "end": { - "column": 31, - "line": 6 - }, "start": { - "column": 14, - "line": 6 + "column": 6, + "line": 761 } } }, { - "id": "2735", - "mutatorName": "ConditionalExpression", - "replacement": "false", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 14, - "static": true, - "killedBy": [ - "544" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "52", + "name": "Game Play Validator Service validateGamePlayScapeGoatTargets should throw error when one of the targeted player is dead.", "location": { - "end": { - "column": 31, - "line": 6 - }, "start": { - "column": 14, - "line": 6 + "column": 6, + "line": 769 } } }, { - "id": "2736", - "mutatorName": "EqualityOperator", - "replacement": "value !== \"false\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 14, - "static": true, - "killedBy": [ - "544" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "53", + "name": "Game Play Validator Service validateGamePlayScapeGoatTargets should do nothing when all scapegoat's targets are valid.", "location": { - "end": { - "column": 31, - "line": 6 - }, "start": { - "column": 14, - "line": 6 + "column": 6, + "line": 787 } } }, { - "id": "2737", - "mutatorName": "StringLiteral", - "replacement": "\"\"", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 14, - "static": true, - "killedBy": [ - "544" - ], - "coveredBy": [ - "544", - "717", - "718", - "719", - "720", - "721", - "722", - "723", - "976", - "977", - "978", - "979", - "980", - "981" - ], + "id": "54", + "name": "Game Play Validator Service validateGamePlayCupidTargets should throw error when one of the targeted player is dead.", "location": { - "end": { - "column": 31, - "line": 6 - }, "start": { - "column": 24, - "line": 6 + "column": 6, + "line": 806 } } }, { - "id": "2738", - "mutatorName": "BlockStatement", - "replacement": "{}", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 200\nReceived: 400\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts:224:35)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)", - "status": "Killed", - "testsCompleted": 2, - "static": false, - "killedBy": [ - "544" - ], - "coveredBy": [ - "544", - "976" - ], + "id": "55", + "name": "Game Play Validator Service validateGamePlayCupidTargets should do nothing when all cupid's targets are valid.", "location": { - "end": { - "column": 4, - "line": 8 - }, "start": { - "column": 33, - "line": 6 + "column": 6, + "line": 816 } } }, { - "id": "2739", - "mutatorName": "BooleanLiteral", - "replacement": "true", - "statusReason": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: false\nReceived: true\n at /Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/.stryker-tmp/sandbox4074683/tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts:16:53\n at Object. (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-each/build/bind.js:81:13)\n at Promise.then.completed (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:300:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/utils.js:233:10)\n at _callCircusTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:315:40)\n at async _runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:251:3)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:125:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async _runTestsForDescribeBlock (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:120:9)\n at async run (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/run.js:70:3)\n at async runAndTransformResultsToJestFormat (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at async jestAdapter (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at async runTestInternal (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:367:16)\n at async runTest (/Users/antoinezanardi/WebstormProjects/werewolves-assistant-api-next/node_modules/jest-runner/build/runTest.js:444:34)", - "status": "Killed", - "testsCompleted": 2, - "static": false, - "killedBy": [ - "976" - ], - "coveredBy": [ - "544", - "976" - ], + "id": "56", + "name": "Game Play Validator Service validateGamePlayFoxTargets should throw error when targeted player is dead.", "location": { - "end": { - "column": 17, - "line": 7 - }, "start": { - "column": 12, - "line": 7 + "column": 6, + "line": 827 } } - } - ], - "source": "import type { TransformFnParams } from \"class-transformer\";\n\nfunction toBoolean({ value }: TransformFnParams): unknown {\n if (value === \"true\") {\n return true;\n } else if (value === \"false\") {\n return false;\n }\n return value;\n}\n\nexport { toBoolean };" - } - }, - "schemaVersion": "1.0", - "thresholds": { - "high": 100, - "low": 100, - "break": 100 - }, - "testFiles": { - "tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts": { - "tests": [ + }, { - "id": "0", - "name": "Game Play Validator Service validateGamePlayWithRelationsDto should throw error when game's current play is not set.", + "id": "57", + "name": "Game Play Validator Service validateGamePlayFoxTargets should do nothing when targeted player for fox is valid.", "location": { "start": { "column": 6, - "line": 121 + "line": 834 } } }, { - "id": "1", - "name": "Game Play Validator Service validateGamePlayWithRelationsDto should call validators when called.", + "id": "58", + "name": "Game Play Validator Service validateGamePlaySeerTargets should throw error when targeted player is dead.", "location": { "start": { "column": 6, - "line": 130 + "line": 842 } } }, { - "id": "2", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should throw error when chosen card is not defined but expected.", + "id": "59", + "name": "Game Play Validator Service validateGamePlaySeerTargets should throw error when targeted player is seer herself.", "location": { "start": { "column": 6, - "line": 144 + "line": 850 } } }, { - "id": "3", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should do nothing when chosen card is not defined and not expected.", + "id": "60", + "name": "Game Play Validator Service validateGamePlaySeerTargets should do nothing when seer's targeted player is valid.", "location": { "start": { "column": 6, - "line": 152 + "line": 860 } } }, { - "id": "4", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should throw error when chosen card is defined but not expected.", + "id": "61", + "name": "Game Play Validator Service validateGamePlayRavenTargets should throw error when targeted player is dead.", "location": { "start": { "column": 6, - "line": 159 + "line": 869 } } }, { - "id": "5", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenCard should do nothing when chosen card is defined but expected.", + "id": "62", + "name": "Game Play Validator Service validateGamePlayRavenTargets should do nothing when there are no targets.", "location": { "start": { "column": 6, - "line": 167 + "line": 876 } } }, { - "id": "6", - "name": "Game Play Validator Service validateDrankLifePotionTargets should throw error when there are too much targets for life potion.", + "id": "63", + "name": "Game Play Validator Service validateGamePlayRavenTargets should do nothing when raven's target is valid.", "location": { "start": { "column": 6, - "line": 176 + "line": 882 } } }, { - "id": "7", - "name": "Game Play Validator Service validateDrankLifePotionTargets should throw error when life potion target is not alive.", + "id": "64", + "name": "Game Play Validator Service validateGamePlayWildChildTargets should throw error when targeted player is dead.", "location": { "start": { "column": 6, - "line": 187 + "line": 890 } } }, { - "id": "8", - "name": "Game Play Validator Service validateDrankLifePotionTargets should throw error when life potion target is not eaten by werewolves.", + "id": "65", + "name": "Game Play Validator Service validateGamePlayWildChildTargets should throw error when targeted player is wild child himself.", "location": { "start": { "column": 6, - "line": 196 + "line": 898 } } }, { - "id": "9", - "name": "Game Play Validator Service validateDrankLifePotionTargets should do nothing when there is no life potion target.", + "id": "66", + "name": "Game Play Validator Service validateGamePlayWildChildTargets should do nothing when wild child's targeted player is valid.", "location": { "start": { "column": 6, - "line": 205 + "line": 908 } } }, { - "id": "10", - "name": "Game Play Validator Service validateDrankLifePotionTargets should do nothing when life potion target is applied on valid target.", + "id": "67", + "name": "Game Play Validator Service validateGamePlayPiedPiperTargets should throw error when one of the targeted player is not in the last to charm.", "location": { "start": { "column": 6, - "line": 211 + "line": 923 } } }, { - "id": "11", - "name": "Game Play Validator Service validateDrankDeathPotionTargets should throw error when there are too much targets for death potion.", + "id": "68", + "name": "Game Play Validator Service validateGamePlayPiedPiperTargets should do nothing when pied piper targets are valid and limited to game options.", "location": { "start": { "column": 6, - "line": 221 + "line": 942 } } }, { - "id": "12", - "name": "Game Play Validator Service validateDrankDeathPotionTargets should throw error when death potion target is not alive.", + "id": "69", + "name": "Game Play Validator Service validateGamePlayPiedPiperTargets should do nothing when pied piper targets are valid and limited to left players to charm count.", "location": { "start": { "column": 6, - "line": 231 + "line": 960 } } }, { - "id": "13", - "name": "Game Play Validator Service validateDrankDeathPotionTargets should do nothing when there is no death potion target.", + "id": "70", + "name": "Game Play Validator Service validateGamePlayGuardTargets should throw error when targeted player is dead.", "location": { "start": { "column": 6, - "line": 239 + "line": 973 } } }, { - "id": "14", - "name": "Game Play Validator Service validateDrankDeathPotionTargets should do nothing when death potion target is applied on valid target.", + "id": "71", + "name": "Game Play Validator Service validateGamePlayGuardTargets should throw error when targeted player is the same as previous guard play and game option doesn't allow this.", "location": { "start": { "column": 6, - "line": 243 + "line": 982 } } }, { - "id": "15", - "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with life potion but already used it with death potion before.", + "id": "72", + "name": "Game Play Validator Service validateGamePlayGuardTargets should do nothing when targeted player is the same as previous guard play and game option allow this.", "location": { "start": { "column": 6, - "line": 268 + "line": 993 } } }, { - "id": "16", - "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with life potion but already used it alone before.", + "id": "73", + "name": "Game Play Validator Service validateGamePlayGuardTargets should do nothing when targeted player is not the same as previous guard play.", "location": { "start": { "column": 6, - "line": 289 + "line": 1003 } } }, { - "id": "17", - "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with death potion but already used it with life potion before.", + "id": "74", + "name": "Game Play Validator Service validateGamePlaySheriffTargets should do nothing when game play action is not DELEGATE nor SETTLE_VOTES.", "location": { "start": { "column": 6, - "line": 307 + "line": 1015 } } }, { - "id": "18", - "name": "Game Play Validator Service validateGamePlayWitchTargets should throw error when witch targeted someone with death potion but already used it alone before.", + "id": "75", + "name": "Game Play Validator Service validateGamePlaySheriffTargets should throw error when targeted player is dead and upcoming action is DELEGATE.", "location": { "start": { "column": 6, - "line": 328 + "line": 1021 } } }, { - "id": "19", - "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators without players when called with valid data but no target drank potions.", + "id": "76", + "name": "Game Play Validator Service validateGamePlaySheriffTargets should do nothing when targeted player for sheriff delegation is valid.", "location": { "start": { "column": 6, - "line": 346 + "line": 1029 } } }, { - "id": "20", - "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators with players when called without bad data and without witch history.", + "id": "77", + "name": "Game Play Validator Service validateGamePlaySheriffTargets should throw error when targeted player is not in last tie in votes and upcoming action is SETTLE_VOTES.", "location": { "start": { "column": 6, - "line": 357 + "line": 1036 } } }, { - "id": "21", - "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators with players when called for valid life potion data and some witch history.", + "id": "78", + "name": "Game Play Validator Service validateGamePlaySheriffTargets should do nothing when targeted player for sheriff settling votes is valid.", "location": { "start": { "column": 6, - "line": 371 + "line": 1046 } } }, { - "id": "22", - "name": "Game Play Validator Service validateGamePlayWitchTargets should call potions validators with players when called for valid death potion data and some witch history.", + "id": "79", + "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should throw error when min boundary is not respected.", "location": { "start": { "column": 6, - "line": 384 + "line": 1057 } } }, { - "id": "23", - "name": "Game Play Validator Service validateGamePlayInfectedTargets should throw error when vile father of wolves is not in the game.", + "id": "80", + "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should throw error when max boundary is not respected.", "location": { "start": { "column": 6, - "line": 399 + "line": 1068 } } }, { - "id": "24", - "name": "Game Play Validator Service validateGamePlayInfectedTargets should throw error when vile father of wolves is dead.", + "id": "81", + "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should do nothing when boundaries are respected, even equal to max.", "location": { "start": { "column": 6, - "line": 415 + "line": 1079 } } }, { - "id": "25", - "name": "Game Play Validator Service validateGamePlayInfectedTargets should throw error when vile father of wolves has already infected and some targets are infected.", + "id": "82", + "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should do nothing when boundaries are respected, even equal to min.", "location": { "start": { "column": 6, - "line": 432 + "line": 1089 } } }, { - "id": "26", - "name": "Game Play Validator Service validateGamePlayInfectedTargets should do nothing when there is no infected target.", + "id": "83", + "name": "Game Play Validator Service validateGamePlaySourceTargets should do nothing when game source doesn't have a validation method.", "location": { "start": { "column": 6, - "line": 452 + "line": 1137 } } }, { - "id": "27", - "name": "Game Play Validator Service validateGamePlayInfectedTargets should do nothing when infected target data is valid.", + "id": "84", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call sheriff validator when game current play is for the sheriff.", "location": { "start": { "column": 6, - "line": 459 + "line": 1155 } } }, { - "id": "28", - "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should do nothing when game play source is not from available methods.", + "id": "85", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call werewolves validator when game current play is for the werewolves.", "location": { "start": { "column": 6, - "line": 493 + "line": 1172 } } }, { - "id": "29", - "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source are werewolves.", + "id": "86", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call werewolves validator when game current play is for the big bad wolf.", "location": { "start": { "column": 6, - "line": 501 + "line": 1190 } } }, { - "id": "30", - "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is big bad wolf and targets are available.", + "id": "87", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call werewolves validator when game current play is for the white werewolf.", "location": { "start": { "column": 6, - "line": 509 + "line": 1208 } } }, { - "id": "31", - "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is big bad wolf but targets are not available.", + "id": "88", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call guard validator when game current play is for the guard.", "location": { "start": { "column": 6, - "line": 518 + "line": 1226 } } }, { - "id": "32", - "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is white werewolf and targets are available.", + "id": "89", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call pied piper validator when game current play is for the pied piper.", "location": { "start": { "column": 6, - "line": 527 + "line": 1244 } } }, { - "id": "33", - "name": "Game Play Validator Service validateWerewolvesTargetsBoundaries should validate targets boundaries when game play source is white werewolf but targets are not available.", + "id": "90", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call wild child validator when game current play is for the wild child.", "location": { "start": { "column": 6, - "line": 536 + "line": 1262 } } }, { - "id": "34", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when there is no target.", + "id": "91", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call raven validator when game current play is for the raven.", "location": { "start": { "column": 6, - "line": 551 + "line": 1280 } } }, { - "id": "35", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WEREWOLVES and targeted player is dead.", + "id": "92", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call seer validator when game current play is for the seer.", "location": { "start": { "column": 6, - "line": 557 + "line": 1298 } } }, { - "id": "36", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WEREWOLVES and targeted player is from werewolves side.", + "id": "93", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call fox validator when game current play is for the fox.", + "location": { + "start": { + "column": 6, + "line": 1316 + } + } + }, + { + "id": "94", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call cupid validator when game current play is for the cupid.", "location": { "start": { "column": 6, - "line": 571 + "line": 1334 } } }, { - "id": "37", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is BIG_BAD_WOLF and targeted player is dead.", + "id": "95", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call scapegoat validator when game current play is for the scapegoat.", "location": { "start": { "column": 6, - "line": 585 + "line": 1352 } } }, { - "id": "38", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is BIG_BAD_WOLF and targeted player is from werewolves side.", + "id": "96", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call hunter validator when game current play is for the hunter.", "location": { "start": { "column": 6, - "line": 599 + "line": 1370 } } }, { - "id": "39", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is BIG_BAD_WOLF and targeted player is already eaten.", + "id": "97", + "name": "Game Play Validator Service validateGamePlaySourceTargets should call witch validator when game current play is for the witch.", "location": { "start": { "column": 6, - "line": 613 + "line": 1388 } } }, { - "id": "40", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WHITE_WEREWOLF and targeted player is dead.", + "id": "98", + "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected action is not EAT and some targets are infected.", "location": { "start": { "column": 6, - "line": 627 + "line": 1408 } } }, { - "id": "41", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WHITE_WEREWOLF and targeted player is from villagers side.", + "id": "99", + "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected source is not WEREWOLVES and some targets are infected.", "location": { "start": { "column": 6, - "line": 641 + "line": 1425 } } }, { - "id": "42", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should throw error when source is WHITE_WEREWOLF and targeted player is white werewolf himself.", + "id": "100", + "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should do nothing when there are infected targets and expected expected play is valid.", "location": { "start": { "column": 6, - "line": 655 + "line": 1439 } } }, { - "id": "43", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when white werewolf eaten target is valid.", + "id": "101", + "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected action is not USE_POTIONS but targets drank potions.", "location": { "start": { "column": 6, - "line": 665 + "line": 1452 } } }, { - "id": "44", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when big bad wolf eaten target is valid.", + "id": "102", + "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected source is not WITCH but targets drank potions.", "location": { "start": { "column": 6, - "line": 673 + "line": 1464 } } }, { - "id": "45", - "name": "Game Play Validator Service validateGamePlayWerewolvesTargets should do nothing when werewolves eaten target is valid.", + "id": "103", + "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should do nothing when expected some players drank potions and game play is valid.", "location": { "start": { "column": 6, - "line": 681 + "line": 1476 } } }, { - "id": "46", - "name": "Game Play Validator Service validateGamePlayHunterTargets should throw error when targeted player is dead.", + "id": "104", + "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should do nothing when there are no targets defined and upcoming action doesn't require targets anyway.", "location": { "start": { "column": 6, - "line": 691 + "line": 1505 } } }, { - "id": "47", - "name": "Game Play Validator Service validateGamePlayHunterTargets should do nothing when targeted player for hunter is valid.", + "id": "105", + "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should do nothing when there are no targets (empty array) and upcoming action doesn't require targets anyway.", "location": { "start": { "column": 6, - "line": 698 + "line": 1512 } } }, { - "id": "48", - "name": "Game Play Validator Service validateGamePlayScapeGoatTargets should throw error when one of the targeted player is dead.", + "id": "106", + "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should throw error when there is no targets but they are required.", "location": { "start": { "column": 6, - "line": 706 + "line": 1519 } } }, { - "id": "49", - "name": "Game Play Validator Service validateGamePlayScapeGoatTargets should do nothing when all scapegoat's targets are valid.", + "id": "107", + "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should throw error when there are targets but they are not expected.", "location": { "start": { "column": 6, - "line": 724 + "line": 1526 } } }, { - "id": "50", - "name": "Game Play Validator Service validateGamePlayCupidTargets should throw error when one of the targeted player is dead.", + "id": "108", + "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should call targets validators when targets data is valid.", "location": { "start": { "column": 6, - "line": 743 + "line": 1534 } } }, { - "id": "51", - "name": "Game Play Validator Service validateGamePlayCupidTargets should do nothing when all cupid's targets are valid.", + "id": "109", + "name": "Game Play Validator Service validateGamePlayVotesTieBreakerWithRelationsDto should throw error when there is no previous tie in votes record.", "location": { "start": { "column": 6, - "line": 753 + "line": 1545 } } }, { - "id": "52", - "name": "Game Play Validator Service validateGamePlayFoxTargets should throw error when targeted player is dead.", + "id": "110", + "name": "Game Play Validator Service validateGamePlayVotesTieBreakerWithRelationsDto should throw error when one voted player is not in the previous tie.", "location": { "start": { "column": 6, - "line": 764 + "line": 1560 } } }, { - "id": "53", - "name": "Game Play Validator Service validateGamePlayFoxTargets should do nothing when targeted player for fox is valid.", + "id": "111", + "name": "Game Play Validator Service validateGamePlayVotesTieBreakerWithRelationsDto should do nothing when all voted players were in previous tie.", "location": { "start": { "column": 6, - "line": 771 + "line": 1577 } } }, { - "id": "54", - "name": "Game Play Validator Service validateGamePlaySeerTargets should throw error when targeted player is dead.", + "id": "112", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when one vote source is dead.", "location": { "start": { "column": 6, - "line": 779 + "line": 1594 } } }, { - "id": "55", - "name": "Game Play Validator Service validateGamePlaySeerTargets should throw error when targeted player is seer herself.", + "id": "113", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when one vote source doesn't have the ability to vote.", "location": { "start": { "column": 6, - "line": 787 + "line": 1611 } } }, { - "id": "56", - "name": "Game Play Validator Service validateGamePlaySeerTargets should do nothing when seer's targeted player is valid.", + "id": "114", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when one vote target is dead.", "location": { "start": { "column": 6, - "line": 797 + "line": 1628 } } }, { - "id": "57", - "name": "Game Play Validator Service validateGamePlayRavenTargets should throw error when targeted player is dead.", + "id": "115", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when there are votes with the same source and target.", "location": { "start": { "column": 6, - "line": 806 + "line": 1646 } } }, { - "id": "58", - "name": "Game Play Validator Service validateGamePlayRavenTargets should do nothing when there are no targets.", + "id": "116", + "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should do nothing when there is no vote but nobody can votes.", "location": { "start": { "column": 6, - "line": 813 + "line": 1665 } } }, { - "id": "59", - "name": "Game Play Validator Service validateGamePlayRavenTargets should do nothing when raven's target is valid.", + "id": "117", + "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should do nothing when there is no vote but votes can be skipped.", "location": { "start": { "column": 6, - "line": 819 + "line": 1678 } } }, { - "id": "60", - "name": "Game Play Validator Service validateGamePlayWildChildTargets should throw error when targeted player is dead.", + "id": "118", + "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should do nothing when there is no vote when angel presence but it's not a vote action.", "location": { "start": { "column": 6, - "line": 827 + "line": 1691 } } }, { - "id": "61", - "name": "Game Play Validator Service validateGamePlayWildChildTargets should throw error when targeted player is wild child himself.", + "id": "119", + "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should throw error when there is no vote but they are required.", "location": { "start": { "column": 6, - "line": 835 + "line": 1704 } } }, { - "id": "62", - "name": "Game Play Validator Service validateGamePlayWildChildTargets should do nothing when wild child's targeted player is valid.", + "id": "120", + "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should throw error when there is no vote but it's sheriff election time.", "location": { "start": { "column": 6, - "line": 845 + "line": 1718 } } }, { - "id": "63", - "name": "Game Play Validator Service validateGamePlayPiedPiperTargets should throw error when one of the targeted player is not in the last to charm.", + "id": "121", + "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should throw error when there is no vote but votes are because of angel presence.", "location": { "start": { "column": 6, - "line": 860 + "line": 1732 } } }, { - "id": "64", - "name": "Game Play Validator Service validateGamePlayPiedPiperTargets should do nothing when pied piper targets are valid and limited to game options.", + "id": "122", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should resolve when there are no votes defined.", "location": { "start": { "column": 6, - "line": 879 + "line": 1766 } } }, { - "id": "65", - "name": "Game Play Validator Service validateGamePlayPiedPiperTargets should do nothing when pied piper targets are valid and limited to left players to charm count.", + "id": "123", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should call validateGamePlayVotesWithRelationsDto method when there are no votes defined.", "location": { "start": { "column": 6, - "line": 897 + "line": 1772 } } }, { - "id": "66", - "name": "Game Play Validator Service validateGamePlayGuardTargets should throw error when targeted player is dead.", + "id": "124", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should call validateGamePlayVotesWithRelationsDto method when there are no votes (empty array).", "location": { "start": { "column": 6, - "line": 910 + "line": 1779 } } }, { - "id": "67", - "name": "Game Play Validator Service validateGamePlayGuardTargets should throw error when targeted player is the same as previous guard play and game option doesn't allow this.", + "id": "125", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should throw error when there are votes but they are not expected.", "location": { "start": { "column": 6, - "line": 919 + "line": 1786 } } }, { - "id": "68", - "name": "Game Play Validator Service validateGamePlayGuardTargets should do nothing when targeted player is the same as previous guard play and game option allow this.", + "id": "126", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should call validateGamePlayVotesTieBreakerWithRelationsDto when current play is because of previous votes were in ties.", "location": { "start": { "column": 6, - "line": 930 + "line": 1794 } } }, { - "id": "69", - "name": "Game Play Validator Service validateGamePlayGuardTargets should do nothing when targeted player is not the same as previous guard play.", + "id": "127", + "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should do nothing when votes are valid.", "location": { "start": { "column": 6, - "line": 940 + "line": 1802 } } }, { - "id": "70", - "name": "Game Play Validator Service validateGamePlaySheriffTargets should do nothing when game play action is not DELEGATE nor SETTLE_VOTES.", + "id": "128", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should throw error when chosenSide is not defined and game play action is CHOOSE_SIDE.", "location": { "start": { "column": 6, - "line": 952 + "line": 1811 } } }, { - "id": "71", - "name": "Game Play Validator Service validateGamePlaySheriffTargets should throw error when targeted player is dead and upcoming action is DELEGATE.", + "id": "129", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should throw error when chosenSide is defined and game play action is not CHOOSE_SIDE.", "location": { "start": { "column": 6, - "line": 958 + "line": 1819 } } }, { - "id": "72", - "name": "Game Play Validator Service validateGamePlaySheriffTargets should do nothing when targeted player for sheriff delegation is valid.", + "id": "130", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should do nothing when chosenSide is not defined and game play action is not CHOOSE_SIDE.", "location": { "start": { "column": 6, - "line": 966 + "line": 1827 } } }, { - "id": "73", - "name": "Game Play Validator Service validateGamePlaySheriffTargets should throw error when targeted player is not in last tie in votes and upcoming action is SETTLE_VOTES.", + "id": "131", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should do nothing when chosenSide is defined and game play action is CHOOSE_SIDE.", "location": { "start": { "column": 6, - "line": 973 + "line": 1834 } } }, { - "id": "74", - "name": "Game Play Validator Service validateGamePlaySheriffTargets should do nothing when targeted player for sheriff settling votes is valid.", + "id": "132", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should do nothing when doesJudgeRequestAnotherVote is undefined.", "location": { "start": { "column": 6, - "line": 983 + "line": 1843 } } }, { - "id": "75", - "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should throw error when min boundary is not respected.", + "id": "133", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but upcoming action is not vote.", "location": { "start": { "column": 6, - "line": 994 + "line": 1850 } } }, { - "id": "76", - "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should throw error when max boundary is not respected.", + "id": "134", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but there is no judge in the game.", "location": { "start": { "column": 6, - "line": 1005 + "line": 1858 } } }, { - "id": "77", - "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should do nothing when boundaries are respected, even equal to max.", + "id": "135", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but he is dead.", "location": { "start": { "column": 6, - "line": 1016 + "line": 1872 } } }, { - "id": "78", - "name": "Game Play Validator Service validateGamePlayTargetsBoundaries should do nothing when boundaries are respected, even equal to min.", + "id": "136", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but he has reach the request limit.", "location": { "start": { "column": 6, - "line": 1026 + "line": 1886 } } }, { - "id": "79", - "name": "Game Play Validator Service validateGamePlaySourceTargets should do nothing when game source doesn't have a validation method.", + "id": "137", + "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should do nothing when judge request another vote and he can.", "location": { "start": { "column": 6, - "line": 1074 + "line": 1905 } } - }, + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { when } from \"jest-when\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../../../../../../../src/modules/game/enums/game-history-record.enum\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameHelper from \"../../../../../../../../src/modules/game/helpers/game.helper\";\nimport { GameHistoryRecordRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePlayValidatorService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-validator.service\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { BadGamePlayPayloadException } from \"../../../../../../../../src/shared/exception/types/bad-game-play-payload-exception.type\";\nimport { createFakeMakeGamePlayTargetWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-target-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayVoteWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-vote-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { createFakeGameAdditionalCard } from \"../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameHistoryRecord, createFakeGameHistoryRecordAllVotePlay, createFakeGameHistoryRecordGuardProtectPlay, createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlayVoting, createFakeGameHistoryRecordWerewolvesEatPlay, createFakeGameHistoryRecordWitchUsePotionsPlay } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakePiedPiperGameOptions, createFakeRolesGameOptions, createFakeThiefGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeVotesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/votes-game-options.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlay, createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayThiefChoosesCard, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByAllPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeDogWolfAlivePlayer, createFakeIdiotAlivePlayer, createFakeSeerAlivePlayer, createFakeStutteringJudgeAlivePlayer, createFakeVileFatherOfWolvesAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWhiteWerewolfAlivePlayer, createFakeWildChildAlivePlayer, createFakeWitchAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\njest.mock(\"../../../../../../../../src/shared/exception/types/bad-game-play-payload-exception.type\");\n\ndescribe(\"Game Play Validator Service\", () => {\n let mocks: {\n gameRepository: {\n find: jest.SpyInstance;\n findOne: jest.SpyInstance;\n create: jest.SpyInstance;\n updateOne: jest.SpyInstance;\n };\n gameHistoryRecordRepository: {\n find: jest.SpyInstance;\n create: jest.SpyInstance;\n };\n gameHistoryRecordService: {\n getLastGameHistoryGuardProtectsRecord: jest.SpyInstance;\n getLastGameHistoryTieInVotesRecord: jest.SpyInstance;\n getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance;\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.SpyInstance;\n getGameHistoryJudgeRequestRecords: jest.SpyInstance;\n };\n };\n let services: { gamePlayValidator: GamePlayValidatorService };\n\n beforeEach(async() => {\n mocks = {\n gameRepository: {\n find: jest.fn(),\n findOne: jest.fn(),\n create: jest.fn(),\n updateOne: jest.fn(),\n },\n gameHistoryRecordRepository: {\n find: jest.fn(),\n create: jest.fn(),\n },\n gameHistoryRecordService: {\n getLastGameHistoryGuardProtectsRecord: jest.fn(),\n getLastGameHistoryTieInVotesRecord: jest.fn(),\n getGameHistoryWitchUsesSpecificPotionRecords: jest.fn(),\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.fn(),\n getGameHistoryJudgeRequestRecords: jest.fn(),\n },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n GamePlayValidatorService,\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n {\n provide: GameHistoryRecordRepository,\n useValue: mocks.gameHistoryRecordRepository,\n },\n ],\n }).compile();\n \n services = { gamePlayValidator: module.get(GamePlayValidatorService) };\n });\n \n describe(\"validateGamePlayWithRelationsDto\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlayWithRelationsDtoJudgeRequest: jest.SpyInstance;\n validateGamePlayWithRelationsDtoChosenSide: jest.SpyInstance;\n validateGamePlayVotesWithRelationsDto: jest.SpyInstance;\n validateGamePlayTargetsWithRelationsDto: jest.SpyInstance;\n validateGamePlayWithRelationsDtoChosenCard: jest.SpyInstance;\n };\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.SpyInstance };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateGamePlayWithRelationsDtoJudgeRequest: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWithRelationsDtoJudgeRequest }, \"validateGamePlayWithRelationsDtoJudgeRequest\").mockImplementation(),\n validateGamePlayWithRelationsDtoChosenSide: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWithRelationsDtoChosenSide }, \"validateGamePlayWithRelationsDtoChosenSide\").mockImplementation(),\n validateGamePlayVotesWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayVotesWithRelationsDto }, \"validateGamePlayVotesWithRelationsDto\").mockImplementation(),\n validateGamePlayTargetsWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayTargetsWithRelationsDto }, \"validateGamePlayTargetsWithRelationsDto\").mockImplementation(),\n validateGamePlayWithRelationsDtoChosenCard: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWithRelationsDtoChosenCard }, \"validateGamePlayWithRelationsDtoChosenCard\").mockImplementation(),\n },\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() },\n };\n });\n \n it(\"should throw error when game's current play is not set.\", async() => {\n const game = createFakeGame();\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n const interpolations = { gameId: game._id };\n \n await expect(services.gamePlayValidator.validateGamePlayWithRelationsDto(makeGamePlayWithRelationsDto, game)).toReject();\n expect(localMocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"validateGamePlayWithRelationsDto\", interpolations);\n });\n\n it(\"should call validators when called.\", async() => {\n const game = createFakeGame({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n await services.gamePlayValidator.validateGamePlayWithRelationsDto(makeGamePlayWithRelationsDto, game);\n \n expect(localMocks.gamePlayValidatorService.validateGamePlayWithRelationsDtoJudgeRequest).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWithRelationsDtoChosenSide).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayVotesWithRelationsDto).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsWithRelationsDto).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWithRelationsDtoChosenCard).toHaveBeenCalledOnce();\n });\n });\n\n describe(\"validateGamePlayThiefChosenCard\", () => {\n it(\"should do nothing when game additional cards are not set.\", () => {\n const chosenCard = createFakeGameAdditionalCard();\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) });\n const game = createFakeGameWithCurrentPlay({ options });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayThiefChosenCard\"](chosenCard, game)).not.toThrow();\n });\n \n it(\"should do nothing when game additional cards are set but thief can skip even if all cards are werewolves.\", () => {\n const chosenCard = createFakeGameAdditionalCard();\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: false }) }) });\n const additionalCards = [\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WHITE_WEREWOLF }),\n ];\n const game = createFakeGameWithCurrentPlay({ additionalCards, options });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayThiefChosenCard\"](chosenCard, game)).not.toThrow();\n });\n\n it(\"should do nothing when thief can't skip if all cards are werewolves but they are not so he can skip.\", () => {\n const chosenCard = undefined;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) });\n const additionalCards = [\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.SEER }),\n ];\n const game = createFakeGameWithCurrentPlay({ additionalCards, options });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayThiefChosenCard\"](chosenCard, game)).not.toThrow();\n });\n\n it(\"should do nothing when thief can't skip if all cards are werewolves but he chose one anyway.\", () => {\n const chosenCard = createFakeGameAdditionalCard();\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) });\n const additionalCards = [\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WHITE_WEREWOLF }),\n ];\n const game = createFakeGameWithCurrentPlay({ additionalCards, options });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayThiefChosenCard\"](chosenCard, game)).not.toThrow();\n });\n\n it(\"should throw error when all additional cards are werewolves and thief didn't choose a card.\", () => {\n const chosenCard = undefined;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) });\n const additionalCards = [\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WHITE_WEREWOLF }),\n ];\n const game = createFakeGameWithCurrentPlay({ additionalCards, options });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayThiefChosenCard\"](chosenCard, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Thief must choose a card (`chosenCard`)\");\n });\n });\n\n describe(\"validateGamePlayWithRelationsDtoChosenCard\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlayThiefChosenCard: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = { gamePlayValidatorService: { validateGamePlayThiefChosenCard: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayThiefChosenCard }, \"validateGamePlayThiefChosenCard\").mockImplementation() } };\n });\n\n it(\"should do nothing when chosen card is not defined and not expected.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n \n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n\n it(\"should throw error when chosen card is defined but not expected.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenCard: createFakeGameAdditionalCard() });\n \n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`chosenCard` can't be set on this current game's state\");\n });\n\n it(\"should call validateGamePlayThiefChosenCard method when action is choose card.\", () => {\n const chosenCard = createFakeGameAdditionalCard();\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenCard });\n services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayThiefChosenCard).toHaveBeenCalledExactlyOnceWith(chosenCard, game);\n });\n });\n\n describe(\"validateDrankLifePotionTargets\", () => {\n it(\"should throw error when there are too much targets for life potion.\", () => {\n const drankLifePotionTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n ];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too much targets which drank life potion (`targets.drankPotion`)\");\n });\n\n it(\"should throw error when life potion target is not alive.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: false, attributes: [createFakeEatenByWerewolvesPlayerAttribute()] });\n const drankLifePotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.LIFE })];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Life potion can't be applied to this target (`targets.drankPotion`)\");\n });\n\n it(\"should throw error when life potion target is not eaten by werewolves.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: true, attributes: [] });\n const drankLifePotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.LIFE })];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Life potion can't be applied to this target (`targets.drankPotion`)\");\n });\n\n it(\"should do nothing when there is no life potion target.\", () => {\n const game = createFakeGame();\n\n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"]([], game)).not.toThrow();\n });\n\n it(\"should do nothing when life potion target is applied on valid target.\", () => {\n const targetedPlayer = createFakePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()], isAlive: true });\n const drankLifePotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.LIFE })];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).not.toThrow();\n });\n });\n\n describe(\"validateDrankDeathPotionTargets\", () => {\n it(\"should throw error when there are too much targets for death potion.\", () => {\n const drankDeathPotionTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n ];\n \n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"](drankDeathPotionTargets)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too much targets which drank death potion (`targets.drankPotion`)\");\n });\n\n it(\"should throw error when death potion target is not alive.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: false });\n const drankDeathPotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.DEATH })];\n \n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"](drankDeathPotionTargets)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Death potion can't be applied to this target (`targets.drankPotion`)\");\n });\n\n it(\"should do nothing when there is no death potion target.\", () => {\n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"]([])).not.toThrow();\n });\n\n it(\"should do nothing when death potion target is applied on valid target.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: true });\n const drankDeathPotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.DEATH })];\n \n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"](drankDeathPotionTargets)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayWitchTargets\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateDrankLifePotionTargets: jest.SpyInstance;\n validateDrankDeathPotionTargets: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateDrankLifePotionTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateDrankLifePotionTargets }, \"validateDrankLifePotionTargets\").mockImplementation(),\n validateDrankDeathPotionTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateDrankDeathPotionTargets }, \"validateDrankDeathPotionTargets\").mockImplementation(),\n },\n };\n });\n \n it(\"should throw error when witch targeted someone with life potion but already used it with death potion before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n const gameHistoryRecordTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n ];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when witch targeted someone with life potion but already used it alone before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({}),\n ];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE })];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when witch targeted someone with death potion but already used it with life potion before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n const gameHistoryRecordTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n ];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when witch targeted someone with death potion but already used it alone before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1], drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[2] }),\n ];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH })];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should call potions validators without players when called with valid data but no target drank potions.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() })];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([]);\n });\n\n it(\"should call potions validators with players when called without bad data and without witch history.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[0]], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[1]]);\n });\n\n it(\"should call potions validators with players when called for valid life potion data and some witch history.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE })];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH })];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) })];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockReturnValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[0]], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([]);\n });\n\n it(\"should call potions validators with players when called for valid death potion data and some witch history.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH })];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE })];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) })];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[0]]);\n });\n });\n\n describe(\"validateGamePlayInfectedTargets\", () => {\n it(\"should throw error when vile father of wolves is not in the game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true })];\n const gameHistoryRecords = [];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should throw error when vile father of wolves is dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true })];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: gameHistoryRecordTargets }) })];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should throw error when vile father of wolves has already infected and some targets are infected.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n const gameHistoryRecordTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true }),\n createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: false }),\n ];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: gameHistoryRecordTargets }) })];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when there is no infected target.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when infected target data is valid.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true })];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateWerewolvesTargetsBoundaries\", () => {\n let localMocks: {\n gamePlayValidatorService: { validateGamePlayTargetsBoundaries: jest.SpyInstance };\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.SpyInstance;\n getLeftToEatByWhiteWerewolfPlayers: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: { validateGamePlayTargetsBoundaries: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayTargetsBoundaries }, \"validateGamePlayTargetsBoundaries\").mockImplementation() },\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWerewolvesPlayers\").mockReturnValue([]),\n getLeftToEatByWhiteWerewolfPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWhiteWerewolfPlayers\").mockReturnValue([]),\n },\n };\n });\n\n it(\"should do nothing when game play source is not from available methods.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).not.toHaveBeenCalled();\n });\n\n it(\"should validate targets boundaries when game play source are werewolves.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 1, max: 1 });\n });\n\n it(\"should validate targets boundaries when game play source is big bad wolf and targets are available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([createFakeVillagerAlivePlayer(), createFakeVillagerAlivePlayer()]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 1, max: 1 });\n });\n\n it(\"should validate targets boundaries when game play source is big bad wolf but targets are not available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 0, max: 0 });\n });\n\n it(\"should validate targets boundaries when game play source is white werewolf and targets are available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([createFakeVillagerAlivePlayer(), createFakeVillagerAlivePlayer()]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 0, max: 1 });\n });\n\n it(\"should validate targets boundaries when game play source is white werewolf but targets are not available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 0, max: 0 });\n });\n });\n\n describe(\"validateGamePlayWerewolvesTargets\", () => {\n beforeEach(() => {\n jest.spyOn(services.gamePlayValidator as unknown as { validateWerewolvesTargetsBoundaries }, \"validateWerewolvesTargetsBoundaries\").mockImplementation();\n });\n\n it(\"should do nothing when there is no target.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayTargetsWithRelationsDto = [];\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when source is WEREWOLVES and targeted player is dead.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Werewolves can't eat this target\");\n });\n\n it(\"should throw error when source is WEREWOLVES and targeted player is from werewolves side.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Werewolves can't eat this target\");\n });\n\n it(\"should throw error when source is BIG_BAD_WOLF and targeted player is dead.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Big bad wolf can't eat this target\");\n });\n\n it(\"should throw error when source is BIG_BAD_WOLF and targeted player is from werewolves side.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Big bad wolf can't eat this target\");\n });\n\n it(\"should throw error when source is BIG_BAD_WOLF and targeted player is already eaten.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Big bad wolf can't eat this target\");\n });\n\n it(\"should throw error when source is WHITE_WEREWOLF and targeted player is dead.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"White werewolf can't eat this target\");\n });\n\n it(\"should throw error when source is WHITE_WEREWOLF and targeted player is from villagers side.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[2] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"White werewolf can't eat this target\");\n });\n\n it(\"should throw error when source is WHITE_WEREWOLF and targeted player is white werewolf himself.\", async() => {\n const whiteWerewolfPlayer = createFakeWhiteWerewolfAlivePlayer();\n const players = bulkCreateFakePlayers(4, [whiteWerewolfPlayer]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: whiteWerewolfPlayer })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"White werewolf can't eat this target\");\n });\n\n it(\"should do nothing when white werewolf eaten target is valid.\", async() => {\n const players = [createFakeWerewolfAlivePlayer()];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when big bad wolf eaten target is valid.\", async() => {\n const players = [createFakeVillagerAlivePlayer()];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when werewolves eaten target is valid.\", async() => {\n const players = [createFakeVillagerAlivePlayer()];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayHunterTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayHunterTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Hunter can't shoot this target\");\n });\n\n it(\"should do nothing when targeted player for hunter is valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayHunterTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayScapeGoatTargets\", () => {\n it(\"should throw error when one of the targeted player is dead.\", () => {\n const players = [\n createFakeWitchAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayScapegoatBansVoting(), players });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayScapegoatTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"At least one of the scapegoat targets can't be banned from voting\");\n });\n\n it(\"should do nothing when all scapegoat's targets are valid.\", () => {\n const players = [\n createFakeWitchAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayScapegoatBansVoting(), players });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayScapegoatTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayCupidTargets\", () => {\n it(\"should throw error when one of the targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayCupidTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"At least one of the cupid targets can't be charmed\");\n });\n\n it(\"should do nothing when all cupid's targets are valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayCupidTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayFoxTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayFoxTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Fox can't sniff this target\");\n });\n\n it(\"should do nothing when targeted player for fox is valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayFoxTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlaySeerTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlaySeerTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Seer can't look at this target\");\n });\n\n it(\"should throw error when targeted player is seer herself.\", () => {\n const seerPlayer = createFakeSeerAlivePlayer();\n const players = bulkCreateFakePlayers(4, [seerPlayer]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: seerPlayer })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlaySeerTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Seer can't look at this target\");\n });\n\n it(\"should do nothing when seer's targeted player is valid.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlaySeerTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayRavenTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayRavenTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Raven can't mark this target\");\n });\n\n it(\"should do nothing when there are no targets.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayRavenTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n\n it(\"should do nothing when raven's target is valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayRavenTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayWildChildTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWildChildTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Wild child can't choose this target as a model\");\n });\n\n it(\"should throw error when targeted player is wild child himself.\", () => {\n const wildChildPlayer = createFakeWildChildAlivePlayer();\n const players = bulkCreateFakePlayers(4, [wildChildPlayer]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: wildChildPlayer })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWildChildTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Wild child can't choose this target as a model\");\n });\n\n it(\"should do nothing when wild child's targeted player is valid.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWildChildTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayPiedPiperTargets\", () => {\n let validateGamePlayTargetsBoundariesMock: jest.SpyInstance;\n\n beforeEach(() => {\n validateGamePlayTargetsBoundariesMock = jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayTargetsBoundaries }, \"validateGamePlayTargetsBoundaries\").mockImplementation();\n });\n\n it(\"should throw error when one of the targeted player is not in the last to charm.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms() });\n const leftToCharmPlayers = [\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[0] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[2] }),\n ];\n jest.spyOn(GameHelper, \"getLeftToCharmByPiedPiperPlayers\").mockReturnValue(leftToCharmPlayers);\n\n expect(() => services.gamePlayValidator[\"validateGamePlayPiedPiperTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"At least one of the pied piper targets can't be charmed\");\n });\n\n it(\"should do nothing when pied piper targets are valid and limited to game options.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ charmedPeopleCountPerNight: 2 }) }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms(), options });\n const leftToCharmPlayers = [\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[0] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[1] }),\n ];\n jest.spyOn(GameHelper, \"getLeftToCharmByPiedPiperPlayers\").mockReturnValue(leftToCharmPlayers);\n\n expect(() => services.gamePlayValidator[\"validateGamePlayPiedPiperTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n expect(validateGamePlayTargetsBoundariesMock).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 2, max: 2 });\n });\n\n it(\"should do nothing when pied piper targets are valid and limited to left players to charm count.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ charmedPeopleCountPerNight: 5 }) }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms(), options });\n const leftToCharmPlayers = [createFakeWildChildAlivePlayer()];\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[0] })];\n jest.spyOn(GameHelper, \"getLeftToCharmByPiedPiperPlayers\").mockReturnValue(leftToCharmPlayers);\n\n expect(() => services.gamePlayValidator[\"validateGamePlayPiedPiperTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n expect(validateGamePlayTargetsBoundariesMock).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 1, max: 1 });\n });\n });\n\n describe(\"validateGamePlayGuardTargets\", () => {\n it(\"should throw error when targeted player is dead.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects() });\n const targetedPlayer = createFakeVillagerAlivePlayer({ isAlive: false });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Guard can't protect this target\");\n });\n\n it(\"should throw error when targeted player is the same as previous guard play and game option doesn't allow this.\", async() => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ guard: { canProtectTwice: false } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects(), options });\n const targetedPlayer = createFakeVillagerAlivePlayer();\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n mocks.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [{ player: targetedPlayer }] }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Guard can't protect this target\");\n });\n\n it(\"should do nothing when targeted player is the same as previous guard play and game option allow this.\", async() => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ guard: { canProtectTwice: true } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects(), options });\n const targetedPlayer = createFakeVillagerAlivePlayer();\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n mocks.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [{ player: targetedPlayer }] }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when targeted player is not the same as previous guard play.\", async() => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ guard: { canProtectTwice: false } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects(), options });\n const targetedPlayer = createFakeVillagerAlivePlayer();\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n mocks.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [{ player: createFakeSeerAlivePlayer() }] }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlaySheriffTargets\", () => {\n it(\"should do nothing when game play action is not DELEGATE nor SETTLE_VOTES.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates({ action: GAME_PLAY_ACTIONS.USE_POTIONS }) });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when targeted player is dead and upcoming action is DELEGATE.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Sheriff can't delegate his role to this target\");\n });\n\n it(\"should do nothing when targeted player for sheriff delegation is valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() })];\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when targeted player is not in last tie in votes and upcoming action is SETTLE_VOTES.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n const gameHistoryRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ result: GAME_HISTORY_RECORD_VOTING_RESULTS.TIE, nominatedPlayers: [createFakeSeerAlivePlayer()] });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ voting: gameHistoryRecordPlayVoting }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Sheriff can't break the tie in votes with this target\");\n });\n\n it(\"should do nothing when targeted player for sheriff settling votes is valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n const gameHistoryRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ result: GAME_HISTORY_RECORD_VOTING_RESULTS.TIE, nominatedPlayers: [game.players[0]] });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ voting: gameHistoryRecordPlayVoting }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayTargetsBoundaries\", () => {\n it(\"should throw error when min boundary is not respected.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 4, max: 4 })).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too less targets for this current game's state\");\n });\n\n it(\"should throw error when max boundary is not respected.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 2, max: 2 })).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too much targets for this current game's state\");\n });\n\n it(\"should do nothing when boundaries are respected, even equal to max.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 1, max: 3 })).not.toThrow();\n });\n\n it(\"should do nothing when boundaries are respected, even equal to min.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 3, max: 4 })).not.toThrow();\n });\n });\n\n describe(\"validateGamePlaySourceTargets\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlaySheriffTargets: jest.SpyInstance;\n validateGamePlayGuardTargets: jest.SpyInstance;\n validateGamePlayPiedPiperTargets: jest.SpyInstance;\n validateGamePlayWildChildTargets: jest.SpyInstance;\n validateGamePlayRavenTargets: jest.SpyInstance;\n validateGamePlaySeerTargets: jest.SpyInstance;\n validateGamePlayFoxTargets: jest.SpyInstance;\n validateGamePlayCupidTargets: jest.SpyInstance;\n validateGamePlayScapegoatTargets: jest.SpyInstance;\n validateGamePlayHunterTargets: jest.SpyInstance;\n validateGamePlayWerewolvesTargets: jest.SpyInstance;\n validateGamePlayWitchTargets: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateGamePlaySheriffTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlaySheriffTargets }, \"validateGamePlaySheriffTargets\").mockImplementation(),\n validateGamePlayGuardTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayGuardTargets }, \"validateGamePlayGuardTargets\").mockImplementation(),\n validateGamePlayPiedPiperTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayPiedPiperTargets }, \"validateGamePlayPiedPiperTargets\").mockImplementation(),\n validateGamePlayWildChildTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWildChildTargets }, \"validateGamePlayWildChildTargets\").mockImplementation(),\n validateGamePlayRavenTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayRavenTargets }, \"validateGamePlayRavenTargets\").mockImplementation(),\n validateGamePlaySeerTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlaySeerTargets }, \"validateGamePlaySeerTargets\").mockImplementation(),\n validateGamePlayFoxTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayFoxTargets }, \"validateGamePlayFoxTargets\").mockImplementation(),\n validateGamePlayCupidTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayCupidTargets }, \"validateGamePlayCupidTargets\").mockImplementation(),\n validateGamePlayScapegoatTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayScapegoatTargets }, \"validateGamePlayScapegoatTargets\").mockImplementation(),\n validateGamePlayHunterTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayHunterTargets }, \"validateGamePlayHunterTargets\").mockImplementation(),\n validateGamePlayWerewolvesTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWerewolvesTargets }, \"validateGamePlayWerewolvesTargets\").mockImplementation(),\n validateGamePlayWitchTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWitchTargets }, \"validateGamePlayWitchTargets\").mockImplementation(),\n },\n };\n });\n\n it(\"should do nothing when game source doesn't have a validation method.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlay({ source: createFakeGamePlaySource({ name: ROLE_NAMES.IDIOT }) }) });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call sheriff validator when game current play is for the sheriff.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call werewolves validator when game current play is for the werewolves.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call werewolves validator when game current play is for the big bad wolf.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call werewolves validator when game current play is for the white werewolf.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call guard validator when game current play is for the guard.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call pied piper validator when game current play is for the pied piper.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call wild child validator when game current play is for the wild child.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call raven validator when game current play is for the raven.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayRavenMarks() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call seer validator when game current play is for the seer.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call fox validator when game current play is for the fox.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayFoxSniffs() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call cupid validator when game current play is for the cupid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayCupidCharms() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call scapegoat validator when game current play is for the scapegoat.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayScapegoatBansVoting() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call hunter validator when game current play is for the hunter.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayHunterShoots() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call witch validator when game current play is for the witch.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).toHaveBeenCalledExactlyOnceWith([], game);\n });\n });\n\n describe(\"validateInfectedTargetsAndPotionUsage\", () => {\n it(\"should throw error when expected action is not EAT and some targets are infected.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat({ action: GAME_PLAY_ACTIONS.CHOOSE_CARD }), players });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should throw error when expected source is not WEREWOLVES and some targets are infected.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL }) }), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when there are infected targets and expected expected play is valid.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n\n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n \n it(\"should throw error when expected action is not USE_POTIONS but targets drank potions.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions({ action: GAME_PLAY_ACTIONS.CHOOSE_CARD }) });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when expected source is not WITCH but targets drank potions.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions({ source: createFakeGamePlaySource({ name: ROLE_NAMES.THIEF }) }) });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when expected some players drank potions and game play is valid.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n\n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayTargetsWithRelationsDto\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateInfectedTargetsAndPotionUsage: jest.SpyInstance;\n validateGamePlaySourceTargets: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateInfectedTargetsAndPotionUsage: jest.spyOn(services.gamePlayValidator as unknown as { validateInfectedTargetsAndPotionUsage }, \"validateInfectedTargetsAndPotionUsage\").mockImplementation(),\n validateGamePlaySourceTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlaySourceTargets }, \"validateGamePlaySourceTargets\").mockImplementation(),\n },\n };\n });\n\n it(\"should do nothing when there are no targets defined and upcoming action doesn't require targets anyway.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"](undefined, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateInfectedTargetsAndPotionUsage).not.toHaveBeenCalled();\n });\n\n it(\"should do nothing when there are no targets (empty array) and upcoming action doesn't require targets anyway.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"]([], game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateInfectedTargetsAndPotionUsage).not.toHaveBeenCalled();\n });\n\n it(\"should throw error when there is no targets but they are required.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"]([], game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets` is required on this current game's state\");\n });\n\n it(\"should throw error when there are targets but they are not expected.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets` can't be set on this current game's state\");\n });\n\n it(\"should call targets validators when targets data is valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySourceTargets).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateInfectedTargetsAndPotionUsage).toHaveBeenCalledOnce();\n });\n });\n\n describe(\"validateGamePlayVotesTieBreakerWithRelationsDto\", () => {\n it(\"should throw error when there is no previous tie in votes record.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGameWithCurrentPlay({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto(),\n createFakeMakeGamePlayVoteWithRelationsDto(),\n createFakeMakeGamePlayVoteWithRelationsDto(),\n ];\n\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(null);\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesTieBreakerWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"One vote's target is not in the previous tie in votes\");\n });\n\n it(\"should throw error when one voted player is not in the previous tie.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGameWithCurrentPlay({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[0] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[2] }),\n ];\n\n const lastTieInVotesRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ nominatedPlayers: [players[0], players[1]] });\n const lastTieInVotesRecord = createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordPlay({ voting: lastTieInVotesRecordPlayVoting }) });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(lastTieInVotesRecord);\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesTieBreakerWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"One vote's target is not in the previous tie in votes\");\n });\n\n it(\"should do nothing when all voted players were in previous tie.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGameWithCurrentPlay({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[0] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[1] }),\n ];\n\n const lastTieInVotesRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ nominatedPlayers: [players[0], players[1]] });\n const lastTieInVotesRecord = createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordPlay({ voting: lastTieInVotesRecordPlayVoting }) });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(lastTieInVotesRecord);\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesTieBreakerWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\", () => {\n it(\"should throw error when one vote source is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One source is not able to vote because he's dead or doesn't have the ability to do so\");\n });\n\n it(\"should throw error when one vote source doesn't have the ability to vote.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One source is not able to vote because he's dead or doesn't have the ability to do so\");\n });\n\n it(\"should throw error when one vote target is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[3], target: players[0] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One target can't be voted because he's dead\");\n });\n\n it(\"should throw error when there are votes with the same source and target.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[0] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One vote has the same source and target\");\n });\n });\n\n describe(\"validateUnsetGamePlayVotesWithRelationsDto\", () => {\n it(\"should do nothing when there is no vote but nobody can votes.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n createFakeIdiotAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: false }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).not.toThrow();\n });\n\n it(\"should do nothing when there is no vote but votes can be skipped.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).not.toThrow();\n });\n\n it(\"should do nothing when there is no vote when angel presence but it's not a vote action.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE, action: GAME_PLAY_ACTIONS.CHOOSE_CARD }), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).not.toThrow();\n });\n\n it(\"should throw error when there is no vote but they are required.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: false }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`votes` is required on this current game's state\");\n });\n\n it(\"should throw error when there is no vote but it's sheriff election time.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllElectSheriff(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`votes` is required on this current game's state\");\n });\n\n it(\"should throw error when there is no vote but votes are because of angel presence.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE }), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`votes` is required on this current game's state\");\n });\n });\n\n describe(\"validateGamePlayVotesWithRelationsDto\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlayVotesTieBreakerWithRelationsDto: jest.SpyInstance;\n validateUnsetGamePlayVotesWithRelationsDto: jest.SpyInstance;\n validateGamePlayVotesWithRelationsDtoSourceAndTarget: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateGamePlayVotesTieBreakerWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayVotesTieBreakerWithRelationsDto }, \"validateGamePlayVotesTieBreakerWithRelationsDto\").mockImplementation(),\n validateUnsetGamePlayVotesWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateUnsetGamePlayVotesWithRelationsDto }, \"validateUnsetGamePlayVotesWithRelationsDto\").mockImplementation(),\n validateGamePlayVotesWithRelationsDtoSourceAndTarget: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayVotesWithRelationsDtoSourceAndTarget }, \"validateGamePlayVotesWithRelationsDtoSourceAndTarget\").mockImplementation(),\n },\n };\n });\n\n it(\"should resolve when there are no votes defined.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](undefined, game)).toResolve();\n });\n\n it(\"should call validateGamePlayVotesWithRelationsDto method when there are no votes defined.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](undefined, game);\n\n expect(localMocks.gamePlayValidatorService.validateUnsetGamePlayVotesWithRelationsDto).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call validateGamePlayVotesWithRelationsDto method when there are no votes (empty array).\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateUnsetGamePlayVotesWithRelationsDto).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should throw error when there are votes but they are not expected.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayVotesWithRelationsDto = [createFakeMakeGamePlayVoteWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`votes` can't be set on this current game's state\");\n });\n\n it(\"should call validateGamePlayVotesTieBreakerWithRelationsDto when current play is because of previous votes were in ties.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }) });\n const makeGamePlayVotesWithRelationsDto = [createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[0], target: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateGamePlayVotesTieBreakerWithRelationsDto).toHaveBeenCalledExactlyOnceWith(makeGamePlayVotesWithRelationsDto, game);\n });\n\n it(\"should do nothing when votes are valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayVotesWithRelationsDto = [createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[0], target: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayWithRelationsDtoChosenSide\", () => {\n it(\"should throw error when chosenSide is not defined and game play action is CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`chosenSide` is required on this current game's state\");\n });\n\n it(\"should throw error when chosenSide is defined and game play action is not CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`chosenSide` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when chosenSide is not defined and game play action is not CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n\n it(\"should do nothing when chosenSide is defined and game play action is CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayWithRelationsDtoJudgeRequest\", () => {\n it(\"should do nothing when doesJudgeRequestAnotherVote is undefined.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when judge request another vote but upcoming action is not vote.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should throw error when judge request another vote but there is no judge in the game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should throw error when judge request another vote but he is dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should throw error when judge request another vote but he has reach the request limit.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ stutteringJudge: { voteRequestsCount: 2 } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players, options });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n mocks.gameHistoryRecordService.getGameHistoryJudgeRequestRecords.mockResolvedValue([\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ didJudgeRequestAnotherVote: true }) }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ didJudgeRequestAnotherVote: true }) }),\n ]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when judge request another vote and he can.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ stutteringJudge: { voteRequestsCount: 2 } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players, options });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n mocks.gameHistoryRecordService.getGameHistoryJudgeRequestRecords.mockResolvedValue([createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ didJudgeRequestAnotherVote: true }) })]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toResolve();\n });\n });\n});" + }, + "tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts": { + "tests": [ { - "id": "80", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call sheriff validator when game current play is for the sheriff.", + "id": "138", + "name": "Game Play Service refreshUpcomingPlays should call removeObsoleteUpcomingPlays when called.", "location": { "start": { "column": 6, - "line": 1092 + "line": 91 } } }, { - "id": "81", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call werewolves validator when game current play is for the werewolves.", + "id": "139", + "name": "Game Play Service refreshUpcomingPlays should call getNewUpcomingPlaysForCurrentPhase when called.", "location": { "start": { "column": 6, - "line": 1109 + "line": 101 } } }, { - "id": "82", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call werewolves validator when game current play is for the big bad wolf.", + "id": "140", + "name": "Game Play Service refreshUpcomingPlays should call sortUpcomingPlaysByPriority when called.", "location": { "start": { "column": 6, - "line": 1127 + "line": 111 } } }, { - "id": "83", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call werewolves validator when game current play is for the white werewolf.", + "id": "141", + "name": "Game Play Service proceedToNextGamePlay should return game as is when there is no upcoming plays.", "location": { "start": { "column": 6, - "line": 1145 + "line": 123 } } }, { - "id": "84", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call guard validator when game current play is for the guard.", + "id": "142", + "name": "Game Play Service proceedToNextGamePlay should make proceed to next game play when called.", "location": { "start": { "column": 6, - "line": 1163 + "line": 129 } } }, { - "id": "85", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call pied piper validator when game current play is for the pied piper.", + "id": "143", + "name": "Game Play Service getUpcomingDayPlays should get upcoming day plays when called.", "location": { "start": { "column": 6, - "line": 1181 + "line": 153 } } }, { - "id": "86", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call wild child validator when game current play is for the wild child.", + "id": "144", + "name": "Game Play Service getUpcomingNightPlays should get upcoming night plays when it's the first night with official rules and some roles [#0].", "location": { "start": { - "column": 6, - "line": 1199 + "column": 8, + "line": 249 } } }, { - "id": "87", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call raven validator when game current play is for the raven.", + "id": "145", + "name": "Game Play Service getUpcomingNightPlays should get upcoming night plays when it's the first night with official rules and all roles who act during the night [#1].", "location": { "start": { - "column": 6, - "line": 1217 + "column": 8, + "line": 249 } } }, { - "id": "88", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call seer validator when game current play is for the seer.", + "id": "146", + "name": "Game Play Service getUpcomingNightPlays should get upcoming night plays when it's the second night with official rules and some roles [#2].", "location": { "start": { - "column": 6, - "line": 1235 + "column": 8, + "line": 249 } } }, { - "id": "89", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call fox validator when game current play is for the fox.", + "id": "147", + "name": "Game Play Service removeObsoleteUpcomingPlays should return game as is when no game play needs to be removed.", "location": { "start": { "column": 6, - "line": 1253 + "line": 255 } } }, { - "id": "90", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call cupid validator when game current play is for the cupid.", + "id": "148", + "name": "Game Play Service removeObsoleteUpcomingPlays should remove some game plays when players became powerless or died.", "location": { "start": { "column": 6, - "line": 1271 + "line": 273 } } }, { - "id": "91", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call scapegoat validator when game current play is for the scapegoat.", + "id": "149", + "name": "Game Play Service isUpcomingPlayNewForCurrentPhase should return false when gamePlay is in game's upcoming plays.", "location": { "start": { "column": 6, - "line": 1289 + "line": 300 } } }, { - "id": "92", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call hunter validator when game current play is for the hunter.", + "id": "150", + "name": "Game Play Service isUpcomingPlayNewForCurrentPhase should return false when upcomingPlay is game's current play.", "location": { "start": { "column": 6, - "line": 1307 + "line": 312 } } }, { - "id": "93", - "name": "Game Play Validator Service validateGamePlaySourceTargets should call witch validator when game current play is for the witch.", + "id": "151", + "name": "Game Play Service isUpcomingPlayNewForCurrentPhase should return false when upcomingPlay is already played in game history.", "location": { "start": { "column": 6, - "line": 1325 + "line": 319 } } }, { - "id": "94", - "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected action is not EAT and some targets are infected.", + "id": "152", + "name": "Game Play Service isUpcomingPlayNewForCurrentPhase should return true when upcoming play is nor the current game play, nor already played nor in game's upcoming plays.", "location": { "start": { "column": 6, - "line": 1345 + "line": 343 } } }, { - "id": "95", - "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected source is not WEREWOLVES and some targets are infected.", + "id": "153", + "name": "Game Play Service getNewUpcomingPlaysForCurrentPhase should call getUpcomingNightPlays method with night phase when game phase is night.", "location": { "start": { "column": 6, - "line": 1362 + "line": 380 } } }, { - "id": "96", - "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should do nothing when there are infected targets and expected expected play is valid.", + "id": "154", + "name": "Game Play Service getNewUpcomingPlaysForCurrentPhase should call getUpcomingNightPlays method with day phase when game phase is day.", "location": { "start": { "column": 6, - "line": 1376 + "line": 388 } } }, { - "id": "97", - "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected action is not USE_POTIONS but targets drank potions.", + "id": "155", + "name": "Game Play Service getNewUpcomingPlaysForCurrentPhase should call isUpcomingPlayNewForCurrentPhase method for as much times as there are upcoming phase plays when filtering them.", "location": { "start": { "column": 6, - "line": 1389 + "line": 396 } } }, { - "id": "98", - "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should throw error when expected source is not WITCH but targets drank potions.", + "id": "156", + "name": "Game Play Service validateUpcomingPlaysPriority should do nothing when all game plays have a priority.", "location": { "start": { "column": 6, - "line": 1401 + "line": 413 } } }, { - "id": "99", - "name": "Game Play Validator Service validateInfectedTargetsAndPotionUsage should do nothing when expected some players drank potions and game play is valid.", + "id": "157", + "name": "Game Play Service validateUpcomingPlaysPriority should throw an error when the first upcoming play doesn't have a priority.", "location": { "start": { "column": 6, - "line": 1413 + "line": 423 } } }, { - "id": "100", - "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should do nothing when there are no targets defined and upcoming action doesn't require targets anyway.", + "id": "158", + "name": "Game Play Service sortUpcomingPlaysByPriority should return empty array when upcoming plays are empty.", "location": { "start": { "column": 6, - "line": 1442 + "line": 436 } } }, { - "id": "101", - "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should do nothing when there are no targets (empty array) and upcoming action doesn't require targets anyway.", + "id": "159", + "name": "Game Play Service sortUpcomingPlaysByPriority should return upcoming plays sorted by priority when called with defined actions in priority list.", "location": { "start": { "column": 6, - "line": 1449 + "line": 440 } } }, { - "id": "102", - "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should throw error when there is no targets but they are required.", + "id": "160", + "name": "Game Play Service isSheriffElectionTime should return false when sheriff is not enabled even if it's the time.", "location": { "start": { "column": 6, - "line": 1456 + "line": 469 } } }, { - "id": "103", - "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should throw error when there are targets but they are not expected.", + "id": "161", + "name": "Game Play Service isSheriffElectionTime should return false when it's not the right turn.", "location": { "start": { "column": 6, - "line": 1463 + "line": 475 } } }, { - "id": "104", - "name": "Game Play Validator Service validateGamePlayTargetsWithRelationsDto should call targets validators when targets data is valid.", + "id": "162", + "name": "Game Play Service isSheriffElectionTime should return false when it's not the right phase.", "location": { "start": { "column": 6, - "line": 1471 + "line": 481 } } }, { - "id": "105", - "name": "Game Play Validator Service validateGamePlayVotesTieBreakerWithRelationsDto should throw error when there is no previous tie in votes record.", + "id": "163", + "name": "Game Play Service isSheriffElectionTime should return true when it's the right phase and turn.", "location": { "start": { "column": 6, - "line": 1482 + "line": 487 } } }, { - "id": "106", - "name": "Game Play Validator Service validateGamePlayVotesTieBreakerWithRelationsDto should throw error when one voted player is not in the previous tie.", + "id": "164", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is no cupid in the game dto.", "location": { "start": { "column": 6, - "line": 1497 + "line": 495 } } }, { - "id": "107", - "name": "Game Play Validator Service validateGamePlayVotesTieBreakerWithRelationsDto should do nothing when all voted players were in previous tie.", + "id": "165", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return true when there is cupid in the game dto.", "location": { "start": { "column": 6, - "line": 1514 + "line": 507 } } }, { - "id": "108", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when one vote source is dead.", + "id": "166", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is no cupid in the game.", "location": { "start": { "column": 6, - "line": 1531 + "line": 519 } } }, { - "id": "109", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when one vote source doesn't have the ability to vote.", + "id": "167", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is cupid in the game but he is dead and there is no lovers.", "location": { "start": { "column": 6, - "line": 1548 + "line": 531 } } }, { - "id": "110", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when one vote target is dead.", + "id": "168", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is cupid in the game but he is powerless and there is no lovers.", "location": { "start": { "column": 6, - "line": 1565 + "line": 543 } } }, { - "id": "111", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDtoSourceAndTarget should throw error when there are votes with the same source and target.", + "id": "169", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return true when there is cupid alive and powerful and there is no lovers.", "location": { "start": { "column": 6, - "line": 1583 + "line": 555 } } }, { - "id": "112", - "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should do nothing when there is no vote but nobody can votes.", + "id": "170", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when cupid is dead but one of the lovers is dead.", "location": { "start": { "column": 6, - "line": 1602 + "line": 567 } } }, { - "id": "113", - "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should do nothing when there is no vote but votes can be skipped.", + "id": "171", + "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return true when cupid is dead and lovers are alive.", "location": { "start": { "column": 6, - "line": 1615 + "line": 579 } } }, { - "id": "114", - "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should do nothing when there is no vote when angel presence but it's not a vote action.", + "id": "172", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when game play's action is ELECT_SHERIFF.", "location": { "start": { "column": 6, - "line": 1628 + "line": 593 } } }, { - "id": "115", - "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should throw error when there is no vote but they are required.", + "id": "173", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when game play's action is VOTE but reason is not angel presence.", "location": { "start": { "column": 6, - "line": 1641 + "line": 606 } } }, { - "id": "116", - "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should throw error when there is no vote but it's sheriff election time.", + "id": "174", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is no angel in the game dto.", "location": { "start": { "column": 6, - "line": 1655 + "line": 619 } } }, { - "id": "117", - "name": "Game Play Validator Service validateUnsetGamePlayVotesWithRelationsDto should throw error when there is no vote but votes are because of angel presence.", + "id": "175", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when there is angel in the game dto.", "location": { "start": { "column": 6, - "line": 1669 + "line": 632 } } }, { - "id": "118", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should resolve when there are no votes defined.", + "id": "176", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is no angel in the game.", "location": { "start": { "column": 6, - "line": 1703 + "line": 645 } } }, { - "id": "119", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should call validateGamePlayVotesWithRelationsDto method when there are no votes defined.", + "id": "177", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is angel in the game but he is dead.", "location": { "start": { "column": 6, - "line": 1709 + "line": 658 } } }, { - "id": "120", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should call validateGamePlayVotesWithRelationsDto method when there are no votes (empty array).", + "id": "178", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is angel in the game but he is powerless.", "location": { "start": { "column": 6, - "line": 1716 + "line": 671 } } }, { - "id": "121", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should throw error when there are votes but they are not expected.", + "id": "179", + "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when there is angel in the game alive and powerful.", "location": { "start": { "column": 6, - "line": 1723 + "line": 684 } } }, { - "id": "122", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should call validateGamePlayVotesTieBreakerWithRelationsDto when current play is because of previous votes were in ties.", + "id": "180", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should call all playable method when game plays source group is all.", "location": { "start": { "column": 6, - "line": 1731 + "line": 717 } } }, { - "id": "123", - "name": "Game Play Validator Service validateGamePlayVotesWithRelationsDto should do nothing when votes are valid.", + "id": "181", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should call lovers playable method when game plays source group is lovers.", "location": { "start": { "column": 6, - "line": 1739 + "line": 725 } } }, { - "id": "124", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should throw error when chosenSide is not defined and game play action is CHOOSE_SIDE.", + "id": "182", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should call charmed playable method when game plays source group is charmed people.", "location": { "start": { "column": 6, - "line": 1748 + "line": 733 } } }, { - "id": "125", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should throw error when chosenSide is defined and game play action is not CHOOSE_SIDE.", + "id": "183", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return true when game plays source group is werewolves and game is dto.", "location": { "start": { "column": 6, - "line": 1756 + "line": 741 } } }, { - "id": "126", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should do nothing when chosenSide is not defined and game play action is not CHOOSE_SIDE.", + "id": "184", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return false when game plays source group is villagers and game is dto.", "location": { "start": { "column": 6, - "line": 1764 + "line": 748 } } }, { - "id": "127", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoChosenSide should do nothing when chosenSide is defined and game play action is CHOOSE_SIDE.", + "id": "185", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return false when game plays source group is werewolves and all are powerless.", "location": { "start": { "column": 6, - "line": 1771 + "line": 755 } } }, { - "id": "128", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should do nothing when doesJudgeRequestAnotherVote is undefined.", + "id": "186", + "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return true when game plays source group is werewolves and at least one is alive and powerful.", "location": { "start": { "column": 6, - "line": 1780 + "line": 768 } } }, { - "id": "129", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but upcoming action is not vote.", + "id": "187", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is not in the game dto.", "location": { "start": { "column": 6, - "line": 1787 + "line": 783 } } }, { - "id": "130", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but there is no judge in the game.", + "id": "188", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is not in the game.", "location": { "start": { "column": 6, - "line": 1795 + "line": 795 } } }, { - "id": "131", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but he is dead.", + "id": "189", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is in the game but dead.", "location": { "start": { "column": 6, - "line": 1809 + "line": 807 } } }, { - "id": "132", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should throw error when judge request another vote but he has reach the request limit.", + "id": "190", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is in the game but powerless.", "location": { "start": { "column": 6, - "line": 1823 + "line": 819 } } }, { - "id": "133", - "name": "Game Play Validator Service validateGamePlayWithRelationsDtoJudgeRequest should do nothing when judge request another vote and he can.", + "id": "191", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is in the game but options specify that her turn must be skipped if no more potions.", "location": { "start": { "column": 6, - "line": 1842 + "line": 831 } } - } - ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { when } from \"jest-when\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../../../../../../../src/modules/game/enums/game-history-record.enum\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameHelper from \"../../../../../../../../src/modules/game/helpers/game.helper\";\nimport { GameHistoryRecordRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePlayValidatorService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-validator.service\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { BadGamePlayPayloadException } from \"../../../../../../../../src/shared/exception/types/bad-game-play-payload-exception.type\";\nimport { createFakeMakeGamePlayTargetWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-target-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayVoteWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-vote-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { createFakeGameAdditionalCard } from \"../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameHistoryRecord, createFakeGameHistoryRecordAllVotePlay, createFakeGameHistoryRecordGuardProtectPlay, createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlayVoting, createFakeGameHistoryRecordWerewolvesEatPlay, createFakeGameHistoryRecordWitchUsePotionsPlay } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakePiedPiperGameOptions, createFakeRolesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeVotesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/votes-game-options.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlay, createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayThiefChoosesCard, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByAllPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeDogWolfAlivePlayer, createFakeIdiotAlivePlayer, createFakeSeerAlivePlayer, createFakeStutteringJudgeAlivePlayer, createFakeVileFatherOfWolvesAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWhiteWerewolfAlivePlayer, createFakeWildChildAlivePlayer, createFakeWitchAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\njest.mock(\"../../../../../../../../src/shared/exception/types/bad-game-play-payload-exception.type\");\n\ndescribe(\"Game Play Validator Service\", () => {\n let mocks: {\n gameRepository: {\n find: jest.SpyInstance;\n findOne: jest.SpyInstance;\n create: jest.SpyInstance;\n updateOne: jest.SpyInstance;\n };\n gameHistoryRecordRepository: {\n find: jest.SpyInstance;\n create: jest.SpyInstance;\n };\n gameHistoryRecordService: {\n getLastGameHistoryGuardProtectsRecord: jest.SpyInstance;\n getLastGameHistoryTieInVotesRecord: jest.SpyInstance;\n getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance;\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.SpyInstance;\n getGameHistoryJudgeRequestRecords: jest.SpyInstance;\n };\n };\n let services: { gamePlayValidator: GamePlayValidatorService };\n\n beforeEach(async() => {\n mocks = {\n gameRepository: {\n find: jest.fn(),\n findOne: jest.fn(),\n create: jest.fn(),\n updateOne: jest.fn(),\n },\n gameHistoryRecordRepository: {\n find: jest.fn(),\n create: jest.fn(),\n },\n gameHistoryRecordService: {\n getLastGameHistoryGuardProtectsRecord: jest.fn(),\n getLastGameHistoryTieInVotesRecord: jest.fn(),\n getGameHistoryWitchUsesSpecificPotionRecords: jest.fn(),\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.fn(),\n getGameHistoryJudgeRequestRecords: jest.fn(),\n },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n GamePlayValidatorService,\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n {\n provide: GameHistoryRecordRepository,\n useValue: mocks.gameHistoryRecordRepository,\n },\n ],\n }).compile();\n \n services = { gamePlayValidator: module.get(GamePlayValidatorService) };\n });\n \n describe(\"validateGamePlayWithRelationsDto\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlayWithRelationsDtoJudgeRequest: jest.SpyInstance;\n validateGamePlayWithRelationsDtoChosenSide: jest.SpyInstance;\n validateGamePlayVotesWithRelationsDto: jest.SpyInstance;\n validateGamePlayTargetsWithRelationsDto: jest.SpyInstance;\n validateGamePlayWithRelationsDtoChosenCard: jest.SpyInstance;\n };\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.SpyInstance };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateGamePlayWithRelationsDtoJudgeRequest: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWithRelationsDtoJudgeRequest }, \"validateGamePlayWithRelationsDtoJudgeRequest\").mockImplementation(),\n validateGamePlayWithRelationsDtoChosenSide: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWithRelationsDtoChosenSide }, \"validateGamePlayWithRelationsDtoChosenSide\").mockImplementation(),\n validateGamePlayVotesWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayVotesWithRelationsDto }, \"validateGamePlayVotesWithRelationsDto\").mockImplementation(),\n validateGamePlayTargetsWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayTargetsWithRelationsDto }, \"validateGamePlayTargetsWithRelationsDto\").mockImplementation(),\n validateGamePlayWithRelationsDtoChosenCard: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWithRelationsDtoChosenCard }, \"validateGamePlayWithRelationsDtoChosenCard\").mockImplementation(),\n },\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() },\n };\n });\n \n it(\"should throw error when game's current play is not set.\", async() => {\n const game = createFakeGame();\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n const interpolations = { gameId: game._id };\n \n await expect(services.gamePlayValidator.validateGamePlayWithRelationsDto(makeGamePlayWithRelationsDto, game)).toReject();\n expect(localMocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"validateGamePlayWithRelationsDto\", interpolations);\n });\n\n it(\"should call validators when called.\", async() => {\n const game = createFakeGame({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n await services.gamePlayValidator.validateGamePlayWithRelationsDto(makeGamePlayWithRelationsDto, game);\n \n expect(localMocks.gamePlayValidatorService.validateGamePlayWithRelationsDtoJudgeRequest).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWithRelationsDtoChosenSide).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayVotesWithRelationsDto).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsWithRelationsDto).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWithRelationsDtoChosenCard).toHaveBeenCalledOnce();\n });\n });\n\n describe(\"validateGamePlayWithRelationsDtoChosenCard\", () => {\n it(\"should throw error when chosen card is not defined but expected.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n \n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`chosenCard` is required on this current game's state\");\n });\n\n it(\"should do nothing when chosen card is not defined and not expected.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n \n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n\n it(\"should throw error when chosen card is defined but not expected.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenCard: createFakeGameAdditionalCard() });\n \n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`chosenCard` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when chosen card is defined but expected.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenCard: createFakeGameAdditionalCard() });\n \n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenCard\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateDrankLifePotionTargets\", () => {\n it(\"should throw error when there are too much targets for life potion.\", () => {\n const drankLifePotionTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n ];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too much targets which drank life potion (`targets.drankPotion`)\");\n });\n\n it(\"should throw error when life potion target is not alive.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: false, attributes: [createFakeEatenByWerewolvesPlayerAttribute()] });\n const drankLifePotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.LIFE })];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Life potion can't be applied to this target (`targets.drankPotion`)\");\n });\n\n it(\"should throw error when life potion target is not eaten by werewolves.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: true, attributes: [] });\n const drankLifePotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.LIFE })];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Life potion can't be applied to this target (`targets.drankPotion`)\");\n });\n\n it(\"should do nothing when there is no life potion target.\", () => {\n const game = createFakeGame();\n\n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"]([], game)).not.toThrow();\n });\n\n it(\"should do nothing when life potion target is applied on valid target.\", () => {\n const targetedPlayer = createFakePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()], isAlive: true });\n const drankLifePotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.LIFE })];\n const game = createFakeGame();\n \n expect(() => services.gamePlayValidator[\"validateDrankLifePotionTargets\"](drankLifePotionTargets, game)).not.toThrow();\n });\n });\n\n describe(\"validateDrankDeathPotionTargets\", () => {\n it(\"should throw error when there are too much targets for death potion.\", () => {\n const drankDeathPotionTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n ];\n \n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"](drankDeathPotionTargets)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too much targets which drank death potion (`targets.drankPotion`)\");\n });\n\n it(\"should throw error when death potion target is not alive.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: false });\n const drankDeathPotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.DEATH })];\n \n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"](drankDeathPotionTargets)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Death potion can't be applied to this target (`targets.drankPotion`)\");\n });\n\n it(\"should do nothing when there is no death potion target.\", () => {\n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"]([])).not.toThrow();\n });\n\n it(\"should do nothing when death potion target is applied on valid target.\", () => {\n const targetedPlayer = createFakePlayer({ isAlive: true });\n const drankDeathPotionTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer, drankPotion: WITCH_POTIONS.DEATH })];\n \n expect(() => services.gamePlayValidator[\"validateDrankDeathPotionTargets\"](drankDeathPotionTargets)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayWitchTargets\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateDrankLifePotionTargets: jest.SpyInstance;\n validateDrankDeathPotionTargets: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateDrankLifePotionTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateDrankLifePotionTargets }, \"validateDrankLifePotionTargets\").mockImplementation(),\n validateDrankDeathPotionTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateDrankDeathPotionTargets }, \"validateDrankDeathPotionTargets\").mockImplementation(),\n },\n };\n });\n \n it(\"should throw error when witch targeted someone with life potion but already used it with death potion before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n const gameHistoryRecordTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n ];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when witch targeted someone with life potion but already used it alone before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({}),\n ];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE })];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when witch targeted someone with death potion but already used it with life potion before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n const gameHistoryRecordTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n ];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when witch targeted someone with death potion but already used it alone before.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1], drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[2] }),\n ];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH })];\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay() }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should call potions validators without players when called with valid data but no target drank potions.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() })];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([]);\n });\n\n it(\"should call potions validators with players when called without bad data and without witch history.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n ];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[0]], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[1]]);\n });\n\n it(\"should call potions validators with players when called for valid life potion data and some witch history.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE })];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH })];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) })];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockReturnValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[0]], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([]);\n });\n\n it(\"should call potions validators with players when called for valid death potion data and some witch history.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH })];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE })];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: gameHistoryRecordTargets }) })];\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue(gameHistoryRecords);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWitchTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateDrankLifePotionTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateDrankDeathPotionTargets).toHaveBeenCalledExactlyOnceWith([makeGamePlayTargetsWithRelationsDto[0]]);\n });\n });\n\n describe(\"validateGamePlayInfectedTargets\", () => {\n it(\"should throw error when vile father of wolves is not in the game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true })];\n const gameHistoryRecords = [];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should throw error when vile father of wolves is dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true })];\n const gameHistoryRecordTargets = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: gameHistoryRecordTargets }) })];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should throw error when vile father of wolves has already infected and some targets are infected.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n const gameHistoryRecordTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true }),\n createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: false }),\n ];\n const gameHistoryRecords = [createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: gameHistoryRecordTargets }) })];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue(gameHistoryRecords);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when there is no infected target.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when infected target data is valid.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true })];\n mocks.gameHistoryRecordService.getGameHistoryVileFatherOfWolvesInfectedRecords.mockResolvedValue([]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayInfectedTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateWerewolvesTargetsBoundaries\", () => {\n let localMocks: {\n gamePlayValidatorService: { validateGamePlayTargetsBoundaries: jest.SpyInstance };\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.SpyInstance;\n getLeftToEatByWhiteWerewolfPlayers: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: { validateGamePlayTargetsBoundaries: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayTargetsBoundaries }, \"validateGamePlayTargetsBoundaries\").mockImplementation() },\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWerewolvesPlayers\").mockReturnValue([]),\n getLeftToEatByWhiteWerewolfPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWhiteWerewolfPlayers\").mockReturnValue([]),\n },\n };\n });\n\n it(\"should do nothing when game play source is not from available methods.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).not.toHaveBeenCalled();\n });\n\n it(\"should validate targets boundaries when game play source are werewolves.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 1, max: 1 });\n });\n\n it(\"should validate targets boundaries when game play source is big bad wolf and targets are available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([createFakeVillagerAlivePlayer(), createFakeVillagerAlivePlayer()]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 1, max: 1 });\n });\n\n it(\"should validate targets boundaries when game play source is big bad wolf but targets are not available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 0, max: 0 });\n });\n\n it(\"should validate targets boundaries when game play source is white werewolf and targets are available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([createFakeVillagerAlivePlayer(), createFakeVillagerAlivePlayer()]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 0, max: 1 });\n });\n\n it(\"should validate targets boundaries when game play source is white werewolf but targets are not available.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n localMocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([]);\n services.gamePlayValidator[\"validateWerewolvesTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlayTargetsBoundaries).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 0, max: 0 });\n });\n });\n\n describe(\"validateGamePlayWerewolvesTargets\", () => {\n beforeEach(() => {\n jest.spyOn(services.gamePlayValidator as unknown as { validateWerewolvesTargetsBoundaries }, \"validateWerewolvesTargetsBoundaries\").mockImplementation();\n });\n\n it(\"should do nothing when there is no target.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayTargetsWithRelationsDto = [];\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when source is WEREWOLVES and targeted player is dead.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Werewolves can't eat this target\");\n });\n\n it(\"should throw error when source is WEREWOLVES and targeted player is from werewolves side.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Werewolves can't eat this target\");\n });\n\n it(\"should throw error when source is BIG_BAD_WOLF and targeted player is dead.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Big bad wolf can't eat this target\");\n });\n\n it(\"should throw error when source is BIG_BAD_WOLF and targeted player is from werewolves side.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Big bad wolf can't eat this target\");\n });\n\n it(\"should throw error when source is BIG_BAD_WOLF and targeted player is already eaten.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Big bad wolf can't eat this target\");\n });\n\n it(\"should throw error when source is WHITE_WEREWOLF and targeted player is dead.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"White werewolf can't eat this target\");\n });\n\n it(\"should throw error when source is WHITE_WEREWOLF and targeted player is from villagers side.\", async() => {\n const players = [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[2] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"White werewolf can't eat this target\");\n });\n\n it(\"should throw error when source is WHITE_WEREWOLF and targeted player is white werewolf himself.\", async() => {\n const whiteWerewolfPlayer = createFakeWhiteWerewolfAlivePlayer();\n const players = bulkCreateFakePlayers(4, [whiteWerewolfPlayer]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: whiteWerewolfPlayer })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"White werewolf can't eat this target\");\n });\n\n it(\"should do nothing when white werewolf eaten target is valid.\", async() => {\n const players = [createFakeWerewolfAlivePlayer()];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when big bad wolf eaten target is valid.\", async() => {\n const players = [createFakeVillagerAlivePlayer()];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when werewolves eaten target is valid.\", async() => {\n const players = [createFakeVillagerAlivePlayer()];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[0] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayWerewolvesTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayHunterTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayHunterTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Hunter can't shoot this target\");\n });\n\n it(\"should do nothing when targeted player for hunter is valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayHunterTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayScapeGoatTargets\", () => {\n it(\"should throw error when one of the targeted player is dead.\", () => {\n const players = [\n createFakeWitchAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayScapegoatBansVoting(), players });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayScapegoatTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"At least one of the scapegoat targets can't be banned from voting\");\n });\n\n it(\"should do nothing when all scapegoat's targets are valid.\", () => {\n const players = [\n createFakeWitchAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayScapegoatBansVoting(), players });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayScapegoatTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayCupidTargets\", () => {\n it(\"should throw error when one of the targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayCupidTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"At least one of the cupid targets can't be charmed\");\n });\n\n it(\"should do nothing when all cupid's targets are valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayCupidTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayFoxTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayFoxTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Fox can't sniff this target\");\n });\n\n it(\"should do nothing when targeted player for fox is valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayFoxTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlaySeerTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlaySeerTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Seer can't look at this target\");\n });\n\n it(\"should throw error when targeted player is seer herself.\", () => {\n const seerPlayer = createFakeSeerAlivePlayer();\n const players = bulkCreateFakePlayers(4, [seerPlayer]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: seerPlayer })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlaySeerTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Seer can't look at this target\");\n });\n\n it(\"should do nothing when seer's targeted player is valid.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlaySeerTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayRavenTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayRavenTargets\"](makeGamePlayTargetsWithRelationsDto)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Raven can't mark this target\");\n });\n\n it(\"should do nothing when there are no targets.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayRavenTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n\n it(\"should do nothing when raven's target is valid.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayRavenTargets\"](makeGamePlayTargetsWithRelationsDto)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayWildChildTargets\", () => {\n it(\"should throw error when targeted player is dead.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWildChildTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Wild child can't choose this target as a model\");\n });\n\n it(\"should throw error when targeted player is wild child himself.\", () => {\n const wildChildPlayer = createFakeWildChildAlivePlayer();\n const players = bulkCreateFakePlayers(4, [wildChildPlayer]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: wildChildPlayer })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWildChildTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Wild child can't choose this target as a model\");\n });\n\n it(\"should do nothing when wild child's targeted player is valid.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() })];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWildChildTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayPiedPiperTargets\", () => {\n let validateGamePlayTargetsBoundariesMock: jest.SpyInstance;\n\n beforeEach(() => {\n validateGamePlayTargetsBoundariesMock = jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayTargetsBoundaries }, \"validateGamePlayTargetsBoundaries\").mockImplementation();\n });\n\n it(\"should throw error when one of the targeted player is not in the last to charm.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms() });\n const leftToCharmPlayers = [\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[0] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[2] }),\n ];\n jest.spyOn(GameHelper, \"getLeftToCharmByPiedPiperPlayers\").mockReturnValue(leftToCharmPlayers);\n\n expect(() => services.gamePlayValidator[\"validateGamePlayPiedPiperTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"At least one of the pied piper targets can't be charmed\");\n });\n\n it(\"should do nothing when pied piper targets are valid and limited to game options.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ charmedPeopleCountPerNight: 2 }) }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms(), options });\n const leftToCharmPlayers = [\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[0] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[1] }),\n ];\n jest.spyOn(GameHelper, \"getLeftToCharmByPiedPiperPlayers\").mockReturnValue(leftToCharmPlayers);\n\n expect(() => services.gamePlayValidator[\"validateGamePlayPiedPiperTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n expect(validateGamePlayTargetsBoundariesMock).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 2, max: 2 });\n });\n\n it(\"should do nothing when pied piper targets are valid and limited to left players to charm count.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ charmedPeopleCountPerNight: 5 }) }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms(), options });\n const leftToCharmPlayers = [createFakeWildChildAlivePlayer()];\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: leftToCharmPlayers[0] })];\n jest.spyOn(GameHelper, \"getLeftToCharmByPiedPiperPlayers\").mockReturnValue(leftToCharmPlayers);\n\n expect(() => services.gamePlayValidator[\"validateGamePlayPiedPiperTargets\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n expect(validateGamePlayTargetsBoundariesMock).toHaveBeenCalledExactlyOnceWith(makeGamePlayTargetsWithRelationsDto, { min: 1, max: 1 });\n });\n });\n\n describe(\"validateGamePlayGuardTargets\", () => {\n it(\"should throw error when targeted player is dead.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects() });\n const targetedPlayer = createFakeVillagerAlivePlayer({ isAlive: false });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Guard can't protect this target\");\n });\n\n it(\"should throw error when targeted player is the same as previous guard play and game option doesn't allow this.\", async() => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ guard: { canProtectTwice: false } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects(), options });\n const targetedPlayer = createFakeVillagerAlivePlayer();\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n mocks.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [{ player: targetedPlayer }] }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Guard can't protect this target\");\n });\n\n it(\"should do nothing when targeted player is the same as previous guard play and game option allow this.\", async() => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ guard: { canProtectTwice: true } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects(), options });\n const targetedPlayer = createFakeVillagerAlivePlayer();\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n mocks.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [{ player: targetedPlayer }] }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should do nothing when targeted player is not the same as previous guard play.\", async() => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ guard: { canProtectTwice: false } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects(), options });\n const targetedPlayer = createFakeVillagerAlivePlayer();\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })];\n mocks.gameHistoryRecordService.getLastGameHistoryGuardProtectsRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [{ player: createFakeSeerAlivePlayer() }] }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlayGuardTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlaySheriffTargets\", () => {\n it(\"should do nothing when game play action is not DELEGATE nor SETTLE_VOTES.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates({ action: GAME_PLAY_ACTIONS.USE_POTIONS }) });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when targeted player is dead and upcoming action is DELEGATE.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Sheriff can't delegate his role to this target\");\n });\n\n it(\"should do nothing when targeted player for sheriff delegation is valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() })];\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when targeted player is not in last tie in votes and upcoming action is SETTLE_VOTES.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer({ isAlive: false }) })];\n const gameHistoryRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ result: GAME_HISTORY_RECORD_VOTING_RESULTS.TIE, nominatedPlayers: [createFakeSeerAlivePlayer()] });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ voting: gameHistoryRecordPlayVoting }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"Sheriff can't break the tie in votes with this target\");\n });\n\n it(\"should do nothing when targeted player for sheriff settling votes is valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0] })];\n const gameHistoryRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ result: GAME_HISTORY_RECORD_VOTING_RESULTS.TIE, nominatedPlayers: [game.players[0]] });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ voting: gameHistoryRecordPlayVoting }) }));\n\n await expect(services.gamePlayValidator[\"validateGamePlaySheriffTargets\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayTargetsBoundaries\", () => {\n it(\"should throw error when min boundary is not respected.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 4, max: 4 })).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too less targets for this current game's state\");\n });\n\n it(\"should throw error when max boundary is not respected.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 2, max: 2 })).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"There are too much targets for this current game's state\");\n });\n\n it(\"should do nothing when boundaries are respected, even equal to max.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 1, max: 3 })).not.toThrow();\n });\n\n it(\"should do nothing when boundaries are respected, even equal to min.\", () => {\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeSeerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeVillagerAlivePlayer() }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: createFakeWerewolfAlivePlayer() }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayTargetsBoundaries\"](makeGamePlayTargetsWithRelationsDto, { min: 3, max: 4 })).not.toThrow();\n });\n });\n\n describe(\"validateGamePlaySourceTargets\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlaySheriffTargets: jest.SpyInstance;\n validateGamePlayGuardTargets: jest.SpyInstance;\n validateGamePlayPiedPiperTargets: jest.SpyInstance;\n validateGamePlayWildChildTargets: jest.SpyInstance;\n validateGamePlayRavenTargets: jest.SpyInstance;\n validateGamePlaySeerTargets: jest.SpyInstance;\n validateGamePlayFoxTargets: jest.SpyInstance;\n validateGamePlayCupidTargets: jest.SpyInstance;\n validateGamePlayScapegoatTargets: jest.SpyInstance;\n validateGamePlayHunterTargets: jest.SpyInstance;\n validateGamePlayWerewolvesTargets: jest.SpyInstance;\n validateGamePlayWitchTargets: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateGamePlaySheriffTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlaySheriffTargets }, \"validateGamePlaySheriffTargets\").mockImplementation(),\n validateGamePlayGuardTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayGuardTargets }, \"validateGamePlayGuardTargets\").mockImplementation(),\n validateGamePlayPiedPiperTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayPiedPiperTargets }, \"validateGamePlayPiedPiperTargets\").mockImplementation(),\n validateGamePlayWildChildTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWildChildTargets }, \"validateGamePlayWildChildTargets\").mockImplementation(),\n validateGamePlayRavenTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayRavenTargets }, \"validateGamePlayRavenTargets\").mockImplementation(),\n validateGamePlaySeerTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlaySeerTargets }, \"validateGamePlaySeerTargets\").mockImplementation(),\n validateGamePlayFoxTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayFoxTargets }, \"validateGamePlayFoxTargets\").mockImplementation(),\n validateGamePlayCupidTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayCupidTargets }, \"validateGamePlayCupidTargets\").mockImplementation(),\n validateGamePlayScapegoatTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayScapegoatTargets }, \"validateGamePlayScapegoatTargets\").mockImplementation(),\n validateGamePlayHunterTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayHunterTargets }, \"validateGamePlayHunterTargets\").mockImplementation(),\n validateGamePlayWerewolvesTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWerewolvesTargets }, \"validateGamePlayWerewolvesTargets\").mockImplementation(),\n validateGamePlayWitchTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayWitchTargets }, \"validateGamePlayWitchTargets\").mockImplementation(),\n },\n };\n });\n\n it(\"should do nothing when game source doesn't have a validation method.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlay({ source: createFakeGamePlaySource({ name: ROLE_NAMES.IDIOT }) }) });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call sheriff validator when game current play is for the sheriff.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call werewolves validator when game current play is for the werewolves.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call werewolves validator when game current play is for the big bad wolf.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call werewolves validator when game current play is for the white werewolf.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call guard validator when game current play is for the guard.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayGuardProtects() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call pied piper validator when game current play is for the pied piper.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayPiedPiperCharms() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call wild child validator when game current play is for the wild child.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call raven validator when game current play is for the raven.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayRavenMarks() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n \n it(\"should call seer validator when game current play is for the seer.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call fox validator when game current play is for the fox.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayFoxSniffs() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call cupid validator when game current play is for the cupid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayCupidCharms() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call scapegoat validator when game current play is for the scapegoat.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayScapegoatBansVoting() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).toHaveBeenCalledExactlyOnceWith([], game);\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call hunter validator when game current play is for the hunter.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayHunterShoots() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).toHaveBeenCalledExactlyOnceWith([]);\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).not.toHaveBeenCalled();\n });\n\n it(\"should call witch validator when game current play is for the witch.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n await services.gamePlayValidator[\"validateGamePlaySourceTargets\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateGamePlaySheriffTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWerewolvesTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayGuardTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayPiedPiperTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWildChildTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayRavenTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySeerTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayFoxTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayCupidTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayScapegoatTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayHunterTargets).not.toHaveBeenCalled();\n expect(localMocks.gamePlayValidatorService.validateGamePlayWitchTargets).toHaveBeenCalledExactlyOnceWith([], game);\n });\n });\n\n describe(\"validateInfectedTargetsAndPotionUsage\", () => {\n it(\"should throw error when expected action is not EAT and some targets are infected.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat({ action: GAME_PLAY_ACTIONS.CHOOSE_CARD }), players });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should throw error when expected source is not WEREWOLVES and some targets are infected.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL }) }), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.isInfected` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when there are infected targets and expected expected play is valid.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat(), players });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto({ isInfected: true })];\n\n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n \n it(\"should throw error when expected action is not USE_POTIONS but targets drank potions.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions({ action: GAME_PLAY_ACTIONS.CHOOSE_CARD }) });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should throw error when expected source is not WITCH but targets drank potions.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions({ source: createFakeGamePlaySource({ name: ROLE_NAMES.THIEF }) }) });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n \n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets.drankPotion` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when expected some players drank potions and game play is valid.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayTargetsWithRelationsDto = [\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ drankPotion: WITCH_POTIONS.DEATH }),\n createFakeMakeGamePlayTargetWithRelationsDto(),\n ];\n\n expect(() => services.gamePlayValidator[\"validateInfectedTargetsAndPotionUsage\"](makeGamePlayTargetsWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayTargetsWithRelationsDto\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateInfectedTargetsAndPotionUsage: jest.SpyInstance;\n validateGamePlaySourceTargets: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateInfectedTargetsAndPotionUsage: jest.spyOn(services.gamePlayValidator as unknown as { validateInfectedTargetsAndPotionUsage }, \"validateInfectedTargetsAndPotionUsage\").mockImplementation(),\n validateGamePlaySourceTargets: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlaySourceTargets }, \"validateGamePlaySourceTargets\").mockImplementation(),\n },\n };\n });\n\n it(\"should do nothing when there are no targets defined and upcoming action doesn't require targets anyway.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"](undefined, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateInfectedTargetsAndPotionUsage).not.toHaveBeenCalled();\n });\n\n it(\"should do nothing when there are no targets (empty array) and upcoming action doesn't require targets anyway.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"]([], game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateInfectedTargetsAndPotionUsage).not.toHaveBeenCalled();\n });\n\n it(\"should throw error when there is no targets but they are required.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySeerLooks() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"]([], game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets` is required on this current game's state\");\n });\n\n it(\"should throw error when there are targets but they are not expected.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"](makeGamePlayTargetsWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`targets` can't be set on this current game's state\");\n });\n\n it(\"should call targets validators when targets data is valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayTargetsWithRelationsDto = [createFakeMakeGamePlayTargetWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayTargetsWithRelationsDto\"](makeGamePlayTargetsWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateGamePlaySourceTargets).toHaveBeenCalledOnce();\n expect(localMocks.gamePlayValidatorService.validateInfectedTargetsAndPotionUsage).toHaveBeenCalledOnce();\n });\n });\n\n describe(\"validateGamePlayVotesTieBreakerWithRelationsDto\", () => {\n it(\"should throw error when there is no previous tie in votes record.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGameWithCurrentPlay({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto(),\n createFakeMakeGamePlayVoteWithRelationsDto(),\n createFakeMakeGamePlayVoteWithRelationsDto(),\n ];\n\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(null);\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesTieBreakerWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"One vote's target is not in the previous tie in votes\");\n });\n\n it(\"should throw error when one voted player is not in the previous tie.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGameWithCurrentPlay({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[0] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[2] }),\n ];\n\n const lastTieInVotesRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ nominatedPlayers: [players[0], players[1]] });\n const lastTieInVotesRecord = createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordPlay({ voting: lastTieInVotesRecordPlayVoting }) });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(lastTieInVotesRecord);\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesTieBreakerWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"One vote's target is not in the previous tie in votes\");\n });\n\n it(\"should do nothing when all voted players were in previous tie.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGameWithCurrentPlay({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[0] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ target: players[1] }),\n ];\n\n const lastTieInVotesRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({ nominatedPlayers: [players[0], players[1]] });\n const lastTieInVotesRecord = createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordPlay({ voting: lastTieInVotesRecordPlayVoting }) });\n mocks.gameHistoryRecordService.getLastGameHistoryTieInVotesRecord.mockResolvedValue(lastTieInVotesRecord);\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesTieBreakerWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\", () => {\n it(\"should throw error when one vote source is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One source is not able to vote because he's dead or doesn't have the ability to do so\");\n });\n\n it(\"should throw error when one vote source doesn't have the ability to vote.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One source is not able to vote because he's dead or doesn't have the ability to do so\");\n });\n\n it(\"should throw error when one vote target is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[3], target: players[0] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One target can't be voted because he's dead\");\n });\n\n it(\"should throw error when there are votes with the same source and target.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const makeGamePlayVotesWithRelationsDto = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[0] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[1] }),\n ];\n\n expect(() => services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDtoSourceAndTarget\"](makeGamePlayVotesWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"One vote has the same source and target\");\n });\n });\n\n describe(\"validateUnsetGamePlayVotesWithRelationsDto\", () => {\n it(\"should do nothing when there is no vote but nobody can votes.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n createFakeIdiotAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: false }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).not.toThrow();\n });\n\n it(\"should do nothing when there is no vote but votes can be skipped.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeCantVoteByAllPlayerAttribute()] }),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).not.toThrow();\n });\n\n it(\"should do nothing when there is no vote when angel presence but it's not a vote action.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE, action: GAME_PLAY_ACTIONS.CHOOSE_CARD }), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).not.toThrow();\n });\n\n it(\"should throw error when there is no vote but they are required.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: false }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`votes` is required on this current game's state\");\n });\n\n it(\"should throw error when there is no vote but it's sheriff election time.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllElectSheriff(), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`votes` is required on this current game's state\");\n });\n\n it(\"should throw error when there is no vote but votes are because of angel presence.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: true }) });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE }), options });\n\n expect(() => services.gamePlayValidator[\"validateUnsetGamePlayVotesWithRelationsDto\"](game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith(\"`votes` is required on this current game's state\");\n });\n });\n\n describe(\"validateGamePlayVotesWithRelationsDto\", () => {\n let localMocks: {\n gamePlayValidatorService: {\n validateGamePlayVotesTieBreakerWithRelationsDto: jest.SpyInstance;\n validateUnsetGamePlayVotesWithRelationsDto: jest.SpyInstance;\n validateGamePlayVotesWithRelationsDtoSourceAndTarget: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayValidatorService: {\n validateGamePlayVotesTieBreakerWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayVotesTieBreakerWithRelationsDto }, \"validateGamePlayVotesTieBreakerWithRelationsDto\").mockImplementation(),\n validateUnsetGamePlayVotesWithRelationsDto: jest.spyOn(services.gamePlayValidator as unknown as { validateUnsetGamePlayVotesWithRelationsDto }, \"validateUnsetGamePlayVotesWithRelationsDto\").mockImplementation(),\n validateGamePlayVotesWithRelationsDtoSourceAndTarget: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayVotesWithRelationsDtoSourceAndTarget }, \"validateGamePlayVotesWithRelationsDtoSourceAndTarget\").mockImplementation(),\n },\n };\n });\n\n it(\"should resolve when there are no votes defined.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](undefined, game)).toResolve();\n });\n\n it(\"should call validateGamePlayVotesWithRelationsDto method when there are no votes defined.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](undefined, game);\n\n expect(localMocks.gamePlayValidatorService.validateUnsetGamePlayVotesWithRelationsDto).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call validateGamePlayVotesWithRelationsDto method when there are no votes (empty array).\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"]([], game);\n\n expect(localMocks.gamePlayValidatorService.validateUnsetGamePlayVotesWithRelationsDto).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should throw error when there are votes but they are not expected.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlayWerewolvesEat() });\n const makeGamePlayVotesWithRelationsDto = [createFakeMakeGamePlayVoteWithRelationsDto()];\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`votes` can't be set on this current game's state\");\n });\n\n it(\"should call validateGamePlayVotesTieBreakerWithRelationsDto when current play is because of previous votes were in ties.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }) });\n const makeGamePlayVotesWithRelationsDto = [createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[0], target: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toResolve();\n expect(localMocks.gamePlayValidatorService.validateGamePlayVotesTieBreakerWithRelationsDto).toHaveBeenCalledExactlyOnceWith(makeGamePlayVotesWithRelationsDto, game);\n });\n\n it(\"should do nothing when votes are valid.\", async() => {\n const game = createFakeGameWithCurrentPlay({ players: bulkCreateFakePlayers(4), currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayVotesWithRelationsDto = [createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[0], target: game.players[1] })];\n\n await expect(services.gamePlayValidator[\"validateGamePlayVotesWithRelationsDto\"](makeGamePlayVotesWithRelationsDto, game)).toResolve();\n });\n });\n\n describe(\"validateGamePlayWithRelationsDtoChosenSide\", () => {\n it(\"should throw error when chosenSide is not defined and game play action is CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`chosenSide` is required on this current game's state\");\n });\n\n it(\"should throw error when chosenSide is defined and game play action is not CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException);\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`chosenSide` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when chosenSide is not defined and game play action is not CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n\n it(\"should do nothing when chosenSide is defined and game play action is CHOOSE_SIDE.\", () => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n\n expect(() => services.gamePlayValidator[\"validateGamePlayWithRelationsDtoChosenSide\"](makeGamePlayWithRelationsDto, game)).not.toThrow();\n });\n });\n\n describe(\"validateGamePlayWithRelationsDtoJudgeRequest\", () => {\n it(\"should do nothing when doesJudgeRequestAnotherVote is undefined.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto();\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toResolve();\n });\n\n it(\"should throw error when judge request another vote but upcoming action is not vote.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should throw error when judge request another vote but there is no judge in the game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should throw error when judge request another vote but he is dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should throw error when judge request another vote but he has reach the request limit.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ stutteringJudge: { voteRequestsCount: 2 } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players, options });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n mocks.gameHistoryRecordService.getGameHistoryJudgeRequestRecords.mockResolvedValue([\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ didJudgeRequestAnotherVote: true }) }),\n createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ didJudgeRequestAnotherVote: true }) }),\n ]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toReject();\n expect(BadGamePlayPayloadException).toHaveBeenCalledWith(\"`doesJudgeRequestAnotherVote` can't be set on this current game's state\");\n });\n\n it(\"should do nothing when judge request another vote and he can.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWitchAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ stutteringJudge: { voteRequestsCount: 2 } }) });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote(), players, options });\n const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ doesJudgeRequestAnotherVote: true });\n mocks.gameHistoryRecordService.getGameHistoryJudgeRequestRecords.mockResolvedValue([createFakeGameHistoryRecord({ play: createFakeGameHistoryRecordAllVotePlay({ didJudgeRequestAnotherVote: true }) })]);\n\n await expect(services.gamePlayValidator[\"validateGamePlayWithRelationsDtoJudgeRequest\"](makeGamePlayWithRelationsDto, game)).toResolve();\n });\n });\n});" - }, - "tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts": { - "tests": [ + }, { - "id": "134", - "name": "Game Play Maker Service gameSourcePlayMethods should contain play methods from game play sources when accessed.", + "id": "192", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return true when witch is in the game but options specify that her turn must not be skipped even with no more potions.", "location": { "start": { "column": 6, - "line": 69 + "line": 845 } } }, { - "id": "135", - "name": "Game Play Maker Service makeGamePlay should throw error when game's current play is not set.", + "id": "193", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still death potion.", "location": { "start": { "column": 6, - "line": 123 + "line": 859 } } }, { - "id": "136", - "name": "Game Play Maker Service makeGamePlay should call no play method when source is not in available methods.", + "id": "194", + "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still life potion.", "location": { "start": { "column": 6, - "line": 132 + "line": 874 } } }, { - "id": "137", - "name": "Game Play Maker Service makeGamePlay should return game as is when source is not in available methods.", + "id": "195", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is not in the game dto.", "location": { "start": { "column": 6, - "line": 143 + "line": 891 } } }, { - "id": "138", - "name": "Game Play Maker Service makeGamePlay should call werewolvesEat method when it's werewolves turn.", + "id": "196", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game dto but options specify that he's never called.", "location": { "start": { "column": 6, - "line": 150 + "line": 903 } } }, { - "id": "139", - "name": "Game Play Maker Service makeGamePlay should call bigBadWolfEats method when it's big bad wolf's turn.", + "id": "197", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return true when white werewolf is in the game dto and options specify that he's called every other night.", "location": { "start": { "column": 6, - "line": 158 + "line": 916 } } }, { - "id": "140", - "name": "Game Play Maker Service makeGamePlay should call whiteWerewolfEats method when it's white werewolf's turn.", + "id": "198", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is not in the game.", "location": { "start": { "column": 6, - "line": 166 + "line": 929 } } }, { - "id": "141", - "name": "Game Play Maker Service makeGamePlay should call seerLooks method when it's seer's turn.", + "id": "199", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game but options specify that he's never called.", "location": { "start": { "column": 6, - "line": 174 + "line": 941 } } }, { - "id": "142", - "name": "Game Play Maker Service makeGamePlay should call cupidCharms method when it's cupid's turn.", + "id": "200", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game but dead.", "location": { "start": { "column": 6, - "line": 182 + "line": 954 } } }, { - "id": "143", - "name": "Game Play Maker Service makeGamePlay should call piedPiperCharms method when it's pied piper's turn.", + "id": "201", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game but powerless.", "location": { "start": { "column": 6, - "line": 190 + "line": 967 } } }, { - "id": "144", - "name": "Game Play Maker Service makeGamePlay should call witchUsesPotions method when it's witch's turn.", + "id": "202", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game, alive, powerful, has no targets and options say skip if no targets.", "location": { "start": { "column": 6, - "line": 198 + "line": 980 } } }, { - "id": "145", - "name": "Game Play Maker Service makeGamePlay should call hunterShoots method when it's hunter's turn.", + "id": "203", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game, alive and powerful but game's turn is not aligned with his waking up interval.", "location": { "start": { "column": 6, - "line": 206 + "line": 994 } } }, { - "id": "146", - "name": "Game Play Maker Service makeGamePlay should call guardProtects method when it's guard's turn.", + "id": "204", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return true when white werewolf is in the game, alive and powerful.", "location": { "start": { "column": 6, - "line": 214 + "line": 1007 } } }, { - "id": "147", - "name": "Game Play Maker Service makeGamePlay should call foxSniffs method when it's fox's turn.", + "id": "205", + "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return true when white werewolf is in the game, alive, powerful, has targets and options say skip if no targets.", "location": { "start": { "column": 6, - "line": 222 + "line": 1020 } } }, { - "id": "148", - "name": "Game Play Maker Service makeGamePlay should call wildChildChoosesModel method when it's wild child's turn.", + "id": "206", + "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return false when pied piper is not in the game dto.", "location": { "start": { "column": 6, - "line": 230 + "line": 1036 } } }, { - "id": "149", - "name": "Game Play Maker Service makeGamePlay should call dogWolfChoosesSide method when it's dog wolf's turn.", + "id": "207", + "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return true when pied piper is in the game dto.", "location": { "start": { "column": 6, - "line": 238 + "line": 1048 } } }, { - "id": "150", - "name": "Game Play Maker Service makeGamePlay should call scapegoatBansVoting method when it's scapegoat's turn.", + "id": "208", + "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return false when pied piper is not in the game.", "location": { "start": { "column": 6, - "line": 246 + "line": 1060 } } }, { - "id": "151", - "name": "Game Play Maker Service makeGamePlay should call thiefChoosesCard method when it's thief's turn.", + "id": "209", + "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return false when pied piper is in the game can't charm anymore.", "location": { "start": { "column": 6, - "line": 254 + "line": 1072 } } }, { - "id": "152", - "name": "Game Play Maker Service makeGamePlay should call allPlay method when it's all's turn.", + "id": "210", + "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return true when pied piper is in the game and can still charm.", "location": { "start": { "column": 6, - "line": 262 + "line": 1085 } } }, { - "id": "153", - "name": "Game Play Maker Service makeGamePlay should call ravenMarks method when it's raven's turn.", + "id": "211", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is not in the game dto.", "location": { "start": { "column": 6, - "line": 270 + "line": 1100 } } }, { - "id": "154", - "name": "Game Play Maker Service makeGamePlay should call sheriffPlays method when it's sheriff's turn.", + "id": "212", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game dto.", "location": { "start": { "column": 6, - "line": 278 + "line": 1113 } } }, { - "id": "155", - "name": "Game Play Maker Service sheriffSettlesVotes should return game as is when target count is not the one expected.", + "id": "213", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is not in the game.", "location": { "start": { "column": 6, - "line": 288 + "line": 1126 } } }, { - "id": "156", - "name": "Game Play Maker Service sheriffSettlesVotes should call killOrRevealPlayer method when sheriff delegates to a target.", + "id": "214", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is in the game but dead.", "location": { "start": { "column": 6, - "line": 296 + "line": 1139 } } }, { - "id": "157", - "name": "Game Play Maker Service sheriffDelegates should return game as is when target count is not the one expected.", + "id": "215", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is in the game but one werewolf is dead.", "location": { "start": { "column": 6, - "line": 307 + "line": 1152 } } }, { - "id": "158", - "name": "Game Play Maker Service sheriffDelegates should remove previous sheriff attribute and add it to the target when called.", + "id": "216", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets.", "location": { "start": { "column": 6, - "line": 315 + "line": 1166 } } }, { - "id": "159", - "name": "Game Play Maker Service sheriffPlays should return game as is when upcoming play is not for sheriff.", + "id": "217", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets but there are targets.", "location": { "start": { "column": 6, - "line": 350 + "line": 1180 } } }, { - "id": "160", - "name": "Game Play Maker Service sheriffPlays should call sheriffDelegates method when upcoming play is sheriff role delegation.", + "id": "218", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game, one werewolf is dead but classic rules are not followed.", "location": { "start": { "column": 6, - "line": 358 + "line": 1194 } } }, { - "id": "161", - "name": "Game Play Maker Service sheriffPlays should call sheriffSettlesVotes method when upcoming play is sheriff settling vote.", + "id": "219", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game and all werewolves are alive.", "location": { "start": { "column": 6, - "line": 366 + "line": 1208 } } }, { - "id": "162", - "name": "Game Play Maker Service handleTieInVotes should not kill scapegoat when he's not the game.", + "id": "220", + "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game, all werewolves are alive and his turn is no skipped if no targets.", "location": { "start": { "column": 6, - "line": 382 + "line": 1222 } } }, { - "id": "163", - "name": "Game Play Maker Service handleTieInVotes should not kill scapegoat when he's dead.", + "id": "221", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers are not in the game dto.", "location": { "start": { "column": 6, - "line": 395 + "line": 1238 } } }, { - "id": "164", - "name": "Game Play Maker Service handleTieInVotes should not kill scapegoat when he's powerless.", + "id": "222", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers are in the game dto but options specify that they are never called.", "location": { "start": { "column": 6, - "line": 408 + "line": 1250 } } }, { - "id": "165", - "name": "Game Play Maker Service handleTieInVotes should kill scapegoat when he's in the game and alive.", + "id": "223", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return true when three brother are in the game dto and options specify that they are called every other night.", "location": { "start": { "column": 6, - "line": 421 + "line": 1263 } } }, { - "id": "166", - "name": "Game Play Maker Service handleTieInVotes should not prepend sheriff delegation game play when sheriff is not in the game.", + "id": "224", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers are not in the game.", "location": { "start": { "column": 6, - "line": 435 + "line": 1276 } } }, { - "id": "167", - "name": "Game Play Maker Service handleTieInVotes should not prepend sheriff delegation game play when sheriff is dead.", + "id": "225", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers is in the game but options specify that they are never called.", "location": { "start": { "column": 6, - "line": 449 + "line": 1288 } } }, { - "id": "168", - "name": "Game Play Maker Service handleTieInVotes should prepend sheriff delegation game play when sheriff is in the game.", + "id": "226", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return true when three brothers are alive.", "location": { "start": { "column": 6, - "line": 463 + "line": 1301 } } }, { - "id": "169", - "name": "Game Play Maker Service handleTieInVotes should prepend vote game play when previous play is not a tie.", + "id": "227", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return true when two brothers are alive.", "location": { "start": { "column": 6, - "line": 477 + "line": 1314 } } }, { - "id": "170", - "name": "Game Play Maker Service handleTieInVotes should prepend vote game play when there is no game history records.", + "id": "228", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when one brothers is alive.", "location": { "start": { "column": 6, - "line": 491 + "line": 1327 } } }, { - "id": "171", - "name": "Game Play Maker Service handleTieInVotes should not prepend vote game play when current play is due to a tie.", + "id": "229", + "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when all brothers are dead.", "location": { "start": { "column": 6, - "line": 505 + "line": 1340 } } }, { - "id": "172", - "name": "Game Play Maker Service allVote should return game as is when there is no vote.", + "id": "230", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters are not in the game dto.", "location": { "start": { "column": 6, - "line": 531 + "line": 1355 } } }, { - "id": "173", - "name": "Game Play Maker Service allVote should return game as is when there is no nominated players.", + "id": "231", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters are in the game dto but options specify that they are never called.", "location": { "start": { "column": 6, - "line": 545 + "line": 1367 } } }, { - "id": "174", - "name": "Game Play Maker Service allVote should call handleTieInVotes method when there are several nominated players.", + "id": "232", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return true when two sisters are in the game dto and options specify that they are called every other night.", "location": { "start": { "column": 6, - "line": 565 + "line": 1380 } } }, { - "id": "175", - "name": "Game Play Maker Service allVote should call handleTieInVotes method with prepended all vote game play from judge when there are several nominated players and judge requested it.", + "id": "233", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters are not in the game.", "location": { "start": { "column": 6, - "line": 585 + "line": 1393 } } }, { - "id": "176", - "name": "Game Play Maker Service allVote should call killOrRevealPlayer method when there is one nominated player.", + "id": "234", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters is in the game but options specify that they are never called.", "location": { "start": { "column": 6, - "line": 609 + "line": 1406 } } }, { - "id": "177", - "name": "Game Play Maker Service handleTieInSheriffElection should prepend all elect sheriff game play when current play is not due to a tie.", + "id": "235", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return true when two sisters are alive.", "location": { "start": { "column": 6, - "line": 638 + "line": 1419 } } }, { - "id": "178", - "name": "Game Play Maker Service handleTieInSheriffElection should add sheriff attribute to a random nominated player when current play is due to a tie.", + "id": "236", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when one sister is alive.", "location": { "start": { "column": 6, - "line": 657 + "line": 1432 } } }, { - "id": "179", - "name": "Game Play Maker Service handleTieInSheriffElection should return game as is when it's not possible to choose a random nominated player.", + "id": "237", + "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when all sisters are dead.", "location": { "start": { "column": 6, - "line": 685 + "line": 1445 } } }, { - "id": "180", - "name": "Game Play Maker Service allElectSheriff should return game as is when there is no vote.", + "id": "238", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when player is not in game.", "location": { "start": { "column": 6, - "line": 714 + "line": 1484 } } }, { - "id": "181", - "name": "Game Play Maker Service allElectSheriff should return game as is when there is no nominated players.", + "id": "239", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call two sisters method when game play source role is two sisters.", "location": { "start": { "column": 6, - "line": 728 + "line": 1497 } } }, { - "id": "182", - "name": "Game Play Maker Service allElectSheriff should call handleTieInSheriffElection method when there is a tie in votes.", + "id": "240", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call three brothers method when game play source role is three brothers.", "location": { "start": { "column": 6, - "line": 747 + "line": 1511 } } }, { - "id": "183", - "name": "Game Play Maker Service allElectSheriff should add sheriff attribute to nominated player when called.", + "id": "241", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call big bad wolf method when game plays source role is big bad wolf.", "location": { "start": { "column": 6, - "line": 767 + "line": 1525 } } }, { - "id": "184", - "name": "Game Play Maker Service allPlay should return game as is when upcoming play is not for all.", + "id": "242", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call pied piper method when game plays source role is pied piper.", "location": { "start": { "column": 6, - "line": 812 + "line": 1539 } } }, { - "id": "185", - "name": "Game Play Maker Service allPlay should call allElectSheriff method when upcoming play is sheriff role delegation.", + "id": "243", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call white werewolf method when game plays source role is white werewolf.", "location": { "start": { "column": 6, - "line": 820 + "line": 1553 } } }, { - "id": "186", - "name": "Game Play Maker Service allPlay should call allVote method when upcoming play is sheriff settling vote.", + "id": "244", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call witch method when game plays source role is witch.", "location": { "start": { "column": 6, - "line": 828 + "line": 1567 } } }, { - "id": "187", - "name": "Game Play Maker Service thiefChoosesCard should return game as is when there is no thief player in game.", + "id": "245", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is hunter and player is dto.", "location": { "start": { "column": 6, - "line": 838 + "line": 1581 } } }, { - "id": "188", - "name": "Game Play Maker Service thiefChoosesCard should return game as is when there is no chosen card.", + "id": "246", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is hunter and player is powerful.", "location": { "start": { "column": 6, - "line": 853 + "line": 1594 } } }, { - "id": "189", - "name": "Game Play Maker Service thiefChoosesCard should return game as is when chosen card role is unknown.", + "id": "247", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when game plays source role is hunter and player is powerless.", "location": { "start": { "column": 6, - "line": 868 + "line": 1607 } } }, { - "id": "190", - "name": "Game Play Maker Service thiefChoosesCard should update thief role and side when called.", + "id": "248", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is scapegoat and player is dto.", "location": { "start": { "column": 6, - "line": 883 + "line": 1620 } } }, { - "id": "191", - "name": "Game Play Maker Service scapegoatBansVoting should return game as is when there are no targets.", + "id": "249", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is scapegoat and player is powerful.", "location": { "start": { "column": 6, - "line": 913 + "line": 1633 } } }, { - "id": "192", - "name": "Game Play Maker Service scapegoatBansVoting should add scapegoat ban voting attributes to targets when called.", + "id": "250", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when game plays source role is scapegoat and player is powerless.", "location": { "start": { "column": 6, - "line": 927 + "line": 1646 } } }, { - "id": "193", - "name": "Game Play Maker Service dogWolfChoosesSide should return game as is when chosen side is not set.", + "id": "251", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when player is dto.", "location": { "start": { "column": 6, - "line": 955 + "line": 1659 } } }, { - "id": "194", - "name": "Game Play Maker Service dogWolfChoosesSide should return game as is when there is no dog wolf in the game.", + "id": "252", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when player is dead.", "location": { "start": { "column": 6, - "line": 969 + "line": 1672 } } }, { - "id": "195", - "name": "Game Play Maker Service dogWolfChoosesSide should return dog wolf on the werewolves side when called.", + "id": "253", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when player is powerless.", "location": { "start": { "column": 6, - "line": 983 + "line": 1685 } } }, { - "id": "196", - "name": "Game Play Maker Service wildChildChoosesModel should return game as is when expected target count is not reached.", + "id": "254", + "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when player is alive and powerful.", "location": { "start": { "column": 6, - "line": 1011 + "line": 1698 } } }, { - "id": "197", - "name": "Game Play Maker Service wildChildChoosesModel should add worshiped attribute to target when called.", + "id": "255", + "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return false when sheriff is not enabled.", "location": { "start": { "column": 6, - "line": 1025 + "line": 1713 } } }, { - "id": "198", - "name": "Game Play Maker Service foxSniffs should return game as is when expected target count is not reached.", + "id": "256", + "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return true when game is dto.", "location": { "start": { "column": 6, - "line": 1054 + "line": 1720 } } }, { - "id": "199", - "name": "Game Play Maker Service foxSniffs should return game as is when there is no fox in the game.", + "id": "257", + "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return false when sheriff is not in the game.", "location": { "start": { "column": 6, - "line": 1068 + "line": 1727 } } }, { - "id": "200", - "name": "Game Play Maker Service foxSniffs should return game as is when fox is not powerless if misses werewolves by game options.", + "id": "258", + "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return true when sheriff is in the game.", "location": { "start": { "column": 6, - "line": 1083 + "line": 1740 } } }, { - "id": "201", - "name": "Game Play Maker Service foxSniffs should return game as is when fox sniffes a werewolf in the group.", + "id": "259", + "name": "Game Play Service isGamePlaySuitableForCurrentPhase should call isRoleGamePlaySuitableForCurrentPhase when source is a sheriff.", "location": { "start": { "column": 6, - "line": 1099 + "line": 1755 } } }, { - "id": "202", - "name": "Game Play Maker Service foxSniffs should make fox powerless when there is no werewolf in the group.", + "id": "260", + "name": "Game Play Service isGamePlaySuitableForCurrentPhase should call isRoleGamePlaySuitableForCurrentPhase when source is a role.", "location": { "start": { "column": 6, - "line": 1115 + "line": 1764 } } }, { - "id": "203", - "name": "Game Play Maker Service ravenMarks should return game as is when expected target count is not reached.", + "id": "261", + "name": "Game Play Service isGamePlaySuitableForCurrentPhase should call isGroupGamePlaySuitableForCurrentPhase when source is a group.", "location": { "start": { "column": 6, - "line": 1145 + "line": 1773 } } - }, + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { when } from \"jest-when\";\nimport { defaultGameOptions } from \"../../../../../../../../src/modules/game/constants/game-options/game-options.constant\";\nimport { GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { GAME_PHASES } from \"../../../../../../../../src/modules/game/enums/game.enum\";\nimport { PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameHelper from \"../../../../../../../../src/modules/game/helpers/game.helper\";\nimport * as PlayerHelper from \"../../../../../../../../src/modules/game/helpers/player/player.helper\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePlayService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play.service\";\nimport type { GamePlay } from \"../../../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { createFakeGameOptionsDto } from \"../../../../../../../factories/game/dto/create-game/create-game-options/create-game-options.dto.factory\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeGameHistoryRecord, createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlaySource } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeRolesGameOptions, createFakeSheriffGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlay, createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCharmedMeetEachOther, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayLoversMeetEachOther, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlayStutteringJudgeChoosesSign, createFakeGamePlayThiefChoosesCard, createFakeGamePlayThreeBrothersMeetEachOther, createFakeGamePlayTwoSistersMeetEachOther, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeInLoveByCupidPlayerAttribute, createFakePowerlessByAncientPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeAngelAlivePlayer, createFakeBigBadWolfAlivePlayer, createFakeCupidAlivePlayer, createFakeDogWolfAlivePlayer, createFakeFoxAlivePlayer, createFakeGuardAlivePlayer, createFakeHunterAlivePlayer, createFakePiedPiperAlivePlayer, createFakeRavenAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeStutteringJudgeAlivePlayer, createFakeThiefAlivePlayer, createFakeThreeBrothersAlivePlayer, createFakeTwoSistersAlivePlayer, createFakeVileFatherOfWolvesAlivePlayer, createFakeVillagerAlivePlayer, createFakeVillagerVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWhiteWerewolfAlivePlayer, createFakeWildChildAlivePlayer, createFakeWitchAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Play Service\", () => {\n let services: { gamePlay: GamePlayService };\n let mocks: {\n gameHistoryRecordService: {\n getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance;\n getGameHistoryPhaseRecords: jest.SpyInstance;\n };\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.SpyInstance;\n getLeftToEatByWhiteWerewolfPlayers: jest.SpyInstance;\n getExpectedPlayersToPlay: jest.SpyInstance;\n };\n unexpectedExceptionFactory: {\n createNoGamePlayPriorityUnexpectedException: jest.SpyInstance;\n };\n };\n\n beforeEach(async() => {\n mocks = {\n gameHistoryRecordService: {\n getGameHistoryWitchUsesSpecificPotionRecords: jest.fn().mockResolvedValue([]),\n getGameHistoryPhaseRecords: jest.fn().mockResolvedValue([]),\n },\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWerewolvesPlayers\").mockReturnValue([]),\n getLeftToEatByWhiteWerewolfPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWhiteWerewolfPlayers\").mockReturnValue([]),\n getExpectedPlayersToPlay: jest.spyOn(GameHelper, \"getExpectedPlayersToPlay\").mockReturnValue([]),\n },\n unexpectedExceptionFactory: { createNoGamePlayPriorityUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoGamePlayPriorityUnexpectedException\").mockImplementation() },\n };\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n GamePlayService,\n ],\n }).compile();\n \n services = { gamePlay: module.get(GamePlayService) };\n });\n\n describe(\"refreshUpcomingPlays\", () => {\n let localMocks: {\n gamePlayService: {\n removeObsoleteUpcomingPlays: jest.SpyInstance;\n getNewUpcomingPlaysForCurrentPhase: jest.SpyInstance;\n sortUpcomingPlaysByPriority: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayService: {\n removeObsoleteUpcomingPlays: jest.spyOn(services.gamePlay as unknown as { removeObsoleteUpcomingPlays }, \"removeObsoleteUpcomingPlays\").mockImplementation(),\n getNewUpcomingPlaysForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { getNewUpcomingPlaysForCurrentPhase }, \"getNewUpcomingPlaysForCurrentPhase\").mockImplementation(),\n sortUpcomingPlaysByPriority: jest.spyOn(services.gamePlay as unknown as { sortUpcomingPlaysByPriority }, \"sortUpcomingPlaysByPriority\").mockImplementation(),\n },\n };\n });\n\n it(\"should call removeObsoleteUpcomingPlays when called.\", async() => {\n const game = createFakeGame();\n localMocks.gamePlayService.removeObsoleteUpcomingPlays.mockResolvedValue(game);\n localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase.mockReturnValue(game.upcomingPlays);\n localMocks.gamePlayService.sortUpcomingPlaysByPriority.mockReturnValue(game.upcomingPlays);\n await services.gamePlay.refreshUpcomingPlays(game);\n\n expect(localMocks.gamePlayService.removeObsoleteUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call getNewUpcomingPlaysForCurrentPhase when called.\", async() => {\n const game = createFakeGame();\n localMocks.gamePlayService.removeObsoleteUpcomingPlays.mockResolvedValue(game);\n localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase.mockReturnValue(game.upcomingPlays);\n localMocks.gamePlayService.sortUpcomingPlaysByPriority.mockReturnValue(game.upcomingPlays);\n await services.gamePlay.refreshUpcomingPlays(game);\n\n expect(localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call sortUpcomingPlaysByPriority when called.\", async() => {\n const game = createFakeGame();\n localMocks.gamePlayService.removeObsoleteUpcomingPlays.mockResolvedValue(game);\n localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase.mockReturnValue(game.upcomingPlays);\n localMocks.gamePlayService.sortUpcomingPlaysByPriority.mockReturnValue(game.upcomingPlays);\n await services.gamePlay.refreshUpcomingPlays(game);\n\n expect(localMocks.gamePlayService.sortUpcomingPlaysByPriority).toHaveBeenCalledExactlyOnceWith(game.upcomingPlays);\n });\n });\n\n describe(\"proceedToNextGamePlay\", () => {\n it(\"should return game as is when there is no upcoming plays.\", () => {\n const game = createFakeGame();\n\n expect(services.gamePlay.proceedToNextGamePlay(game)).toStrictEqual(game);\n });\n\n it(\"should make proceed to next game play when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThiefAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const expectedPlayersToPlay = [players[1], players[3]];\n mocks.gameHelper.getExpectedPlayersToPlay.mockReturnValue(expectedPlayersToPlay);\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayAllVote()], currentPlay: createFakeGamePlayFoxSniffs() });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [],\n currentPlay: createFakeGamePlay({\n ...game.upcomingPlays[0],\n source: createFakeGamePlaySource({ ...game.upcomingPlays[0].source, players: expectedPlayersToPlay }),\n }),\n });\n\n expect(services.gamePlay.proceedToNextGamePlay(game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"getUpcomingDayPlays\", () => {\n it(\"should get upcoming day plays when called.\", () => {\n expect(services.gamePlay.getUpcomingDayPlays()).toStrictEqual([createFakeGamePlayAllVote()]);\n });\n });\n\n describe(\"getUpcomingNightPlays\", () => {\n it.each<{ game: Game; output: GamePlay[]; test: string }>([\n {\n test: \"it's the first night with official rules and some roles\",\n game: createFakeGame({\n turn: 1,\n phase: GAME_PHASES.NIGHT,\n players: bulkCreateFakePlayers(4, [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ]),\n options: defaultGameOptions,\n }),\n output: [\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayWerewolvesEat(),\n ],\n },\n {\n test: \"it's the first night with official rules and all roles who act during the night\",\n game: createFakeGame({\n turn: 1,\n phase: GAME_PHASES.NIGHT,\n players: bulkCreateFakePlayers(22, [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeAngelAlivePlayer(),\n createFakeThiefAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeCupidAlivePlayer(),\n createFakeFoxAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]),\n options: defaultGameOptions,\n }),\n output: [\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE }),\n createFakeGamePlayThiefChoosesCard(),\n createFakeGamePlayDogWolfChoosesSide(),\n createFakeGamePlayCupidCharms(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayFoxSniffs(),\n createFakeGamePlayLoversMeetEachOther(),\n createFakeGamePlayStutteringJudgeChoosesSign(),\n createFakeGamePlayTwoSistersMeetEachOther(),\n createFakeGamePlayThreeBrothersMeetEachOther(),\n createFakeGamePlayWildChildChoosesModel(),\n createFakeGamePlayRavenMarks(),\n createFakeGamePlayGuardProtects(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlayWhiteWerewolfEats(),\n createFakeGamePlayBigBadWolfEats(),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayPiedPiperCharms(),\n createFakeGamePlayCharmedMeetEachOther(),\n ],\n },\n {\n test: \"it's the second night with official rules and some roles\",\n game: createFakeGame({\n turn: 2,\n phase: GAME_PHASES.NIGHT,\n players: bulkCreateFakePlayers(4, [\n createFakeCupidAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWitchAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeAngelAlivePlayer(),\n ]),\n options: defaultGameOptions,\n }),\n output: [createFakeGamePlayWerewolvesEat()],\n },\n ])(\"should get upcoming night plays when $test [#$#].\", async({ game, output }) => {\n await expect(services.gamePlay.getUpcomingNightPlays(game)).resolves.toStrictEqual(output);\n });\n });\n\n describe(\"removeObsoleteUpcomingPlays\", () => {\n it(\"should return game as is when no game play needs to be removed.\", async() => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer({ isAlive: false }),\n createFakeWitchAlivePlayer(),\n ];\n const upcomingPlays = [\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayWerewolvesEat(),\n ];\n const game = createFakeGame({ players, upcomingPlays });\n\n await expect(services.gamePlay[\"removeObsoleteUpcomingPlays\"](game)).resolves.toStrictEqual(game);\n });\n\n it(\"should remove some game plays when players became powerless or died.\", async() => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer({ isAlive: false }),\n createFakeWitchAlivePlayer({ isAlive: false }),\n ];\n const upcomingPlays = [\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayWerewolvesEat(),\n ];\n const game = createFakeGame({ players, upcomingPlays });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayWerewolvesEat(),\n ],\n });\n\n await expect(services.gamePlay[\"removeObsoleteUpcomingPlays\"](game)).resolves.toStrictEqual(expectedGame);\n });\n });\n\n describe(\"isUpcomingPlayNewForCurrentPhase\", () => {\n it(\"should return false when gamePlay is in game's upcoming plays.\", () => {\n const upcomingPlays = [\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlayWerewolvesEat(),\n ];\n const game = createFakeGame({ upcomingPlays });\n const upcomingPlay = createFakeGamePlayAllElectSheriff();\n\n expect(services.gamePlay[\"isUpcomingPlayNewForCurrentPhase\"](upcomingPlay, game, [])).toBe(false);\n });\n\n it(\"should return false when upcomingPlay is game's current play.\", () => {\n const game = createFakeGame({ currentPlay: createFakeGamePlayAllElectSheriff() });\n const upcomingPlay = createFakeGamePlayAllElectSheriff();\n\n expect(services.gamePlay[\"isUpcomingPlayNewForCurrentPhase\"](upcomingPlay, game, [])).toBe(false);\n });\n\n it(\"should return false when upcomingPlay is already played in game history.\", () => {\n const game = createFakeGame();\n const upcomingPlay = createFakeGamePlayAllElectSheriff();\n const allVoteGamePlay = createFakeGamePlayAllVote();\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordPlay({\n action: allVoteGamePlay.action,\n source: createFakeGameHistoryRecordPlaySource({ name: allVoteGamePlay.source.name }),\n cause: allVoteGamePlay.cause,\n }),\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordPlay({\n action: upcomingPlay.action,\n source: createFakeGameHistoryRecordPlaySource({ name: upcomingPlay.source.name }),\n cause: upcomingPlay.cause,\n }),\n }),\n ];\n\n expect(services.gamePlay[\"isUpcomingPlayNewForCurrentPhase\"](upcomingPlay, game, gameHistoryRecords)).toBe(false);\n });\n\n it(\"should return true when upcoming play is nor the current game play, nor already played nor in game's upcoming plays.\", () => {\n const game = createFakeGame();\n const upcomingPlay = createFakeGamePlayAllElectSheriff();\n const allVoteGamePlay = createFakeGamePlayAllVote();\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordPlay({\n action: allVoteGamePlay.action,\n source: createFakeGameHistoryRecordPlaySource({ name: allVoteGamePlay.source.name }),\n cause: allVoteGamePlay.cause,\n }),\n }),\n ];\n\n expect(services.gamePlay[\"isUpcomingPlayNewForCurrentPhase\"](upcomingPlay, game, gameHistoryRecords)).toBe(true);\n });\n });\n\n describe(\"getNewUpcomingPlaysForCurrentPhase\", () => {\n let localMocks: {\n gamePlayService: {\n getUpcomingDayPlays: jest.SpyInstance;\n getUpcomingNightPlays: jest.SpyInstance;\n isUpcomingPlayNewForCurrentPhase: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayService: {\n getUpcomingDayPlays: jest.spyOn(services.gamePlay as unknown as { getUpcomingDayPlays }, \"getUpcomingDayPlays\").mockReturnValue([]),\n getUpcomingNightPlays: jest.spyOn(services.gamePlay as unknown as { getUpcomingNightPlays }, \"getUpcomingNightPlays\").mockResolvedValue([]),\n isUpcomingPlayNewForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isUpcomingPlayNewForCurrentPhase }, \"isUpcomingPlayNewForCurrentPhase\"),\n },\n };\n });\n \n it(\"should call getUpcomingNightPlays method with night phase when game phase is night.\", async() => {\n const game = createFakeGame({ phase: GAME_PHASES.NIGHT });\n await services.gamePlay[\"getNewUpcomingPlaysForCurrentPhase\"](game);\n\n expect(localMocks.gamePlayService.getUpcomingNightPlays).toHaveBeenCalledExactlyOnceWith(game);\n expect(mocks.gameHistoryRecordService.getGameHistoryPhaseRecords).toHaveBeenCalledExactlyOnceWith(game._id, game.turn, GAME_PHASES.NIGHT);\n });\n\n it(\"should call getUpcomingNightPlays method with day phase when game phase is day.\", async() => {\n const game = createFakeGame({ phase: GAME_PHASES.DAY });\n await services.gamePlay[\"getNewUpcomingPlaysForCurrentPhase\"](game);\n\n expect(localMocks.gamePlayService.getUpcomingDayPlays).toHaveBeenCalledExactlyOnceWith();\n expect(mocks.gameHistoryRecordService.getGameHistoryPhaseRecords).toHaveBeenCalledExactlyOnceWith(game._id, game.turn, GAME_PHASES.DAY);\n });\n\n it(\"should call isUpcomingPlayNewForCurrentPhase method for as much times as there are upcoming phase plays when filtering them.\", async() => {\n const game = createFakeGame({ phase: GAME_PHASES.NIGHT });\n const upcomingPlays = [\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayWerewolvesEat(),\n ];\n localMocks.gamePlayService.getUpcomingNightPlays.mockResolvedValue(upcomingPlays);\n await services.gamePlay[\"getNewUpcomingPlaysForCurrentPhase\"](game);\n\n expect(localMocks.gamePlayService.isUpcomingPlayNewForCurrentPhase).toHaveBeenNthCalledWith(1, upcomingPlays[0], game, []);\n expect(localMocks.gamePlayService.isUpcomingPlayNewForCurrentPhase).toHaveBeenNthCalledWith(2, upcomingPlays[1], game, []);\n expect(localMocks.gamePlayService.isUpcomingPlayNewForCurrentPhase).toHaveBeenNthCalledWith(3, upcomingPlays[2], game, []);\n });\n });\n\n describe(\"validateUpcomingPlaysPriority\", () => {\n it(\"should do nothing when all game plays have a priority.\", () => {\n const upcomingPlays = [\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }),\n ];\n\n expect(() => services.gamePlay[\"validateUpcomingPlaysPriority\"](upcomingPlays)).not.toThrow();\n });\n\n it(\"should throw an error when the first upcoming play doesn't have a priority.\", () => {\n const upcomingPlays = [\n createFakeGamePlayWitchUsesPotions({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }),\n ];\n\n expect(() => services.gamePlay[\"validateUpcomingPlaysPriority\"](upcomingPlays)).toThrow(undefined);\n expect(mocks.unexpectedExceptionFactory.createNoGamePlayPriorityUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"validateUpcomingPlaysPriority\", upcomingPlays[0]);\n });\n });\n\n describe(\"sortUpcomingPlaysByPriority\", () => {\n it(\"should return empty array when upcoming plays are empty.\", () => {\n expect(services.gamePlay[\"sortUpcomingPlaysByPriority\"]([])).toStrictEqual([]);\n });\n\n it(\"should return upcoming plays sorted by priority when called with defined actions in priority list.\", () => {\n const upcomingPlaysToSort = [\n createFakeGamePlayAllVote(),\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlayBigBadWolfEats(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }),\n ];\n const expectedUpcomingPlays = [\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }),\n createFakeGamePlayAllVote(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlayBigBadWolfEats(),\n createFakeGamePlayWitchUsesPotions(),\n ];\n\n expect(services.gamePlay[\"sortUpcomingPlaysByPriority\"](upcomingPlaysToSort)).toStrictEqual(expectedUpcomingPlays);\n });\n });\n\n describe(\"isSheriffElectionTime\", () => {\n it(\"should return false when sheriff is not enabled even if it's the time.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: false, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 1, GAME_PHASES.NIGHT)).toBe(false);\n });\n\n it(\"should return false when it's not the right turn.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: true, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 2, GAME_PHASES.NIGHT)).toBe(false);\n });\n\n it(\"should return false when it's not the right phase.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.DAY }, isEnabled: true, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 1, GAME_PHASES.NIGHT)).toBe(false);\n });\n\n it(\"should return true when it's the right phase and turn.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: true, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 1, GAME_PHASES.NIGHT)).toBe(true);\n });\n });\n\n describe(\"isLoversGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when there is no cupid in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when there is cupid in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.CUPID } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when there is no cupid in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when there is cupid in the game but he is dead and there is no lovers.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeCupidAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when there is cupid in the game but he is powerless and there is no lovers.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeCupidAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when there is cupid alive and powerful and there is no lovers.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeCupidAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when cupid is dead but one of the lovers is dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeVileFatherOfWolvesAlivePlayer({ isAlive: false, attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeCupidAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n\n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when cupid is dead and lovers are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeVileFatherOfWolvesAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeCupidAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n\n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isAllGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return true when game play's action is ELECT_SHERIFF.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.DAY });\n const gamePlay = createFakeGamePlayAllElectSheriff();\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n \n it(\"should return true when game play's action is VOTE but reason is not angel presence.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.DAY });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n\n it(\"should return false when there is no angel in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(false);\n });\n\n it(\"should return true when there is angel in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.ANGEL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(true);\n });\n\n it(\"should return false when there is no angel in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return false when there is angel in the game but he is dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n \n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return false when there is angel in the game but he is powerless.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n \n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return true when there is angel in the game alive and powerful.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n \n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n });\n\n describe(\"isGroupGamePlaySuitableForCurrentPhase\", () => {\n let localMocks: {\n gamePlayService: {\n isAllGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isLoversGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayService: {\n isAllGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isAllGamePlaySuitableForCurrentPhase }, \"isAllGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isLoversGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isLoversGamePlaySuitableForCurrentPhase }, \"isLoversGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isPiedPiperGamePlaySuitableForCurrentPhase }, \"isPiedPiperGamePlaySuitableForCurrentPhase\").mockImplementation(),\n },\n };\n });\n\n it(\"should call all playable method when game plays source group is all.\", () => {\n const game = createFakeGame();\n const gamePlay = createFakeGamePlayAllVote();\n services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isAllGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should call lovers playable method when game plays source group is lovers.\", () => {\n const game = createFakeGame();\n const gamePlay = createFakeGamePlayLoversMeetEachOther();\n services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isLoversGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should call charmed playable method when game plays source group is charmed people.\", () => {\n const game = createFakeGame();\n const gamePlay = createFakeGamePlayCharmedMeetEachOther();\n services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isPiedPiperGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should return true when game plays source group is werewolves and game is dto.\", () => {\n const gameDto = createFakeCreateGameDto();\n const gamePlay = createFakeGamePlayWerewolvesEat();\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(true);\n });\n\n it(\"should return false when game plays source group is villagers and game is dto.\", () => {\n const gameDto = createFakeCreateGameDto();\n const gamePlay = createFakeGamePlayWerewolvesEat({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.VILLAGERS }) });\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(false);\n });\n\n it(\"should return false when game plays source group is werewolves and all are powerless.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeBigBadWolfAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWitchAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWerewolvesEat();\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return true when game plays source group is werewolves and at least one is alive and powerful.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeBigBadWolfAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWerewolvesEat();\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n });\n\n describe(\"isWitchGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when witch is not in the game dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](gameDto)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is not in the game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is in the game but dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer({ isAlive: false }),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is in the game but powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is in the game but options specify that her turn must be skipped if no more potions.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true }) });\n const game = createFakeGame({ players, options });\n mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords.mockResolvedValue([createFakeGameHistoryRecord()]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return true when witch is in the game but options specify that her turn must not be skipped even with no more potions.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false }) });\n const game = createFakeGame({ players, options });\n mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords.mockResolvedValue([createFakeGameHistoryRecord()]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(true);\n });\n\n it(\"should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still death potion.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true }) });\n const game = createFakeGame({ players, options });\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([createFakeGameHistoryRecord()]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(true);\n });\n\n it(\"should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still life potion.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true }) });\n const game = createFakeGame({ players, options });\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([createFakeGameHistoryRecord()]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(true);\n });\n });\n\n describe(\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when white werewolf is not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game dto but options specify that he's never called.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ whiteWerewolf: { wakingUpInterval: 0 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when white werewolf is in the game dto and options specify that he's called every other night.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ whiteWerewolf: { wakingUpInterval: 2 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when white werewolf is not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1 });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game but options specify that he's never called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 0 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game but dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 1 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game but powerless.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 1 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game, alive, powerful, has no targets and options say skip if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, whiteWerewolf: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n mocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([]);\n\n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game, alive and powerful but game's turn is not aligned with his waking up interval.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 4 } }) });\n const game = createFakeGame({ players, turn: 3, options });\n\n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when white werewolf is in the game, alive and powerful.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when white werewolf is in the game, alive, powerful, has targets and options say skip if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, whiteWerewolf: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n mocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([players[3]]);\n\n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isPiedPiperGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when pied piper is not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when pied piper is in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when pied piper is not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when pied piper is in the game can't charm anymore.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakePiedPiperAlivePlayer({ isAlive: false }),\n ]);\n jest.spyOn(PlayerHelper, \"canPiedPiperCharm\").mockReturnValue(false);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when pied piper is in the game and can still charm.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]);\n jest.spyOn(PlayerHelper, \"canPiedPiperCharm\").mockReturnValue(true);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isBigBadWolfGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when big bad wolf is not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when big bad wolf is in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.BIG_BAD_WOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when big bad wolf is not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when big bad wolf is in the game but dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when big bad wolf is in the game but one werewolf is dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets but there are targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[1]]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when big bad wolf is in the game, one werewolf is dead but classic rules are not followed.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: false } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when big bad wolf is in the game and all werewolves are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when big bad wolf is in the game, all werewolves are alive and his turn is no skipped if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isThreeBrothersGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when three brothers are not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return false when three brothers are in the game dto but options specify that they are never called.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 0 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when three brother are in the game dto and options specify that they are called every other night.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when three brothers are not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when three brothers is in the game but options specify that they are never called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 0 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when three brothers are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when two brothers are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when one brothers is alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when all brothers are dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n });\n\n describe(\"isTwoSistersGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when two sisters are not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return false when two sisters are in the game dto but options specify that they are never called.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 0 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when two sisters are in the game dto and options specify that they are called every other night.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when two sisters are not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when two sisters is in the game but options specify that they are never called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 0 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when two sisters are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when one sister is alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when all sisters are dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n });\n\n describe(\"isRoleGamePlaySuitableForCurrentPhase\", () => {\n let localMocks: {\n gamePlayService: {\n isTwoSistersGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isThreeBrothersGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isBigBadWolfGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isWhiteWerewolfGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isWitchGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayService: {\n isTwoSistersGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isTwoSistersGamePlaySuitableForCurrentPhase }, \"isTwoSistersGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isThreeBrothersGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isThreeBrothersGamePlaySuitableForCurrentPhase }, \"isThreeBrothersGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isBigBadWolfGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isBigBadWolfGamePlaySuitableForCurrentPhase }, \"isBigBadWolfGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isPiedPiperGamePlaySuitableForCurrentPhase }, \"isPiedPiperGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isWhiteWerewolfGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isWhiteWerewolfGamePlaySuitableForCurrentPhase }, \"isWhiteWerewolfGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isWitchGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isWitchGamePlaySuitableForCurrentPhase }, \"isWitchGamePlaySuitableForCurrentPhase\").mockImplementation(),\n },\n };\n });\n \n it(\"should return false when player is not in game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should call two sisters method when game play source role is two sisters.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayTwoSistersMeetEachOther();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isTwoSistersGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call three brothers method when game play source role is three brothers.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayThreeBrothersMeetEachOther();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isThreeBrothersGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call big bad wolf method when game plays source role is big bad wolf.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayBigBadWolfEats();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isBigBadWolfGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call pied piper method when game plays source role is pied piper.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayPiedPiperCharms();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isPiedPiperGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call white werewolf method when game plays source role is white werewolf.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWhiteWerewolfEats();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isWhiteWerewolfGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call witch method when game plays source role is witch.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWitchUsesPotions();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isWitchGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should return true when game plays source role is hunter and player is dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.HUNTER } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.LITTLE_GIRL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayHunterShoots();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return true when game plays source role is hunter and player is powerful.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayHunterShoots();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return false when game plays source role is hunter and player is powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeHunterAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayHunterShoots();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return true when game plays source role is scapegoat and player is dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SCAPEGOAT } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.LITTLE_GIRL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayScapegoatBansVoting();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return true when game plays source role is scapegoat and player is powerful.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeScapegoatAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayScapegoatBansVoting();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return false when game plays source role is scapegoat and player is powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeScapegoatAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayScapegoatBansVoting();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return true when player is dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.LITTLE_GIRL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return false when player is dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return false when player is powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return true when player is alive and powerful.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(true);\n });\n });\n\n describe(\"isSheriffGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when sheriff is not enabled.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: false }) }) });\n const game = createFakeCreateGameDto({ options });\n \n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when game is dto.\", () => {\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: true }) }) });\n const game = createFakeCreateGameDto({ options });\n\n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when sheriff is not in the game.\", () => {\n const players = [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeCupidAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: true }) }) });\n const game = createFakeGame({ players, options });\n\n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when sheriff is in the game.\", () => {\n const players = [\n createFakeWhiteWerewolfAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeCupidAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: true }) }) });\n const game = createFakeGame({ players, options });\n\n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isGamePlaySuitableForCurrentPhase\", () => {\n it(\"should call isRoleGamePlaySuitableForCurrentPhase when source is a sheriff.\", async() => {\n const game = createFakeGame();\n const isSheriffGamePlaySuitableForCurrentPhaseSpy = jest.spyOn(services.gamePlay as unknown as { isSheriffGamePlaySuitableForCurrentPhase }, \"isSheriffGamePlaySuitableForCurrentPhase\");\n const gamePlay = createFakeGamePlaySheriffDelegates();\n await services.gamePlay[\"isGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(isSheriffGamePlaySuitableForCurrentPhaseSpy).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call isRoleGamePlaySuitableForCurrentPhase when source is a role.\", async() => {\n const game = createFakeGame();\n const isRoleGamePlaySuitableForCurrentPhaseSpy = jest.spyOn(services.gamePlay as unknown as { isRoleGamePlaySuitableForCurrentPhase }, \"isRoleGamePlaySuitableForCurrentPhase\");\n const gamePlay = createFakeGamePlaySeerLooks();\n await services.gamePlay[\"isGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(isRoleGamePlaySuitableForCurrentPhaseSpy).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should call isGroupGamePlaySuitableForCurrentPhase when source is a group.\", async() => {\n const game = createFakeGame();\n const isGroupGamePlaySuitableForCurrentPhaseSpy = jest.spyOn(services.gamePlay as unknown as { isGroupGamePlaySuitableForCurrentPhase }, \"isGroupGamePlaySuitableForCurrentPhase\");\n const gamePlay = createFakeGamePlayAllVote();\n await services.gamePlay[\"isGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n \n expect(isGroupGamePlaySuitableForCurrentPhaseSpy).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/providers/services/game-play/game-play-maker.service.spec.ts": { + "tests": [ { - "id": "204", - "name": "Game Play Maker Service ravenMarks should add raven marked attribute to target when called.", + "id": "262", + "name": "Game Play Maker Service gameSourcePlayMethods should contain play methods from game play sources when accessed.", "location": { "start": { "column": 6, - "line": 1159 + "line": 69 } } }, { - "id": "205", - "name": "Game Play Maker Service guardProtects should return game as is when expected target count is not reached.", + "id": "263", + "name": "Game Play Maker Service makeGamePlay should throw error when game's current play is not set.", "location": { "start": { "column": 6, - "line": 1188 + "line": 123 } } }, { - "id": "206", - "name": "Game Play Maker Service guardProtects should add protected attribute to target when called.", + "id": "264", + "name": "Game Play Maker Service makeGamePlay should call no play method when source is not in available methods.", "location": { "start": { "column": 6, - "line": 1202 + "line": 132 } } }, { - "id": "207", - "name": "Game Play Maker Service hunterShoots should return game as is when expected target count is not reached.", + "id": "265", + "name": "Game Play Maker Service makeGamePlay should return game as is when source is not in available methods.", "location": { "start": { "column": 6, - "line": 1231 + "line": 143 } } }, { - "id": "208", - "name": "Game Play Maker Service hunterShoots should call killOrRevealPlayer method when called.", + "id": "266", + "name": "Game Play Maker Service makeGamePlay should call werewolvesEat method when it's werewolves turn.", "location": { "start": { "column": 6, - "line": 1245 + "line": 150 } } }, { - "id": "209", - "name": "Game Play Maker Service witchUsesPotions should return game as is when expected target count is not reached.", + "id": "267", + "name": "Game Play Maker Service makeGamePlay should call bigBadWolfEats method when it's big bad wolf's turn.", "location": { "start": { "column": 6, - "line": 1263 + "line": 158 } } }, { - "id": "210", - "name": "Game Play Maker Service witchUsesPotions should add only one potion attributes to targets when called.", + "id": "268", + "name": "Game Play Maker Service makeGamePlay should call whiteWerewolfEats method when it's white werewolf's turn.", "location": { "start": { "column": 6, - "line": 1277 + "line": 166 } } }, { - "id": "211", - "name": "Game Play Maker Service witchUsesPotions should add both potion attributes to targets when called.", + "id": "269", + "name": "Game Play Maker Service makeGamePlay should call seerLooks method when it's seer's turn.", "location": { "start": { "column": 6, - "line": 1304 + "line": 174 } } }, { - "id": "212", - "name": "Game Play Maker Service piedPiperCharms should return game as is when targets are undefined.", + "id": "270", + "name": "Game Play Maker Service makeGamePlay should call cupidCharms method when it's cupid's turn.", "location": { "start": { "column": 6, - "line": 1340 + "line": 182 } } }, { - "id": "213", - "name": "Game Play Maker Service piedPiperCharms should return game as is when targets are empty.", + "id": "271", + "name": "Game Play Maker Service makeGamePlay should call piedPiperCharms method when it's pied piper's turn.", "location": { "start": { "column": 6, - "line": 1354 + "line": 190 } } }, { - "id": "214", - "name": "Game Play Maker Service piedPiperCharms should add pied piper charmed attributes to targets when called.", + "id": "272", + "name": "Game Play Maker Service makeGamePlay should call witchUsesPotions method when it's witch's turn.", "location": { "start": { "column": 6, - "line": 1368 + "line": 198 } } }, { - "id": "215", - "name": "Game Play Maker Service cupidCharms should return game as is when expected target count is not reached.", + "id": "273", + "name": "Game Play Maker Service makeGamePlay should call hunterShoots method when it's hunter's turn.", "location": { "start": { "column": 6, - "line": 1404 + "line": 206 } } }, { - "id": "216", - "name": "Game Play Maker Service cupidCharms should add in-love attribute to targets when called.", + "id": "274", + "name": "Game Play Maker Service makeGamePlay should call guardProtects method when it's guard's turn.", "location": { "start": { "column": 6, - "line": 1418 + "line": 214 } } }, { - "id": "217", - "name": "Game Play Maker Service seerLooks should return game as is when expected target count is not reached.", + "id": "275", + "name": "Game Play Maker Service makeGamePlay should call foxSniffs method when it's fox's turn.", "location": { "start": { "column": 6, - "line": 1454 + "line": 222 } } }, { - "id": "218", - "name": "Game Play Maker Service seerLooks should add seen attribute to target when called.", + "id": "276", + "name": "Game Play Maker Service makeGamePlay should call wildChildChoosesModel method when it's wild child's turn.", "location": { "start": { "column": 6, - "line": 1468 + "line": 230 } } }, { - "id": "219", - "name": "Game Play Maker Service whiteWerewolfEats should return game as is when expected target count is not reached.", + "id": "277", + "name": "Game Play Maker Service makeGamePlay should call dogWolfChoosesSide method when it's dog wolf's turn.", "location": { "start": { "column": 6, - "line": 1497 + "line": 238 } } }, { - "id": "220", - "name": "Game Play Maker Service whiteWerewolfEats should add eaten attribute by white werewolf to target when called.", + "id": "278", + "name": "Game Play Maker Service makeGamePlay should call scapegoatBansVoting method when it's scapegoat's turn.", "location": { "start": { "column": 6, - "line": 1511 + "line": 246 } } }, { - "id": "221", - "name": "Game Play Maker Service bigBadWolfEats should return game as is when expected target count is not reached.", + "id": "279", + "name": "Game Play Maker Service makeGamePlay should call thiefChoosesCard method when it's thief's turn.", "location": { "start": { "column": 6, - "line": 1540 + "line": 254 } } }, { - "id": "222", - "name": "Game Play Maker Service bigBadWolfEats should add eaten attribute by big bad wolf to target when called.", + "id": "280", + "name": "Game Play Maker Service makeGamePlay should call allPlay method when it's all's turn.", "location": { "start": { "column": 6, - "line": 1554 + "line": 262 } } }, { - "id": "223", - "name": "Game Play Maker Service werewolvesEat should return game as is when expected target count is not reached.", + "id": "281", + "name": "Game Play Maker Service makeGamePlay should call ravenMarks method when it's raven's turn.", "location": { "start": { "column": 6, - "line": 1583 + "line": 270 } } }, { - "id": "224", - "name": "Game Play Maker Service werewolvesEat should add eaten attribute by werewolves to target when target is not infected.", + "id": "282", + "name": "Game Play Maker Service makeGamePlay should call sheriffPlays method when it's sheriff's turn.", "location": { "start": { "column": 6, - "line": 1597 + "line": 278 } } }, { - "id": "225", - "name": "Game Play Maker Service werewolvesEat should add eaten attribute by werewolves to target when target is infected but not killable ancient.", + "id": "283", + "name": "Game Play Maker Service sheriffSettlesVotes should return game as is when target count is not the one expected.", "location": { "start": { "column": 6, - "line": 1625 + "line": 288 } } }, { - "id": "226", - "name": "Game Play Maker Service werewolvesEat should change target side to werewolves when he's infected and not the ancient.", + "id": "284", + "name": "Game Play Maker Service sheriffSettlesVotes should call killOrRevealPlayer method when sheriff delegates to a target.", "location": { "start": { "column": 6, - "line": 1653 + "line": 296 } } }, { - "id": "227", - "name": "Game Play Maker Service werewolvesEat should change target side to werewolves when he's infected and killable as ancient.", + "id": "285", + "name": "Game Play Maker Service sheriffDelegates should return game as is when target count is not the one expected.", "location": { "start": { "column": 6, - "line": 1681 + "line": 307 } } - } - ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport lodash from \"lodash\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../../../../../../src/modules/game/dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport { GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameMutator from \"../../../../../../../../src/modules/game/helpers/game.mutator\";\nimport { GamePlayMakerService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-maker.service\";\nimport { GamePlayVoteService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service\";\nimport { PlayerKillerService } from \"../../../../../../../../src/modules/game/providers/services/player/player-killer.service\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { createFakeMakeGamePlayTargetWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-target-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayVoteWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-vote-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards, createFakeGameAdditionalCard } from \"../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeFoxGameOptions, createFakeRolesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayThiefChoosesCard, createFakeGamePlayTwoSistersMeetEachOther, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByScapegoatPlayerAttribute, createFakeCharmedByPiedPiperPlayerAttribute, createFakeDrankDeathPotionByWitchPlayerAttribute, createFakeDrankLifePotionByWitchPlayerAttribute, createFakeEatenByBigBadWolfPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute, createFakeEatenByWhiteWerewolfPlayerAttribute, createFakeInLoveByCupidPlayerAttribute, createFakePowerlessByAncientPlayerAttribute, createFakePowerlessByFoxPlayerAttribute, createFakeProtectedByGuardPlayerAttribute, createFakeRavenMarkedByRavenPlayerAttribute, createFakeSeenBySeerPlayerAttribute, createFakeSheriffByAllPlayerAttribute, createFakeSheriffBySheriffPlayerAttribute, createFakeWorshipedByWildChildPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerShotByHunterDeath, createFakePlayerVoteByAllDeath, createFakePlayerVoteBySheriffDeath, createFakePlayerVoteScapegoatedByAllDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeAncientAlivePlayer, createFakeDogWolfAlivePlayer, createFakeFoxAlivePlayer, createFakeRavenAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeThiefAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Play Maker Service\", () => {\n let services: { gamePlayMaker: GamePlayMakerService };\n let mocks: {\n playerKillerService: {\n killOrRevealPlayer: jest.SpyInstance;\n isAncientKillable: jest.SpyInstance;\n };\n gamePlayVoteService: { getNominatedPlayers: jest.SpyInstance };\n unexpectedExceptionFactory: {\n createNoCurrentGamePlayUnexpectedException: jest.SpyInstance;\n };\n };\n\n beforeEach(async() => {\n mocks = {\n playerKillerService: {\n killOrRevealPlayer: jest.fn(),\n isAncientKillable: jest.fn(),\n },\n gamePlayVoteService: { getNominatedPlayers: jest.fn() },\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() },\n };\n\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n GamePlayMakerService,\n {\n provide: GamePlayVoteService,\n useValue: mocks.gamePlayVoteService,\n },\n {\n provide: PlayerKillerService,\n useValue: mocks.playerKillerService,\n },\n ],\n }).compile();\n\n services = { gamePlayMaker: module.get(GamePlayMakerService) };\n });\n\n describe(\"gameSourcePlayMethods\", () => {\n it(\"should contain play methods from game play sources when accessed.\", () => {\n expect(services.gamePlayMaker[\"gameSourcePlayMethods\"][PLAYER_GROUPS.WEREWOLVES]).toStrictEqual(expect.any(Function));\n expect(services.gamePlayMaker[\"gameSourcePlayMethods\"][ROLE_NAMES.FOX]).toStrictEqual(expect.any(Function));\n expect(services.gamePlayMaker[\"gameSourcePlayMethods\"][PLAYER_ATTRIBUTE_NAMES.SHERIFF]).toStrictEqual(expect.any(Function));\n });\n });\n\n describe(\"makeGamePlay\", () => {\n let localMocks: {\n gamePlayMakerService: {\n werewolvesEat: jest.SpyInstance;\n bigBadWolfEats: jest.SpyInstance;\n whiteWerewolfEats: jest.SpyInstance;\n seerLooks: jest.SpyInstance;\n cupidCharms: jest.SpyInstance;\n piedPiperCharms: jest.SpyInstance;\n witchUsesPotions: jest.SpyInstance;\n hunterShoots: jest.SpyInstance;\n guardProtects: jest.SpyInstance;\n foxSniffs: jest.SpyInstance;\n wildChildChoosesModel: jest.SpyInstance;\n dogWolfChoosesSide: jest.SpyInstance;\n scapegoatBansVoting: jest.SpyInstance;\n thiefChoosesCard: jest.SpyInstance;\n allPlay: jest.SpyInstance;\n ravenMarks: jest.SpyInstance;\n sheriffPlays: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayMakerService: {\n werewolvesEat: jest.spyOn(services.gamePlayMaker as unknown as { werewolvesEat }, \"werewolvesEat\").mockImplementation(),\n bigBadWolfEats: jest.spyOn(services.gamePlayMaker as unknown as { bigBadWolfEats }, \"bigBadWolfEats\").mockImplementation(),\n whiteWerewolfEats: jest.spyOn(services.gamePlayMaker as unknown as { whiteWerewolfEats }, \"whiteWerewolfEats\").mockImplementation(),\n seerLooks: jest.spyOn(services.gamePlayMaker as unknown as { seerLooks }, \"seerLooks\").mockImplementation(),\n cupidCharms: jest.spyOn(services.gamePlayMaker as unknown as { cupidCharms }, \"cupidCharms\").mockImplementation(),\n piedPiperCharms: jest.spyOn(services.gamePlayMaker as unknown as { piedPiperCharms }, \"piedPiperCharms\").mockImplementation(),\n witchUsesPotions: jest.spyOn(services.gamePlayMaker as unknown as { witchUsesPotions }, \"witchUsesPotions\").mockImplementation(),\n hunterShoots: jest.spyOn(services.gamePlayMaker as unknown as { hunterShoots }, \"hunterShoots\").mockImplementation(),\n guardProtects: jest.spyOn(services.gamePlayMaker as unknown as { guardProtects }, \"guardProtects\").mockImplementation(),\n foxSniffs: jest.spyOn(services.gamePlayMaker as unknown as { foxSniffs }, \"foxSniffs\").mockImplementation(),\n wildChildChoosesModel: jest.spyOn(services.gamePlayMaker as unknown as { wildChildChoosesModel }, \"wildChildChoosesModel\").mockImplementation(),\n dogWolfChoosesSide: jest.spyOn(services.gamePlayMaker as unknown as { dogWolfChoosesSide }, \"dogWolfChoosesSide\").mockImplementation(),\n scapegoatBansVoting: jest.spyOn(services.gamePlayMaker as unknown as { scapegoatBansVoting }, \"scapegoatBansVoting\").mockImplementation(),\n thiefChoosesCard: jest.spyOn(services.gamePlayMaker as unknown as { thiefChoosesCard }, \"thiefChoosesCard\").mockImplementation(),\n allPlay: jest.spyOn(services.gamePlayMaker as unknown as { allPlay }, \"allPlay\").mockImplementation(),\n ravenMarks: jest.spyOn(services.gamePlayMaker as unknown as { ravenMarks }, \"ravenMarks\").mockImplementation(),\n sheriffPlays: jest.spyOn(services.gamePlayMaker as unknown as { sheriffPlays }, \"sheriffPlays\").mockImplementation(),\n },\n };\n });\n\n it(\"should throw error when game's current play is not set.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame();\n const interpolations = { gameId: game._id };\n\n await expect(services.gamePlayMaker.makeGamePlay(play, game)).toReject();\n expect(mocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"makeGamePlay\", interpolations);\n });\n\n it(\"should call no play method when source is not in available methods.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayTwoSistersMeetEachOther() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n const gamePlayMakerServiceMockKeys = Object.keys(localMocks.gamePlayMakerService);\n for (const gamePlayMakerServiceMockKey of gamePlayMakerServiceMockKeys) {\n expect(localMocks.gamePlayMakerService[gamePlayMakerServiceMockKey]).not.toHaveBeenCalled();\n }\n });\n\n it(\"should return game as is when source is not in available methods.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayTwoSistersMeetEachOther() });\n\n await expect(services.gamePlayMaker.makeGamePlay(play, game)).resolves.toStrictEqual(game);\n });\n\n it(\"should call werewolvesEat method when it's werewolves turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n \n expect(localMocks.gamePlayMakerService.werewolvesEat).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call bigBadWolfEats method when it's big bad wolf's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.bigBadWolfEats).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call whiteWerewolfEats method when it's white werewolf's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.whiteWerewolfEats).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call seerLooks method when it's seer's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlaySeerLooks() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.seerLooks).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call cupidCharms method when it's cupid's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayCupidCharms() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.cupidCharms).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call piedPiperCharms method when it's pied piper's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayPiedPiperCharms() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.piedPiperCharms).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call witchUsesPotions method when it's witch's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.witchUsesPotions).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call hunterShoots method when it's hunter's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayHunterShoots() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.hunterShoots).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call guardProtects method when it's guard's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayGuardProtects() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.guardProtects).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call foxSniffs method when it's fox's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayFoxSniffs() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.foxSniffs).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call wildChildChoosesModel method when it's wild child's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.wildChildChoosesModel).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call dogWolfChoosesSide method when it's dog wolf's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.dogWolfChoosesSide).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call scapegoatBansVoting method when it's scapegoat's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayScapegoatBansVoting() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.scapegoatBansVoting).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call thiefChoosesCard method when it's thief's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.thiefChoosesCard).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call allPlay method when it's all's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayAllVote() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.allPlay).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call ravenMarks method when it's raven's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayRavenMarks() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.ravenMarks).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call sheriffPlays method when it's sheriff's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlaySheriffDelegates() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.sheriffPlays).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n });\n\n describe(\"sheriffSettlesVotes\", () => {\n it(\"should return game as is when target count is not the one expected.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGameWithCurrentPlay();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"sheriffSettlesVotes\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call killOrRevealPlayer method when sheriff delegates to a target.\", async() => {\n const targetedPlayer = createFakePlayer();\n const play = createFakeMakeGamePlayWithRelationsDto({ targets: [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })] });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n await services.gamePlayMaker[\"sheriffSettlesVotes\"](play, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(targetedPlayer._id, game, createFakePlayerVoteBySheriffDeath());\n });\n });\n\n describe(\"sheriffDelegates\", () => {\n it(\"should return game as is when target count is not the one expected.\", () => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGameWithCurrentPlay();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"sheriffDelegates\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should remove previous sheriff attribute and add it to the target when called.\", () => {\n const players = bulkCreateFakePlayers(4, [{ attributes: [createFakeSheriffByAllPlayerAttribute()] }]);\n const play = createFakeMakeGamePlayWithRelationsDto({ targets: [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })] });\n const game = createFakeGameWithCurrentPlay({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({ ...players[0], attributes: [] }),\n createFakePlayer({ ...players[1], attributes: [createFakeSheriffBySheriffPlayerAttribute()] }),\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"sheriffDelegates\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"sheriffPlays\", () => {\n let localMocks: {\n gamePlayMakerService: {\n sheriffDelegates: jest.SpyInstance;\n sheriffSettlesVotes: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayMakerService: {\n sheriffDelegates: jest.spyOn(services.gamePlayMaker as unknown as { sheriffDelegates }, \"sheriffDelegates\").mockImplementation(),\n sheriffSettlesVotes: jest.spyOn(services.gamePlayMaker as unknown as { sheriffSettlesVotes }, \"sheriffSettlesVotes\").mockImplementation(),\n },\n };\n });\n \n it(\"should return game as is when upcoming play is not for sheriff.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayFoxSniffs() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"sheriffPlays\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call sheriffDelegates method when upcoming play is sheriff role delegation.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"sheriffPlays\"](play, game);\n\n expect(localMocks.gamePlayMakerService.sheriffDelegates).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call sheriffSettlesVotes method when upcoming play is sheriff settling vote.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"sheriffPlays\"](play, game);\n\n expect(localMocks.gamePlayMakerService.sheriffSettlesVotes).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n });\n\n describe(\"handleTieInVotes\", () => {\n let localMocks: { gameMutator: { prependUpcomingPlayInGame: jest.SpyInstance } };\n\n beforeEach(() => {\n localMocks = { gameMutator: { prependUpcomingPlayInGame: jest.spyOn(GameMutator, \"prependUpcomingPlayInGame\") } };\n });\n\n it(\"should not kill scapegoat when he's not the game.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should not kill scapegoat when he's dead.\", async() => {\n const players: Player[] = [\n createFakeScapegoatAlivePlayer({ isAlive: false }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should not kill scapegoat when he's powerless.\", async() => {\n const players: Player[] = [\n createFakeScapegoatAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should kill scapegoat when he's in the game and alive.\", async() => {\n const players: Player[] = [\n createFakeScapegoatAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const playerDeath = createFakePlayerVoteScapegoatedByAllDeath();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(players[0]._id, game, playerDeath);\n });\n\n it(\"should not prepend sheriff delegation game play when sheriff is not in the game.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlaySheriffSettlesVotes = createFakeGamePlaySheriffSettlesVotes();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).not.toHaveBeenCalledWith(gamePlaySheriffSettlesVotes, game);\n });\n\n it(\"should not prepend sheriff delegation game play when sheriff is dead.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer({ isAlive: false, attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlaySheriffSettlesVotes = createFakeGamePlaySheriffSettlesVotes();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).not.toHaveBeenCalledWith(gamePlaySheriffSettlesVotes, game);\n });\n\n it(\"should prepend sheriff delegation game play when sheriff is in the game.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlaySheriffSettlesVotes = createFakeGamePlaySheriffSettlesVotes();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).toHaveBeenCalledExactlyOnceWith(gamePlaySheriffSettlesVotes, game);\n });\n\n it(\"should prepend vote game play when previous play is not a tie.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlayAllVote = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).toHaveBeenCalledExactlyOnceWith(gamePlayAllVote, game);\n });\n\n it(\"should prepend vote game play when there is no game history records.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlayAllVote = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).toHaveBeenCalledExactlyOnceWith(gamePlayAllVote, game);\n });\n\n it(\"should not prepend vote game play when current play is due to a tie.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const currentPlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay });\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"handleTieInVotes\"](game)).resolves.toStrictEqual(expectedGame);\n });\n });\n \n describe(\"allVote\", () => {\n let localMocks: {\n gamePlayMakerService: {\n handleTieInVotes: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = { gamePlayMakerService: { handleTieInVotes: jest.spyOn(services.gamePlayMaker as unknown as { handleTieInVotes }, \"handleTieInVotes\").mockImplementation() } };\n });\n \n it(\"should return game as is when there is no vote.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"allVote\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no nominated players.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: false });\n const nominatedPlayers = [];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"allVote\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n \n it(\"should call handleTieInVotes method when there are several nominated players.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: false });\n const nominatedPlayers = [players[1], players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n await services.gamePlayMaker[\"allVote\"](play, game);\n\n expect(localMocks.gamePlayMakerService.handleTieInVotes).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call handleTieInVotes method with prepended all vote game play from judge when there are several nominated players and judge requested it.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: true });\n const nominatedPlayers = [players[1], players[2]];\n const expectedGame = createFakeGameWithCurrentPlay({\n ...game,\n upcomingPlays: [createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST })],\n });\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n await services.gamePlayMaker[\"allVote\"](play, game);\n\n expect(localMocks.gamePlayMakerService.handleTieInVotes).toHaveBeenCalledExactlyOnceWith(expectedGame);\n });\n\n it(\"should call killOrRevealPlayer method when there is one nominated player.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: false });\n const nominatedPlayers = [players[1]];\n const playerVoteByAllDeath = createFakePlayerVoteByAllDeath();\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n await services.gamePlayMaker[\"allVote\"](play, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(players[1]._id, game, playerVoteByAllDeath);\n });\n });\n\n describe(\"handleTieInSheriffElection\", () => {\n let localMocks: { lodash: { sample: jest.SpyInstance } };\n \n beforeEach(() => {\n localMocks = { lodash: { sample: jest.spyOn(lodash, \"sample\").mockImplementation() } };\n });\n \n it(\"should prepend all elect sheriff game play when current play is not due to a tie.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const currentPlay = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST });\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGameWithCurrentPlay({ currentPlay, players, upcomingPlays });\n const nominatedPlayers = [players[0], players[1]];\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), ...upcomingPlays],\n });\n\n expect(services.gamePlayMaker[\"handleTieInSheriffElection\"](nominatedPlayers, game)).toStrictEqual(expectedGame);\n });\n \n it(\"should add sheriff attribute to a random nominated player when current play is due to a tie.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n localMocks.lodash.sample.mockReturnValue(players[0]);\n const currentPlay = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGameWithCurrentPlay({ currentPlay, players, upcomingPlays });\n const nominatedPlayers = [players[0], players[1]];\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n attributes: [createFakeSheriffByAllPlayerAttribute()],\n }),\n players[1],\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"handleTieInSheriffElection\"](nominatedPlayers, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when it's not possible to choose a random nominated player.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n localMocks.lodash.sample.mockReturnValue(undefined);\n const currentPlay = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGameWithCurrentPlay({ currentPlay, players, upcomingPlays });\n const nominatedPlayers = [players[0], players[1]];\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"handleTieInSheriffElection\"](nominatedPlayers, game)).toStrictEqual(expectedGame);\n });\n });\n \n describe(\"allElectSheriff\", () => {\n let localMocks: {\n gamePlayMakerService: {\n handleTieInSheriffElection: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = { gamePlayMakerService: { handleTieInSheriffElection: jest.spyOn(services.gamePlayMaker as unknown as { handleTieInSheriffElection }, \"handleTieInSheriffElection\").mockImplementation() } };\n });\n \n it(\"should return game as is when there is no vote.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"allElectSheriff\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no nominated players.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes });\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue([]);\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"allElectSheriff\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should call handleTieInSheriffElection method when there is a tie in votes.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes });\n const nominatedPlayers = [players[0], players[1]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n services.gamePlayMaker[\"allElectSheriff\"](play, game);\n\n expect(localMocks.gamePlayMakerService.handleTieInSheriffElection).toHaveBeenCalledExactlyOnceWith(nominatedPlayers, game);\n });\n\n it(\"should add sheriff attribute to nominated player when called.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes });\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue([players[1]]);\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n createFakePlayer({ ...players[1], attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"allElectSheriff\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"allPlay\", () => {\n let localMocks: {\n gamePlayMakerService: {\n allElectSheriff: jest.SpyInstance;\n allVote: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayMakerService: {\n allElectSheriff: jest.spyOn(services.gamePlayMaker as unknown as { allElectSheriff }, \"allElectSheriff\").mockImplementation(),\n allVote: jest.spyOn(services.gamePlayMaker as unknown as { allVote }, \"allVote\").mockImplementation(),\n },\n };\n });\n\n it(\"should return game as is when upcoming play is not for all.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayFoxSniffs() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"allPlay\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call allElectSheriff method when upcoming play is sheriff role delegation.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllElectSheriff() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"allPlay\"](play, game);\n\n expect(localMocks.gamePlayMakerService.allElectSheriff).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call allVote method when upcoming play is sheriff settling vote.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"allPlay\"](play, game);\n\n expect(localMocks.gamePlayMakerService.allVote).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n });\n\n describe(\"thiefChoosesCard\", () => {\n it(\"should return game as is when there is no thief player in game.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenCard: additionalCards[0] });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no chosen card.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when chosen card role is unknown.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenCard: createFakeGameAdditionalCard({}, { roleName: \"Toto\" }) });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should update thief role and side when called.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4, [createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF })]);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenCard: additionalCards[0] });\n const expectedThiefPlayer = createFakePlayer({\n ...players[0],\n role: { ...players[0].role, current: ROLE_NAMES.WEREWOLF },\n side: { ...players[0].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n expectedThiefPlayer,\n players[1],\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"scapegoatBansVoting\", () => {\n it(\"should return game as is when there are no targets.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"scapegoatBansVoting\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add scapegoat ban voting attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n createFakePlayer({ ...players[1], attributes: [createFakeCantVoteByScapegoatPlayerAttribute(game)] }),\n createFakePlayer({ ...players[2], attributes: [createFakeCantVoteByScapegoatPlayerAttribute(game)] }),\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"scapegoatBansVoting\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"dogWolfChoosesSide\", () => {\n it(\"should return game as is when chosen side is not set.\", () => {\n const players: Player[] = [\n createFakeDogWolfAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"dogWolfChoosesSide\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no dog wolf in the game.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"dogWolfChoosesSide\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return dog wolf on the werewolves side when called.\", () => {\n const players: Player[] = [\n createFakeRavenAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n const expectedDogWolfPlayer = createFakePlayer({\n ...players[1],\n side: { ...players[1].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedDogWolfPlayer,\n players[2],\n players[3],\n ],\n });\n \n expect(services.gamePlayMaker[\"dogWolfChoosesSide\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"wildChildChoosesModel\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeDogWolfAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"wildChildChoosesModel\"](play, game)).toStrictEqual(expectedGame);\n });\n \n it(\"should add worshiped attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeDogWolfAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeWorshipedByWildChildPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"wildChildChoosesModel\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"foxSniffs\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no fox in the game.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when fox is not powerless if misses werewolves by game options.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ fox: createFakeFoxGameOptions({ isPowerlessIfMissesWerewolf: false }) }) });\n const game = createFakeGameWithCurrentPlay({ players, options });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when fox sniffes a werewolf in the group.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ fox: createFakeFoxGameOptions({ isPowerlessIfMissesWerewolf: true }) }) });\n const game = createFakeGameWithCurrentPlay({ players, options });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should make fox powerless when there is no werewolf in the group.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeVillagerAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ fox: createFakeFoxGameOptions({ isPowerlessIfMissesWerewolf: true }) }) });\n const game = createFakeGameWithCurrentPlay({ players, options });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[0],\n attributes: [createFakePowerlessByFoxPlayerAttribute({ doesRemainAfterDeath: true })],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n expectedTargetedPlayer,\n players[1],\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"ravenMarks\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"ravenMarks\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add raven marked attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeRavenMarkedByRavenPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"ravenMarks\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"guardProtects\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"guardProtects\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add protected attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeProtectedByGuardPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"guardProtects\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"hunterShoots\", () => {\n it(\"should return game as is when expected target count is not reached.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"hunterShoots\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call killOrRevealPlayer method when called.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const playerDeath = createFakePlayerShotByHunterDeath();\n await services.gamePlayMaker[\"hunterShoots\"](play, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(players[1]._id, game, playerDeath);\n });\n });\n\n describe(\"witchUsesPotions\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"witchUsesPotions\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add only one potion attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], drankPotion: WITCH_POTIONS.LIFE })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeDrankLifePotionByWitchPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"witchUsesPotions\"](play, game)).toStrictEqual(expectedGame);\n });\n \n it(\"should add both potion attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2], drankPotion: WITCH_POTIONS.DEATH }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedFirstTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeDrankLifePotionByWitchPlayerAttribute()],\n });\n const expectedSecondTargetedPlayer = createFakePlayer({\n ...players[2],\n attributes: [createFakeDrankDeathPotionByWitchPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedFirstTargetedPlayer,\n expectedSecondTargetedPlayer,\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"witchUsesPotions\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"piedPiperCharms\", () => {\n it(\"should return game as is when targets are undefined.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"piedPiperCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when targets are empty.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto({ targets: [] });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"piedPiperCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add pied piper charmed attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedFirstTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeCharmedByPiedPiperPlayerAttribute()],\n });\n const expectedSecondTargetedPlayer = createFakePlayer({\n ...players[2],\n attributes: [createFakeCharmedByPiedPiperPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedFirstTargetedPlayer,\n expectedSecondTargetedPlayer,\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"piedPiperCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"cupidCharms\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"cupidCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add in-love attribute to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedFirstTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeInLoveByCupidPlayerAttribute()],\n });\n const expectedSecondTargetedPlayer = createFakePlayer({\n ...players[2],\n attributes: [createFakeInLoveByCupidPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedFirstTargetedPlayer,\n expectedSecondTargetedPlayer,\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"cupidCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"seerLooks\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"seerLooks\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add seen attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeSeenBySeerPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"seerLooks\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"whiteWerewolfEats\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"whiteWerewolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by white werewolf to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByWhiteWerewolfPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"whiteWerewolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"bigBadWolfEats\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"bigBadWolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by big bad wolf to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByBigBadWolfPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"bigBadWolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"werewolvesEat\", () => {\n it(\"should return game as is when expected target count is not reached.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by werewolves to target when target is not infected.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: false })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(false);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByWerewolvesPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by werewolves to target when target is infected but not killable ancient.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeAncientAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: true })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(false);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByWerewolvesPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should change target side to werewolves when he's infected and not the ancient.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: true })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(false);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n side: { ...players[1].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should change target side to werewolves when he's infected and killable as ancient.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeAncientAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: true })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(true);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n side: { ...players[1].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n });\n});" - }, - "tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts": { - "tests": [ + }, { - "id": "228", - "name": "Game Play Service removeObsoleteUpcomingPlays should return game as is when no game play needs to be removed.", + "id": "286", + "name": "Game Play Maker Service sheriffDelegates should remove previous sheriff attribute and add it to the target when called.", "location": { "start": { "column": 6, - "line": 65 + "line": 315 } } }, { - "id": "229", - "name": "Game Play Service removeObsoleteUpcomingPlays should remove some game plays when players became powerless or died.", + "id": "287", + "name": "Game Play Maker Service sheriffPlays should return game as is when upcoming play is not for sheriff.", "location": { "start": { "column": 6, - "line": 83 + "line": 350 } } }, { - "id": "230", - "name": "Game Play Service proceedToNextGamePlay should return game as is when there is no upcoming plays.", + "id": "288", + "name": "Game Play Maker Service sheriffPlays should call sheriffDelegates method when upcoming play is sheriff role delegation.", "location": { "start": { "column": 6, - "line": 110 + "line": 358 } } }, { - "id": "231", - "name": "Game Play Service proceedToNextGamePlay should make proceed to next game play when called.", + "id": "289", + "name": "Game Play Maker Service sheriffPlays should call sheriffSettlesVotes method when upcoming play is sheriff settling vote.", "location": { "start": { "column": 6, - "line": 116 + "line": 366 } } }, { - "id": "232", - "name": "Game Play Service getUpcomingDayPlays should get upcoming day plays when called.", + "id": "290", + "name": "Game Play Maker Service handleTieInVotes should not kill scapegoat when he's not the game.", "location": { "start": { "column": 6, - "line": 140 + "line": 382 } } }, { - "id": "233", - "name": "Game Play Service getUpcomingNightPlays should get upcoming night plays when it's the first night with official rules and some roles [#0].", + "id": "291", + "name": "Game Play Maker Service handleTieInVotes should not kill scapegoat when he's dead.", "location": { "start": { - "column": 8, - "line": 236 + "column": 6, + "line": 395 } } }, { - "id": "234", - "name": "Game Play Service getUpcomingNightPlays should get upcoming night plays when it's the first night with official rules and all roles who act during the night [#1].", + "id": "292", + "name": "Game Play Maker Service handleTieInVotes should not kill scapegoat when he's powerless.", "location": { "start": { - "column": 8, - "line": 236 + "column": 6, + "line": 408 } } }, { - "id": "235", - "name": "Game Play Service getUpcomingNightPlays should get upcoming night plays when it's the second night with official rules and some roles [#2].", + "id": "293", + "name": "Game Play Maker Service handleTieInVotes should kill scapegoat when he's in the game and alive.", "location": { "start": { - "column": 8, - "line": 236 + "column": 6, + "line": 421 } } }, { - "id": "236", - "name": "Game Play Service isSheriffElectionTime should return false when sheriff is not enabled even if it's the time.", + "id": "294", + "name": "Game Play Maker Service handleTieInVotes should not prepend sheriff delegation game play when sheriff is not in the game.", "location": { "start": { "column": 6, - "line": 242 + "line": 435 } } }, { - "id": "237", - "name": "Game Play Service isSheriffElectionTime should return false when it's not the right turn.", + "id": "295", + "name": "Game Play Maker Service handleTieInVotes should not prepend sheriff delegation game play when sheriff is dead.", "location": { "start": { "column": 6, - "line": 248 + "line": 449 } } }, { - "id": "238", - "name": "Game Play Service isSheriffElectionTime should return false when it's not the right phase.", + "id": "296", + "name": "Game Play Maker Service handleTieInVotes should prepend sheriff delegation game play when sheriff is in the game.", "location": { "start": { "column": 6, - "line": 254 + "line": 463 } } }, { - "id": "239", - "name": "Game Play Service isSheriffElectionTime should return true when it's the right phase and turn.", + "id": "297", + "name": "Game Play Maker Service handleTieInVotes should prepend vote game play when previous play is not a tie.", "location": { "start": { "column": 6, - "line": 260 + "line": 477 } } }, { - "id": "240", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is no cupid in the game dto.", + "id": "298", + "name": "Game Play Maker Service handleTieInVotes should prepend vote game play when there is no game history records.", "location": { "start": { "column": 6, - "line": 268 + "line": 491 } } }, { - "id": "241", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return true when there is cupid in the game dto.", + "id": "299", + "name": "Game Play Maker Service handleTieInVotes should not prepend vote game play when current play is due to a tie.", "location": { "start": { "column": 6, - "line": 280 + "line": 505 } } }, { - "id": "242", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is no cupid in the game.", + "id": "300", + "name": "Game Play Maker Service allVote should return game as is when there is no vote.", "location": { "start": { "column": 6, - "line": 292 + "line": 531 } } }, { - "id": "243", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is cupid in the game but he is dead and there is no lovers.", + "id": "301", + "name": "Game Play Maker Service allVote should return game as is when there is no nominated players.", "location": { "start": { "column": 6, - "line": 304 + "line": 545 } } }, { - "id": "244", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when there is cupid in the game but he is powerless and there is no lovers.", + "id": "302", + "name": "Game Play Maker Service allVote should call handleTieInVotes method when there are several nominated players.", "location": { "start": { "column": 6, - "line": 316 + "line": 565 } } }, { - "id": "245", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return true when there is cupid alive and powerful and there is no lovers.", + "id": "303", + "name": "Game Play Maker Service allVote should call handleTieInVotes method with prepended all vote game play from judge when there are several nominated players and judge requested it.", "location": { "start": { "column": 6, - "line": 328 + "line": 585 } } }, { - "id": "246", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return false when cupid is dead but one of the lovers is dead.", + "id": "304", + "name": "Game Play Maker Service allVote should call killOrRevealPlayer method when there is one nominated player.", "location": { "start": { "column": 6, - "line": 340 + "line": 609 } } }, { - "id": "247", - "name": "Game Play Service isLoversGamePlaySuitableForCurrentPhase should return true when cupid is dead and lovers are alive.", + "id": "305", + "name": "Game Play Maker Service handleTieInSheriffElection should prepend all elect sheriff game play when current play is not due to a tie.", "location": { "start": { "column": 6, - "line": 352 + "line": 638 } } }, { - "id": "248", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when game play's action is ELECT_SHERIFF.", + "id": "306", + "name": "Game Play Maker Service handleTieInSheriffElection should add sheriff attribute to a random nominated player when current play is due to a tie.", "location": { "start": { "column": 6, - "line": 366 + "line": 657 } } }, { - "id": "249", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when game play's action is VOTE but reason is not angel presence.", + "id": "307", + "name": "Game Play Maker Service handleTieInSheriffElection should return game as is when it's not possible to choose a random nominated player.", "location": { "start": { "column": 6, - "line": 379 + "line": 685 } } }, { - "id": "250", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is no angel in the game dto.", + "id": "308", + "name": "Game Play Maker Service allElectSheriff should return game as is when there is no vote.", "location": { "start": { "column": 6, - "line": 392 + "line": 714 } } }, { - "id": "251", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when there is angel in the game dto.", + "id": "309", + "name": "Game Play Maker Service allElectSheriff should return game as is when there is no nominated players.", "location": { "start": { "column": 6, - "line": 405 + "line": 728 } } }, { - "id": "252", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is no angel in the game.", + "id": "310", + "name": "Game Play Maker Service allElectSheriff should call handleTieInSheriffElection method when there is a tie in votes.", "location": { "start": { "column": 6, - "line": 418 + "line": 747 } } }, { - "id": "253", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is angel in the game but he is dead.", + "id": "311", + "name": "Game Play Maker Service allElectSheriff should add sheriff attribute to nominated player when called.", "location": { "start": { "column": 6, - "line": 431 + "line": 767 } } }, { - "id": "254", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return false when there is angel in the game but he is powerless.", + "id": "312", + "name": "Game Play Maker Service allPlay should return game as is when upcoming play is not for all.", "location": { "start": { "column": 6, - "line": 444 + "line": 812 } } }, { - "id": "255", - "name": "Game Play Service isAllGamePlaySuitableForCurrentPhase should return true when there is angel in the game alive and powerful.", + "id": "313", + "name": "Game Play Maker Service allPlay should call allElectSheriff method when upcoming play is sheriff role delegation.", "location": { "start": { "column": 6, - "line": 457 + "line": 820 } } }, { - "id": "256", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should call all playable method when game plays source group is all.", + "id": "314", + "name": "Game Play Maker Service allPlay should call allVote method when upcoming play is sheriff settling vote.", "location": { "start": { "column": 6, - "line": 490 + "line": 828 } } }, { - "id": "257", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should call lovers playable method when game plays source group is lovers.", + "id": "315", + "name": "Game Play Maker Service thiefChoosesCard should return game as is when there is no thief player in game.", "location": { "start": { "column": 6, - "line": 498 + "line": 838 } } }, { - "id": "258", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should call charmed playable method when game plays source group is charmed people.", + "id": "316", + "name": "Game Play Maker Service thiefChoosesCard should return game as is when there is no chosen card.", "location": { "start": { "column": 6, - "line": 506 + "line": 853 } } }, { - "id": "259", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return true when game plays source group is werewolves and game is dto.", + "id": "317", + "name": "Game Play Maker Service thiefChoosesCard should return game as is when chosen card role is unknown.", "location": { "start": { "column": 6, - "line": 514 + "line": 868 } } }, { - "id": "260", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return false when game plays source group is villagers and game is dto.", + "id": "318", + "name": "Game Play Maker Service thiefChoosesCard should update thief role and side when called.", "location": { "start": { "column": 6, - "line": 521 + "line": 883 } } }, { - "id": "261", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return false when game plays source group is werewolves and all are powerless.", + "id": "319", + "name": "Game Play Maker Service scapegoatBansVoting should return game as is when there are no targets.", "location": { "start": { "column": 6, - "line": 528 + "line": 913 } } }, { - "id": "262", - "name": "Game Play Service isGroupGamePlaySuitableForCurrentPhase should return true when game plays source group is werewolves and at least one is alive and powerful.", + "id": "320", + "name": "Game Play Maker Service scapegoatBansVoting should add scapegoat ban voting attributes to targets when called.", "location": { "start": { "column": 6, - "line": 541 + "line": 927 } } }, { - "id": "263", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is not in the game dto.", + "id": "321", + "name": "Game Play Maker Service dogWolfChoosesSide should return game as is when chosen side is not set.", "location": { "start": { "column": 6, - "line": 556 + "line": 955 } } }, { - "id": "264", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is not in the game.", + "id": "322", + "name": "Game Play Maker Service dogWolfChoosesSide should return game as is when there is no dog wolf in the game.", "location": { "start": { "column": 6, - "line": 568 + "line": 969 } } }, { - "id": "265", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is in the game but dead.", + "id": "323", + "name": "Game Play Maker Service dogWolfChoosesSide should return dog wolf on the werewolves side when called.", "location": { "start": { "column": 6, - "line": 580 + "line": 983 } } }, { - "id": "266", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is in the game but powerless.", + "id": "324", + "name": "Game Play Maker Service wildChildChoosesModel should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 592 + "line": 1011 } } }, { - "id": "267", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return false when witch is in the game but options specify that her turn must be skipped if no more potions.", + "id": "325", + "name": "Game Play Maker Service wildChildChoosesModel should add worshiped attribute to target when called.", "location": { "start": { "column": 6, - "line": 604 + "line": 1025 } } }, { - "id": "268", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return true when witch is in the game but options specify that her turn must not be skipped even with no more potions.", + "id": "326", + "name": "Game Play Maker Service foxSniffs should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 618 + "line": 1054 } } }, { - "id": "269", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still death potion.", + "id": "327", + "name": "Game Play Maker Service foxSniffs should return game as is when there is no fox in the game.", "location": { "start": { "column": 6, - "line": 632 + "line": 1068 } } }, { - "id": "270", - "name": "Game Play Service isWitchGamePlaySuitableForCurrentPhase should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still life potion.", + "id": "328", + "name": "Game Play Maker Service foxSniffs should return game as is when fox is not powerless if misses werewolves by game options.", "location": { "start": { "column": 6, - "line": 647 + "line": 1083 } } }, { - "id": "271", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is not in the game dto.", + "id": "329", + "name": "Game Play Maker Service foxSniffs should return game as is when fox sniffes a werewolf in the group.", "location": { "start": { "column": 6, - "line": 664 + "line": 1099 } } }, { - "id": "272", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game dto but options specify that he's never called.", + "id": "330", + "name": "Game Play Maker Service foxSniffs should make fox powerless when there is no werewolf in the group.", "location": { "start": { "column": 6, - "line": 676 + "line": 1115 } } }, { - "id": "273", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return true when white werewolf is in the game dto and options specify that he's called every other night.", + "id": "331", + "name": "Game Play Maker Service ravenMarks should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 689 + "line": 1145 } } }, { - "id": "274", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is not in the game.", + "id": "332", + "name": "Game Play Maker Service ravenMarks should add raven marked attribute to target when called.", "location": { "start": { "column": 6, - "line": 702 + "line": 1159 } } }, { - "id": "275", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game but options specify that he's never called.", + "id": "333", + "name": "Game Play Maker Service guardProtects should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 714 + "line": 1188 } } }, { - "id": "276", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game but dead.", + "id": "334", + "name": "Game Play Maker Service guardProtects should add protected attribute to target when called.", "location": { "start": { "column": 6, - "line": 727 + "line": 1202 } } }, { - "id": "277", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game but powerless.", + "id": "335", + "name": "Game Play Maker Service hunterShoots should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 740 + "line": 1231 } } }, { - "id": "278", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game, alive, powerful, has no targets and options say skip if no targets.", + "id": "336", + "name": "Game Play Maker Service hunterShoots should call killOrRevealPlayer method when called.", "location": { "start": { "column": 6, - "line": 753 + "line": 1245 } } }, { - "id": "279", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return false when white werewolf is in the game, alive and powerful but game's turn is not aligned with his waking up interval.", + "id": "337", + "name": "Game Play Maker Service witchUsesPotions should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 767 + "line": 1263 } } }, { - "id": "280", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return true when white werewolf is in the game, alive and powerful.", + "id": "338", + "name": "Game Play Maker Service witchUsesPotions should add only one potion attributes to targets when called.", "location": { "start": { "column": 6, - "line": 780 + "line": 1277 } } }, { - "id": "281", - "name": "Game Play Service isWhiteWerewolfGamePlaySuitableForCurrentPhase should return true when white werewolf is in the game, alive, powerful, has targets and options say skip if no targets.", + "id": "339", + "name": "Game Play Maker Service witchUsesPotions should add both potion attributes to targets when called.", "location": { "start": { "column": 6, - "line": 793 + "line": 1304 } } }, { - "id": "282", - "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return false when pied piper is not in the game dto.", + "id": "340", + "name": "Game Play Maker Service piedPiperCharms should return game as is when targets are undefined.", "location": { "start": { "column": 6, - "line": 809 + "line": 1340 } } }, { - "id": "283", - "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return true when pied piper is in the game dto.", + "id": "341", + "name": "Game Play Maker Service piedPiperCharms should return game as is when targets are empty.", "location": { "start": { "column": 6, - "line": 821 + "line": 1354 } } }, { - "id": "284", - "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return false when pied piper is not in the game.", + "id": "342", + "name": "Game Play Maker Service piedPiperCharms should add pied piper charmed attributes to targets when called.", "location": { "start": { "column": 6, - "line": 833 + "line": 1368 } } }, { - "id": "285", - "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return false when pied piper is in the game can't charm anymore.", + "id": "343", + "name": "Game Play Maker Service cupidCharms should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 845 + "line": 1404 } } }, { - "id": "286", - "name": "Game Play Service isPiedPiperGamePlaySuitableForCurrentPhase should return true when pied piper is in the game and can still charm.", + "id": "344", + "name": "Game Play Maker Service cupidCharms should add in-love attribute to targets when called.", "location": { "start": { "column": 6, - "line": 858 + "line": 1418 } } }, { - "id": "287", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is not in the game dto.", + "id": "345", + "name": "Game Play Maker Service seerLooks should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 873 + "line": 1454 } } }, { - "id": "288", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game dto.", + "id": "346", + "name": "Game Play Maker Service seerLooks should add seen attribute to target when called.", "location": { "start": { "column": 6, - "line": 886 + "line": 1468 } } }, { - "id": "289", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is not in the game.", + "id": "347", + "name": "Game Play Maker Service whiteWerewolfEats should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 899 + "line": 1497 } } }, { - "id": "290", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is in the game but dead.", + "id": "348", + "name": "Game Play Maker Service whiteWerewolfEats should add eaten attribute by white werewolf to target when called.", "location": { "start": { "column": 6, - "line": 912 + "line": 1511 } } }, { - "id": "291", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is in the game but one werewolf is dead.", + "id": "349", + "name": "Game Play Maker Service bigBadWolfEats should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 925 + "line": 1540 } } }, { - "id": "292", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return false when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets.", + "id": "350", + "name": "Game Play Maker Service bigBadWolfEats should add eaten attribute by big bad wolf to target when called.", "location": { "start": { "column": 6, - "line": 939 + "line": 1554 } } }, { - "id": "293", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets but there are targets.", + "id": "351", + "name": "Game Play Maker Service werewolvesEat should return game as is when expected target count is not reached.", "location": { "start": { "column": 6, - "line": 953 + "line": 1583 } } }, { - "id": "294", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game, one werewolf is dead but classic rules are not followed.", + "id": "352", + "name": "Game Play Maker Service werewolvesEat should add eaten attribute by werewolves to target when target is not infected.", "location": { "start": { "column": 6, - "line": 967 + "line": 1597 } } }, { - "id": "295", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game and all werewolves are alive.", + "id": "353", + "name": "Game Play Maker Service werewolvesEat should add eaten attribute by werewolves to target when target is infected but not killable ancient.", "location": { "start": { "column": 6, - "line": 981 + "line": 1625 } } }, { - "id": "296", - "name": "Game Play Service isBigBadWolfGamePlaySuitableForCurrentPhase should return true when big bad wolf is in the game, all werewolves are alive and his turn is no skipped if no targets.", + "id": "354", + "name": "Game Play Maker Service werewolvesEat should change target side to werewolves when he's infected and not the ancient.", "location": { "start": { "column": 6, - "line": 995 + "line": 1653 } } }, { - "id": "297", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers are not in the game dto.", + "id": "355", + "name": "Game Play Maker Service werewolvesEat should change target side to werewolves when he's infected and killable as ancient.", "location": { "start": { "column": 6, - "line": 1011 + "line": 1681 } } - }, + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport lodash from \"lodash\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../../../../../../src/modules/game/dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport { GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameMutator from \"../../../../../../../../src/modules/game/helpers/game.mutator\";\nimport { GamePlayMakerService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-maker.service\";\nimport { GamePlayVoteService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service\";\nimport { PlayerKillerService } from \"../../../../../../../../src/modules/game/providers/services/player/player-killer.service\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { createFakeMakeGamePlayTargetWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-target-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayVoteWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-vote-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards, createFakeGameAdditionalCard } from \"../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeFoxGameOptions, createFakeRolesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayThiefChoosesCard, createFakeGamePlayTwoSistersMeetEachOther, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByScapegoatPlayerAttribute, createFakeCharmedByPiedPiperPlayerAttribute, createFakeDrankDeathPotionByWitchPlayerAttribute, createFakeDrankLifePotionByWitchPlayerAttribute, createFakeEatenByBigBadWolfPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute, createFakeEatenByWhiteWerewolfPlayerAttribute, createFakeInLoveByCupidPlayerAttribute, createFakePowerlessByAncientPlayerAttribute, createFakePowerlessByFoxPlayerAttribute, createFakeProtectedByGuardPlayerAttribute, createFakeRavenMarkedByRavenPlayerAttribute, createFakeSeenBySeerPlayerAttribute, createFakeSheriffByAllPlayerAttribute, createFakeSheriffBySheriffPlayerAttribute, createFakeWorshipedByWildChildPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerShotByHunterDeath, createFakePlayerVoteByAllDeath, createFakePlayerVoteBySheriffDeath, createFakePlayerVoteScapegoatedByAllDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeAncientAlivePlayer, createFakeDogWolfAlivePlayer, createFakeFoxAlivePlayer, createFakeRavenAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeThiefAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Play Maker Service\", () => {\n let services: { gamePlayMaker: GamePlayMakerService };\n let mocks: {\n playerKillerService: {\n killOrRevealPlayer: jest.SpyInstance;\n isAncientKillable: jest.SpyInstance;\n };\n gamePlayVoteService: { getNominatedPlayers: jest.SpyInstance };\n unexpectedExceptionFactory: {\n createNoCurrentGamePlayUnexpectedException: jest.SpyInstance;\n };\n };\n\n beforeEach(async() => {\n mocks = {\n playerKillerService: {\n killOrRevealPlayer: jest.fn(),\n isAncientKillable: jest.fn(),\n },\n gamePlayVoteService: { getNominatedPlayers: jest.fn() },\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() },\n };\n\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n GamePlayMakerService,\n {\n provide: GamePlayVoteService,\n useValue: mocks.gamePlayVoteService,\n },\n {\n provide: PlayerKillerService,\n useValue: mocks.playerKillerService,\n },\n ],\n }).compile();\n\n services = { gamePlayMaker: module.get(GamePlayMakerService) };\n });\n\n describe(\"gameSourcePlayMethods\", () => {\n it(\"should contain play methods from game play sources when accessed.\", () => {\n expect(services.gamePlayMaker[\"gameSourcePlayMethods\"][PLAYER_GROUPS.WEREWOLVES]).toStrictEqual(expect.any(Function));\n expect(services.gamePlayMaker[\"gameSourcePlayMethods\"][ROLE_NAMES.FOX]).toStrictEqual(expect.any(Function));\n expect(services.gamePlayMaker[\"gameSourcePlayMethods\"][PLAYER_ATTRIBUTE_NAMES.SHERIFF]).toStrictEqual(expect.any(Function));\n });\n });\n\n describe(\"makeGamePlay\", () => {\n let localMocks: {\n gamePlayMakerService: {\n werewolvesEat: jest.SpyInstance;\n bigBadWolfEats: jest.SpyInstance;\n whiteWerewolfEats: jest.SpyInstance;\n seerLooks: jest.SpyInstance;\n cupidCharms: jest.SpyInstance;\n piedPiperCharms: jest.SpyInstance;\n witchUsesPotions: jest.SpyInstance;\n hunterShoots: jest.SpyInstance;\n guardProtects: jest.SpyInstance;\n foxSniffs: jest.SpyInstance;\n wildChildChoosesModel: jest.SpyInstance;\n dogWolfChoosesSide: jest.SpyInstance;\n scapegoatBansVoting: jest.SpyInstance;\n thiefChoosesCard: jest.SpyInstance;\n allPlay: jest.SpyInstance;\n ravenMarks: jest.SpyInstance;\n sheriffPlays: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayMakerService: {\n werewolvesEat: jest.spyOn(services.gamePlayMaker as unknown as { werewolvesEat }, \"werewolvesEat\").mockImplementation(),\n bigBadWolfEats: jest.spyOn(services.gamePlayMaker as unknown as { bigBadWolfEats }, \"bigBadWolfEats\").mockImplementation(),\n whiteWerewolfEats: jest.spyOn(services.gamePlayMaker as unknown as { whiteWerewolfEats }, \"whiteWerewolfEats\").mockImplementation(),\n seerLooks: jest.spyOn(services.gamePlayMaker as unknown as { seerLooks }, \"seerLooks\").mockImplementation(),\n cupidCharms: jest.spyOn(services.gamePlayMaker as unknown as { cupidCharms }, \"cupidCharms\").mockImplementation(),\n piedPiperCharms: jest.spyOn(services.gamePlayMaker as unknown as { piedPiperCharms }, \"piedPiperCharms\").mockImplementation(),\n witchUsesPotions: jest.spyOn(services.gamePlayMaker as unknown as { witchUsesPotions }, \"witchUsesPotions\").mockImplementation(),\n hunterShoots: jest.spyOn(services.gamePlayMaker as unknown as { hunterShoots }, \"hunterShoots\").mockImplementation(),\n guardProtects: jest.spyOn(services.gamePlayMaker as unknown as { guardProtects }, \"guardProtects\").mockImplementation(),\n foxSniffs: jest.spyOn(services.gamePlayMaker as unknown as { foxSniffs }, \"foxSniffs\").mockImplementation(),\n wildChildChoosesModel: jest.spyOn(services.gamePlayMaker as unknown as { wildChildChoosesModel }, \"wildChildChoosesModel\").mockImplementation(),\n dogWolfChoosesSide: jest.spyOn(services.gamePlayMaker as unknown as { dogWolfChoosesSide }, \"dogWolfChoosesSide\").mockImplementation(),\n scapegoatBansVoting: jest.spyOn(services.gamePlayMaker as unknown as { scapegoatBansVoting }, \"scapegoatBansVoting\").mockImplementation(),\n thiefChoosesCard: jest.spyOn(services.gamePlayMaker as unknown as { thiefChoosesCard }, \"thiefChoosesCard\").mockImplementation(),\n allPlay: jest.spyOn(services.gamePlayMaker as unknown as { allPlay }, \"allPlay\").mockImplementation(),\n ravenMarks: jest.spyOn(services.gamePlayMaker as unknown as { ravenMarks }, \"ravenMarks\").mockImplementation(),\n sheriffPlays: jest.spyOn(services.gamePlayMaker as unknown as { sheriffPlays }, \"sheriffPlays\").mockImplementation(),\n },\n };\n });\n\n it(\"should throw error when game's current play is not set.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame();\n const interpolations = { gameId: game._id };\n\n await expect(services.gamePlayMaker.makeGamePlay(play, game)).toReject();\n expect(mocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"makeGamePlay\", interpolations);\n });\n\n it(\"should call no play method when source is not in available methods.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayTwoSistersMeetEachOther() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n const gamePlayMakerServiceMockKeys = Object.keys(localMocks.gamePlayMakerService);\n for (const gamePlayMakerServiceMockKey of gamePlayMakerServiceMockKeys) {\n expect(localMocks.gamePlayMakerService[gamePlayMakerServiceMockKey]).not.toHaveBeenCalled();\n }\n });\n\n it(\"should return game as is when source is not in available methods.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayTwoSistersMeetEachOther() });\n\n await expect(services.gamePlayMaker.makeGamePlay(play, game)).resolves.toStrictEqual(game);\n });\n\n it(\"should call werewolvesEat method when it's werewolves turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWerewolvesEat() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n \n expect(localMocks.gamePlayMakerService.werewolvesEat).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call bigBadWolfEats method when it's big bad wolf's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayBigBadWolfEats() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.bigBadWolfEats).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call whiteWerewolfEats method when it's white werewolf's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWhiteWerewolfEats() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.whiteWerewolfEats).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call seerLooks method when it's seer's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlaySeerLooks() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.seerLooks).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call cupidCharms method when it's cupid's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayCupidCharms() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.cupidCharms).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call piedPiperCharms method when it's pied piper's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayPiedPiperCharms() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.piedPiperCharms).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call witchUsesPotions method when it's witch's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWitchUsesPotions() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.witchUsesPotions).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call hunterShoots method when it's hunter's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayHunterShoots() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.hunterShoots).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call guardProtects method when it's guard's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayGuardProtects() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.guardProtects).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call foxSniffs method when it's fox's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayFoxSniffs() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.foxSniffs).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call wildChildChoosesModel method when it's wild child's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayWildChildChoosesModel() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.wildChildChoosesModel).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call dogWolfChoosesSide method when it's dog wolf's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayDogWolfChoosesSide() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.dogWolfChoosesSide).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call scapegoatBansVoting method when it's scapegoat's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayScapegoatBansVoting() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.scapegoatBansVoting).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call thiefChoosesCard method when it's thief's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayThiefChoosesCard() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.thiefChoosesCard).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call allPlay method when it's all's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayAllVote() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.allPlay).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call ravenMarks method when it's raven's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlayRavenMarks() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.ravenMarks).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call sheriffPlays method when it's sheriff's turn.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGame({ currentPlay: createFakeGamePlaySheriffDelegates() });\n await services.gamePlayMaker.makeGamePlay(play, game);\n\n expect(localMocks.gamePlayMakerService.sheriffPlays).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n });\n\n describe(\"sheriffSettlesVotes\", () => {\n it(\"should return game as is when target count is not the one expected.\", async() => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGameWithCurrentPlay();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"sheriffSettlesVotes\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call killOrRevealPlayer method when sheriff delegates to a target.\", async() => {\n const targetedPlayer = createFakePlayer();\n const play = createFakeMakeGamePlayWithRelationsDto({ targets: [createFakeMakeGamePlayTargetWithRelationsDto({ player: targetedPlayer })] });\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n await services.gamePlayMaker[\"sheriffSettlesVotes\"](play, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(targetedPlayer._id, game, createFakePlayerVoteBySheriffDeath());\n });\n });\n\n describe(\"sheriffDelegates\", () => {\n it(\"should return game as is when target count is not the one expected.\", () => {\n const play = createFakeMakeGamePlayWithRelationsDto();\n const game = createFakeGameWithCurrentPlay();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"sheriffDelegates\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should remove previous sheriff attribute and add it to the target when called.\", () => {\n const players = bulkCreateFakePlayers(4, [{ attributes: [createFakeSheriffByAllPlayerAttribute()] }]);\n const play = createFakeMakeGamePlayWithRelationsDto({ targets: [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })] });\n const game = createFakeGameWithCurrentPlay({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({ ...players[0], attributes: [] }),\n createFakePlayer({ ...players[1], attributes: [createFakeSheriffBySheriffPlayerAttribute()] }),\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"sheriffDelegates\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"sheriffPlays\", () => {\n let localMocks: {\n gamePlayMakerService: {\n sheriffDelegates: jest.SpyInstance;\n sheriffSettlesVotes: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayMakerService: {\n sheriffDelegates: jest.spyOn(services.gamePlayMaker as unknown as { sheriffDelegates }, \"sheriffDelegates\").mockImplementation(),\n sheriffSettlesVotes: jest.spyOn(services.gamePlayMaker as unknown as { sheriffSettlesVotes }, \"sheriffSettlesVotes\").mockImplementation(),\n },\n };\n });\n \n it(\"should return game as is when upcoming play is not for sheriff.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayFoxSniffs() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"sheriffPlays\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call sheriffDelegates method when upcoming play is sheriff role delegation.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffDelegates() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"sheriffPlays\"](play, game);\n\n expect(localMocks.gamePlayMakerService.sheriffDelegates).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call sheriffSettlesVotes method when upcoming play is sheriff settling vote.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"sheriffPlays\"](play, game);\n\n expect(localMocks.gamePlayMakerService.sheriffSettlesVotes).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n });\n\n describe(\"handleTieInVotes\", () => {\n let localMocks: { gameMutator: { prependUpcomingPlayInGame: jest.SpyInstance } };\n\n beforeEach(() => {\n localMocks = { gameMutator: { prependUpcomingPlayInGame: jest.spyOn(GameMutator, \"prependUpcomingPlayInGame\") } };\n });\n\n it(\"should not kill scapegoat when he's not the game.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should not kill scapegoat when he's dead.\", async() => {\n const players: Player[] = [\n createFakeScapegoatAlivePlayer({ isAlive: false }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should not kill scapegoat when he's powerless.\", async() => {\n const players: Player[] = [\n createFakeScapegoatAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should kill scapegoat when he's in the game and alive.\", async() => {\n const players: Player[] = [\n createFakeScapegoatAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const playerDeath = createFakePlayerVoteScapegoatedByAllDeath();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(players[0]._id, game, playerDeath);\n });\n\n it(\"should not prepend sheriff delegation game play when sheriff is not in the game.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlaySheriffSettlesVotes = createFakeGamePlaySheriffSettlesVotes();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).not.toHaveBeenCalledWith(gamePlaySheriffSettlesVotes, game);\n });\n\n it(\"should not prepend sheriff delegation game play when sheriff is dead.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer({ isAlive: false, attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlaySheriffSettlesVotes = createFakeGamePlaySheriffSettlesVotes();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).not.toHaveBeenCalledWith(gamePlaySheriffSettlesVotes, game);\n });\n\n it(\"should prepend sheriff delegation game play when sheriff is in the game.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlaySheriffSettlesVotes = createFakeGamePlaySheriffSettlesVotes();\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).toHaveBeenCalledExactlyOnceWith(gamePlaySheriffSettlesVotes, game);\n });\n\n it(\"should prepend vote game play when previous play is not a tie.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlayAllVote = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).toHaveBeenCalledExactlyOnceWith(gamePlayAllVote, game);\n });\n\n it(\"should prepend vote game play when there is no game history records.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const gamePlayAllVote = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n await services.gamePlayMaker[\"handleTieInVotes\"](game);\n\n expect(localMocks.gameMutator.prependUpcomingPlayInGame).toHaveBeenCalledExactlyOnceWith(gamePlayAllVote, game);\n });\n\n it(\"should not prepend vote game play when current play is due to a tie.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const currentPlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n const game = createFakeGameWithCurrentPlay({ players, currentPlay });\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"handleTieInVotes\"](game)).resolves.toStrictEqual(expectedGame);\n });\n });\n \n describe(\"allVote\", () => {\n let localMocks: {\n gamePlayMakerService: {\n handleTieInVotes: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = { gamePlayMakerService: { handleTieInVotes: jest.spyOn(services.gamePlayMaker as unknown as { handleTieInVotes }, \"handleTieInVotes\").mockImplementation() } };\n });\n \n it(\"should return game as is when there is no vote.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"allVote\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no nominated players.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: false });\n const nominatedPlayers = [];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"allVote\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n \n it(\"should call handleTieInVotes method when there are several nominated players.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: false });\n const nominatedPlayers = [players[1], players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n await services.gamePlayMaker[\"allVote\"](play, game);\n\n expect(localMocks.gamePlayMakerService.handleTieInVotes).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call handleTieInVotes method with prepended all vote game play from judge when there are several nominated players and judge requested it.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: true });\n const nominatedPlayers = [players[1], players[2]];\n const expectedGame = createFakeGameWithCurrentPlay({\n ...game,\n upcomingPlays: [createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST })],\n });\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n await services.gamePlayMaker[\"allVote\"](play, game);\n\n expect(localMocks.gamePlayMakerService.handleTieInVotes).toHaveBeenCalledExactlyOnceWith(expectedGame);\n });\n\n it(\"should call killOrRevealPlayer method when there is one nominated player.\", async() => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes, doesJudgeRequestAnotherVote: false });\n const nominatedPlayers = [players[1]];\n const playerVoteByAllDeath = createFakePlayerVoteByAllDeath();\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n await services.gamePlayMaker[\"allVote\"](play, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(players[1]._id, game, playerVoteByAllDeath);\n });\n });\n\n describe(\"handleTieInSheriffElection\", () => {\n let localMocks: { lodash: { sample: jest.SpyInstance } };\n \n beforeEach(() => {\n localMocks = { lodash: { sample: jest.spyOn(lodash, \"sample\").mockImplementation() } };\n });\n \n it(\"should prepend all elect sheriff game play when current play is not due to a tie.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const currentPlay = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST });\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGameWithCurrentPlay({ currentPlay, players, upcomingPlays });\n const nominatedPlayers = [players[0], players[1]];\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), ...upcomingPlays],\n });\n\n expect(services.gamePlayMaker[\"handleTieInSheriffElection\"](nominatedPlayers, game)).toStrictEqual(expectedGame);\n });\n \n it(\"should add sheriff attribute to a random nominated player when current play is due to a tie.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n localMocks.lodash.sample.mockReturnValue(players[0]);\n const currentPlay = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGameWithCurrentPlay({ currentPlay, players, upcomingPlays });\n const nominatedPlayers = [players[0], players[1]];\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n attributes: [createFakeSheriffByAllPlayerAttribute()],\n }),\n players[1],\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"handleTieInSheriffElection\"](nominatedPlayers, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when it's not possible to choose a random nominated player.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n localMocks.lodash.sample.mockReturnValue(undefined);\n const currentPlay = createFakeGamePlayAllElectSheriff({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGameWithCurrentPlay({ currentPlay, players, upcomingPlays });\n const nominatedPlayers = [players[0], players[1]];\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"handleTieInSheriffElection\"](nominatedPlayers, game)).toStrictEqual(expectedGame);\n });\n });\n \n describe(\"allElectSheriff\", () => {\n let localMocks: {\n gamePlayMakerService: {\n handleTieInSheriffElection: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = { gamePlayMakerService: { handleTieInSheriffElection: jest.spyOn(services.gamePlayMaker as unknown as { handleTieInSheriffElection }, \"handleTieInSheriffElection\").mockImplementation() } };\n });\n \n it(\"should return game as is when there is no vote.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"allElectSheriff\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no nominated players.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes });\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue([]);\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"allElectSheriff\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should call handleTieInSheriffElection method when there is a tie in votes.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes });\n const nominatedPlayers = [players[0], players[1]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n services.gamePlayMaker[\"allElectSheriff\"](play, game);\n\n expect(localMocks.gamePlayMakerService.handleTieInSheriffElection).toHaveBeenCalledExactlyOnceWith(nominatedPlayers, game);\n });\n\n it(\"should add sheriff attribute to nominated player when called.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const votes: MakeGamePlayVoteWithRelationsDto[] = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[0], target: players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: players[2], target: players[0] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ votes });\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue([players[1]]);\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n createFakePlayer({ ...players[1], attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"allElectSheriff\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"allPlay\", () => {\n let localMocks: {\n gamePlayMakerService: {\n allElectSheriff: jest.SpyInstance;\n allVote: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayMakerService: {\n allElectSheriff: jest.spyOn(services.gamePlayMaker as unknown as { allElectSheriff }, \"allElectSheriff\").mockImplementation(),\n allVote: jest.spyOn(services.gamePlayMaker as unknown as { allVote }, \"allVote\").mockImplementation(),\n },\n };\n });\n\n it(\"should return game as is when upcoming play is not for all.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayFoxSniffs() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"allPlay\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call allElectSheriff method when upcoming play is sheriff role delegation.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllElectSheriff() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"allPlay\"](play, game);\n\n expect(localMocks.gamePlayMakerService.allElectSheriff).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n\n it(\"should call allVote method when upcoming play is sheriff settling vote.\", async() => {\n const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayAllVote() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n await services.gamePlayMaker[\"allPlay\"](play, game);\n\n expect(localMocks.gamePlayMakerService.allVote).toHaveBeenCalledExactlyOnceWith(play, game);\n });\n });\n\n describe(\"thiefChoosesCard\", () => {\n it(\"should return game as is when there is no thief player in game.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenCard: additionalCards[0] });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no chosen card.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when chosen card role is unknown.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenCard: createFakeGameAdditionalCard({}, { roleName: \"Toto\" }) });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should update thief role and side when called.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const additionalCards = bulkCreateFakeGameAdditionalCards(4, [createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF })]);\n const game = createFakeGameWithCurrentPlay({ players, additionalCards });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenCard: additionalCards[0] });\n const expectedThiefPlayer = createFakePlayer({\n ...players[0],\n role: { ...players[0].role, current: ROLE_NAMES.WEREWOLF },\n side: { ...players[0].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n expectedThiefPlayer,\n players[1],\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"thiefChoosesCard\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"scapegoatBansVoting\", () => {\n it(\"should return game as is when there are no targets.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"scapegoatBansVoting\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add scapegoat ban voting attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n createFakePlayer({ ...players[1], attributes: [createFakeCantVoteByScapegoatPlayerAttribute(game)] }),\n createFakePlayer({ ...players[2], attributes: [createFakeCantVoteByScapegoatPlayerAttribute(game)] }),\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"scapegoatBansVoting\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"dogWolfChoosesSide\", () => {\n it(\"should return game as is when chosen side is not set.\", () => {\n const players: Player[] = [\n createFakeDogWolfAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"dogWolfChoosesSide\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no dog wolf in the game.\", () => {\n const players: Player[] = [\n createFakeThiefAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"dogWolfChoosesSide\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return dog wolf on the werewolves side when called.\", () => {\n const players: Player[] = [\n createFakeRavenAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto({ chosenSide: ROLE_SIDES.WEREWOLVES });\n const expectedDogWolfPlayer = createFakePlayer({\n ...players[1],\n side: { ...players[1].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedDogWolfPlayer,\n players[2],\n players[3],\n ],\n });\n \n expect(services.gamePlayMaker[\"dogWolfChoosesSide\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"wildChildChoosesModel\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeDogWolfAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"wildChildChoosesModel\"](play, game)).toStrictEqual(expectedGame);\n });\n \n it(\"should add worshiped attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeDogWolfAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeWorshipedByWildChildPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"wildChildChoosesModel\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"foxSniffs\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when there is no fox in the game.\", () => {\n const players: Player[] = [\n createFakeSeerAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when fox is not powerless if misses werewolves by game options.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ fox: createFakeFoxGameOptions({ isPowerlessIfMissesWerewolf: false }) }) });\n const game = createFakeGameWithCurrentPlay({ players, options });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when fox sniffes a werewolf in the group.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ fox: createFakeFoxGameOptions({ isPowerlessIfMissesWerewolf: true }) }) });\n const game = createFakeGameWithCurrentPlay({ players, options });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should make fox powerless when there is no werewolf in the group.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer({ position: 0 }),\n createFakeRavenAlivePlayer({ position: 1 }),\n createFakeVillagerAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ fox: createFakeFoxGameOptions({ isPowerlessIfMissesWerewolf: true }) }) });\n const game = createFakeGameWithCurrentPlay({ players, options });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[0],\n attributes: [createFakePowerlessByFoxPlayerAttribute({ doesRemainAfterDeath: true })],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n expectedTargetedPlayer,\n players[1],\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"foxSniffs\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"ravenMarks\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"ravenMarks\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add raven marked attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeRavenMarkedByRavenPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"ravenMarks\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"guardProtects\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"guardProtects\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add protected attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeProtectedByGuardPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"guardProtects\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"hunterShoots\", () => {\n it(\"should return game as is when expected target count is not reached.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"hunterShoots\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should call killOrRevealPlayer method when called.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const playerDeath = createFakePlayerShotByHunterDeath();\n await services.gamePlayMaker[\"hunterShoots\"](play, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(players[1]._id, game, playerDeath);\n });\n });\n\n describe(\"witchUsesPotions\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"witchUsesPotions\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add only one potion attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], drankPotion: WITCH_POTIONS.LIFE })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeDrankLifePotionByWitchPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"witchUsesPotions\"](play, game)).toStrictEqual(expectedGame);\n });\n \n it(\"should add both potion attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], drankPotion: WITCH_POTIONS.LIFE }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2], drankPotion: WITCH_POTIONS.DEATH }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedFirstTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeDrankLifePotionByWitchPlayerAttribute()],\n });\n const expectedSecondTargetedPlayer = createFakePlayer({\n ...players[2],\n attributes: [createFakeDrankDeathPotionByWitchPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedFirstTargetedPlayer,\n expectedSecondTargetedPlayer,\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"witchUsesPotions\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"piedPiperCharms\", () => {\n it(\"should return game as is when targets are undefined.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"piedPiperCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when targets are empty.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto({ targets: [] });\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"piedPiperCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add pied piper charmed attributes to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedFirstTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeCharmedByPiedPiperPlayerAttribute()],\n });\n const expectedSecondTargetedPlayer = createFakePlayer({\n ...players[2],\n attributes: [createFakeCharmedByPiedPiperPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedFirstTargetedPlayer,\n expectedSecondTargetedPlayer,\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"piedPiperCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"cupidCharms\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"cupidCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add in-love attribute to targets when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: players[2] }),\n ];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedFirstTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeInLoveByCupidPlayerAttribute()],\n });\n const expectedSecondTargetedPlayer = createFakePlayer({\n ...players[2],\n attributes: [createFakeInLoveByCupidPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedFirstTargetedPlayer,\n expectedSecondTargetedPlayer,\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"cupidCharms\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"seerLooks\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"seerLooks\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add seen attribute to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeSeenBySeerPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"seerLooks\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"whiteWerewolfEats\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"whiteWerewolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by white werewolf to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByWhiteWerewolfPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"whiteWerewolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"bigBadWolfEats\", () => {\n it(\"should return game as is when expected target count is not reached.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n expect(services.gamePlayMaker[\"bigBadWolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by big bad wolf to target when called.\", () => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1] })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByBigBadWolfPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n expect(services.gamePlayMaker[\"bigBadWolfEats\"](play, game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"werewolvesEat\", () => {\n it(\"should return game as is when expected target count is not reached.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedGame = createFakeGame(game);\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by werewolves to target when target is not infected.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: false })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(false);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByWerewolvesPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should add eaten attribute by werewolves to target when target is infected but not killable ancient.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeAncientAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: true })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(false);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n attributes: [createFakeEatenByWerewolvesPlayerAttribute()],\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should change target side to werewolves when he's infected and not the ancient.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: true })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(false);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n side: { ...players[1].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should change target side to werewolves when he's infected and killable as ancient.\", async() => {\n const players: Player[] = [\n createFakeFoxAlivePlayer(),\n createFakeAncientAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const targets = [createFakeMakeGamePlayTargetWithRelationsDto({ player: players[1], isInfected: true })];\n const play = createFakeMakeGamePlayWithRelationsDto({ targets });\n mocks.playerKillerService.isAncientKillable.mockReturnValue(true);\n const expectedTargetedPlayer = createFakePlayer({\n ...players[1],\n side: { ...players[1].side, current: ROLE_SIDES.WEREWOLVES },\n });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n expectedTargetedPlayer,\n players[2],\n players[3],\n ],\n });\n\n await expect(services.gamePlayMaker[\"werewolvesEat\"](play, game)).resolves.toStrictEqual(expectedGame);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts": { + "tests": [ { - "id": "298", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers are in the game dto but options specify that they are never called.", + "id": "356", + "name": "Player Killer Service killOrRevealPlayer should return game as is when player can't be revealed or killed.", "location": { "start": { "column": 6, - "line": 1023 + "line": 103 } } }, { - "id": "299", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return true when three brother are in the game dto and options specify that they are called every other night.", + "id": "357", + "name": "Player Killer Service killOrRevealPlayer should call kill method when player is killable.", "location": { "start": { "column": 6, - "line": 1036 + "line": 121 } } }, { - "id": "300", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers are not in the game.", + "id": "358", + "name": "Player Killer Service killOrRevealPlayer should call reveal role method when player role must be revealed.", "location": { "start": { "column": 6, - "line": 1049 + "line": 139 } } }, { - "id": "301", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when three brothers is in the game but options specify that they are never called.", + "id": "359", + "name": "Player Killer Service applyPlayerRoleRevelationOutcomes should add can't vote attribute when player is idiot.", "location": { "start": { "column": 6, - "line": 1061 + "line": 159 } } }, { - "id": "302", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return true when three brothers are alive.", + "id": "360", + "name": "Player Killer Service applyPlayerRoleRevelationOutcomes should return the game as is when player is not an idiot.", "location": { "start": { "column": 6, - "line": 1074 + "line": 183 } } }, { - "id": "303", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return true when two brothers are alive.", + "id": "361", + "name": "Player Killer Service isAncientKillable should return true when cause is not EATEN.", "location": { "start": { "column": 6, - "line": 1087 + "line": 197 } } }, { - "id": "304", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when one brothers is alive.", + "id": "362", + "name": "Player Killer Service isAncientKillable should return false when cause is EATEN but ancient still have at least one life left.", "location": { "start": { "column": 6, - "line": 1100 + "line": 204 } } }, { - "id": "305", - "name": "Game Play Service isThreeBrothersGamePlaySuitableForCurrentPhase should return false when all brothers are dead.", + "id": "363", + "name": "Player Killer Service isAncientKillable should return true when cause is EATEN but ancient has only one life left.", "location": { "start": { "column": 6, - "line": 1113 + "line": 211 } } }, { - "id": "306", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters are not in the game dto.", + "id": "364", + "name": "Player Killer Service isAncientKillable should return true when cause is EATEN but ancient has 0 life left.", "location": { "start": { "column": 6, - "line": 1128 + "line": 218 } } }, { - "id": "307", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters are in the game dto but options specify that they are never called.", + "id": "365", + "name": "Player Killer Service revealPlayerRole should throw error when player to reveal is not found among players.", "location": { "start": { "column": 6, - "line": 1140 + "line": 227 } } }, { - "id": "308", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return true when two sisters are in the game dto and options specify that they are called every other night.", + "id": "366", + "name": "Player Killer Service revealPlayerRole should reveal player role when called.", "location": { "start": { "column": 6, - "line": 1153 + "line": 245 } } }, { - "id": "309", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters are not in the game.", + "id": "367", + "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is already revealed.", "location": { "start": { "column": 6, - "line": 1166 + "line": 271 } } }, { - "id": "310", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when two sisters is in the game but options specify that they are never called.", + "id": "368", + "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is not idiot.", "location": { "start": { "column": 6, - "line": 1179 + "line": 279 } } }, { - "id": "311", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return true when two sisters are alive.", + "id": "369", + "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is idiot but powerless.", "location": { "start": { "column": 6, - "line": 1192 + "line": 287 } } }, { - "id": "312", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when one sister is alive.", + "id": "370", + "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is idiot but death cause is not vote.", "location": { "start": { "column": 6, - "line": 1205 + "line": 295 } } }, { - "id": "313", - "name": "Game Play Service isTwoSistersGamePlaySuitableForCurrentPhase should return false when all sisters are dead.", + "id": "371", + "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return true when player role is idiot and death cause is not vote.", "location": { "start": { "column": 6, - "line": 1218 + "line": 303 } } }, { - "id": "314", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when player is not in game.", + "id": "372", + "name": "Player Killer Service removePlayerAttributesAfterDeath should remove player attributes which need to be removed after death when called.", "location": { "start": { "column": 6, - "line": 1257 + "line": 313 } } }, { - "id": "315", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call two sisters method when game play source role is two sisters.", + "id": "373", + "name": "Player Killer Service getAncientLivesCountAgainstWerewolves should return same amount of lives when no werewolves attack against ancient.", "location": { "start": { "column": 6, - "line": 1270 + "line": 335 } } }, { - "id": "316", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call three brothers method when game play source role is three brothers.", + "id": "374", + "name": "Player Killer Service getAncientLivesCountAgainstWerewolves should return amount of lives minus one when ancient was attacked three times but protected once and saved by witch once.", "location": { "start": { "column": 6, - "line": 1284 + "line": 352 } } }, { - "id": "317", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call big bad wolf method when game plays source role is big bad wolf.", + "id": "375", + "name": "Player Killer Service getAncientLivesCountAgainstWerewolves should return amount of lives minus one when ancient was attacked but not protected and killed by witch.", "location": { "start": { "column": 6, - "line": 1298 + "line": 388 } } }, { - "id": "318", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call pied piper method when game plays source role is pied piper.", + "id": "376", + "name": "Player Killer Service isIdiotKillable should return true when idiot is already revealed.", "location": { "start": { "column": 6, - "line": 1312 + "line": 407 } } }, { - "id": "319", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call white werewolf method when game plays source role is white werewolf.", + "id": "377", + "name": "Player Killer Service isIdiotKillable should return true when idiot is killed by other cause than a vote.", "location": { "start": { "column": 6, - "line": 1326 + "line": 415 } } }, { - "id": "320", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should call witch method when game plays source role is witch.", + "id": "378", + "name": "Player Killer Service isIdiotKillable should return true when idiot is killed by vote but powerless.", "location": { "start": { "column": 6, - "line": 1340 + "line": 422 } } }, { - "id": "321", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is hunter and player is dto.", + "id": "379", + "name": "Player Killer Service isIdiotKillable should return false when idiot is not revealed, dies from votes and is not powerless.", "location": { "start": { "column": 6, - "line": 1354 + "line": 429 } } }, { - "id": "322", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is hunter and player is powerful.", + "id": "380", + "name": "Player Killer Service canPlayerBeEaten should return false when player is saved by the witch.", "location": { "start": { "column": 6, - "line": 1367 + "line": 438 } } }, { - "id": "323", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when game plays source role is hunter and player is powerless.", + "id": "381", + "name": "Player Killer Service canPlayerBeEaten should return false when player is protected by guard and is not little girl.", "location": { "start": { "column": 6, - "line": 1380 + "line": 445 } } }, { - "id": "324", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is scapegoat and player is dto.", + "id": "382", + "name": "Player Killer Service canPlayerBeEaten should return false when player is protected by guard, is little girl but game options allows guard to protect her.", "location": { "start": { "column": 6, - "line": 1393 + "line": 453 } } }, { - "id": "325", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when game plays source role is scapegoat and player is powerful.", + "id": "383", + "name": "Player Killer Service canPlayerBeEaten should return true when player is protected by guard, is little girl but game options doesn't allow guard to protect her.", "location": { "start": { "column": 6, - "line": 1406 + "line": 461 } } }, { - "id": "326", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when game plays source role is scapegoat and player is powerless.", + "id": "384", + "name": "Player Killer Service canPlayerBeEaten should return true when player defenseless.", "location": { "start": { "column": 6, - "line": 1419 + "line": 469 } } }, { - "id": "327", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when player is dto.", + "id": "385", + "name": "Player Killer Service isPlayerKillable should return false when cause is EATEN and player can't be eaten.", "location": { "start": { "column": 6, - "line": 1432 + "line": 478 } } }, { - "id": "328", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when player is dead.", + "id": "386", + "name": "Player Killer Service isPlayerKillable should not call can player be eaten validator when cause is not EATEN.", "location": { "start": { "column": 6, - "line": 1445 + "line": 486 } } }, { - "id": "329", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return false when player is powerless.", + "id": "387", + "name": "Player Killer Service isPlayerKillable should call is idiot killable when player is an idiot.", "location": { "start": { "column": 6, - "line": 1458 + "line": 495 } } }, { - "id": "330", - "name": "Game Play Service isRoleGamePlaySuitableForCurrentPhase should return true when player is alive and powerful.", + "id": "388", + "name": "Player Killer Service isPlayerKillable should not call is idiot killable when player is not an idiot.", "location": { "start": { "column": 6, - "line": 1471 + "line": 504 } } }, { - "id": "331", - "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return false when sheriff is not enabled.", + "id": "389", + "name": "Player Killer Service isPlayerKillable should call is ancient killable when player is an ancient.", "location": { "start": { "column": 6, - "line": 1486 + "line": 513 } } }, { - "id": "332", - "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return true when game is dto.", + "id": "390", + "name": "Player Killer Service isPlayerKillable should not call is ancient killable when player is not an ancient.", "location": { "start": { "column": 6, - "line": 1493 + "line": 522 } } }, { - "id": "333", - "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return false when sheriff is not in the game.", + "id": "391", + "name": "Player Killer Service isPlayerKillable should return true when there are no contraindications.", "location": { "start": { "column": 6, - "line": 1500 + "line": 531 } } }, { - "id": "334", - "name": "Game Play Service isSheriffGamePlaySuitableForCurrentPhase should return true when sheriff is in the game.", + "id": "392", + "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when killed player doesn't have the worshiped attribute.", "location": { "start": { "column": 6, - "line": 1513 + "line": 540 } } }, { - "id": "335", - "name": "Game Play Service isGamePlaySuitableForCurrentPhase should call isRoleGamePlaySuitableForCurrentPhase when source is a sheriff.", + "id": "393", + "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when there is no wild child player.", "location": { "start": { "column": 6, - "line": 1528 + "line": 552 } } }, { - "id": "336", - "name": "Game Play Service isGamePlaySuitableForCurrentPhase should call isRoleGamePlaySuitableForCurrentPhase when source is a role.", + "id": "394", + "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when wild child player is dead.", "location": { "start": { "column": 6, - "line": 1537 + "line": 564 } } }, { - "id": "337", - "name": "Game Play Service isGamePlaySuitableForCurrentPhase should call isGroupGamePlaySuitableForCurrentPhase when source is a group.", + "id": "395", + "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when wild child player is powerless.", "location": { "start": { "column": 6, - "line": 1546 + "line": 576 } } - } - ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { when } from \"jest-when\";\nimport { defaultGameOptions } from \"../../../../../../../../src/modules/game/constants/game-options/game-options.constant\";\nimport { GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { GAME_PHASES } from \"../../../../../../../../src/modules/game/enums/game.enum\";\nimport { PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameHelper from \"../../../../../../../../src/modules/game/helpers/game.helper\";\nimport * as PlayerHelper from \"../../../../../../../../src/modules/game/helpers/player/player.helper\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePlayService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play.service\";\nimport type { GamePlay } from \"../../../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeGameOptionsDto } from \"../../../../../../../factories/game/dto/create-game/create-game-options/create-game-options.dto.factory\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeGameHistoryRecord } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeRolesGameOptions, createFakeSheriffGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlay, createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCharmedMeetEachOther, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayLoversMeetEachOther, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlayStutteringJudgeChoosesSign, createFakeGamePlayThiefChoosesCard, createFakeGamePlayThreeBrothersMeetEachOther, createFakeGamePlayTwoSistersMeetEachOther, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeInLoveByCupidPlayerAttribute, createFakePowerlessByAncientPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeAngelAlivePlayer, createFakeBigBadWolfAlivePlayer, createFakeCupidAlivePlayer, createFakeDogWolfAlivePlayer, createFakeFoxAlivePlayer, createFakeGuardAlivePlayer, createFakeHunterAlivePlayer, createFakePiedPiperAlivePlayer, createFakeRavenAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeStutteringJudgeAlivePlayer, createFakeThiefAlivePlayer, createFakeThreeBrothersAlivePlayer, createFakeTwoSistersAlivePlayer, createFakeVileFatherOfWolvesAlivePlayer, createFakeVillagerAlivePlayer, createFakeVillagerVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWhiteWerewolfAlivePlayer, createFakeWildChildAlivePlayer, createFakeWitchAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Play Service\", () => {\n let services: { gamePlay: GamePlayService };\n let mocks: {\n gameHistoryRecordService: {\n getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance;\n };\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.SpyInstance;\n getLeftToEatByWhiteWerewolfPlayers: jest.SpyInstance;\n getExpectedPlayersToPlay: jest.SpyInstance;\n };\n };\n\n beforeEach(async() => {\n mocks = {\n gameHistoryRecordService: { getGameHistoryWitchUsesSpecificPotionRecords: jest.fn().mockResolvedValue([]) },\n gameHelper: {\n getLeftToEatByWerewolvesPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWerewolvesPlayers\").mockReturnValue([]),\n getLeftToEatByWhiteWerewolfPlayers: jest.spyOn(GameHelper, \"getLeftToEatByWhiteWerewolfPlayers\").mockReturnValue([]),\n getExpectedPlayersToPlay: jest.spyOn(GameHelper, \"getExpectedPlayersToPlay\").mockReturnValue([]),\n },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n GamePlayService,\n ],\n }).compile();\n \n services = { gamePlay: module.get(GamePlayService) };\n });\n\n describe(\"removeObsoleteUpcomingPlays\", () => {\n it(\"should return game as is when no game play needs to be removed.\", async() => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer({ isAlive: false }),\n createFakeWitchAlivePlayer(),\n ];\n const upcomingPlays = [\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayWerewolvesEat(),\n ];\n const game = createFakeGame({ players, upcomingPlays });\n\n await expect(services.gamePlay.removeObsoleteUpcomingPlays(game)).resolves.toStrictEqual(game);\n });\n\n it(\"should remove some game plays when players became powerless or died.\", async() => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer({ isAlive: false }),\n createFakeWitchAlivePlayer({ isAlive: false }),\n ];\n const upcomingPlays = [\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayWerewolvesEat(),\n ];\n const game = createFakeGame({ players, upcomingPlays });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [\n createFakeGamePlayHunterShoots(),\n createFakeGamePlayWerewolvesEat(),\n ],\n });\n\n await expect(services.gamePlay.removeObsoleteUpcomingPlays(game)).resolves.toStrictEqual(expectedGame);\n });\n });\n\n describe(\"proceedToNextGamePlay\", () => {\n it(\"should return game as is when there is no upcoming plays.\", () => {\n const game = createFakeGame();\n\n expect(services.gamePlay.proceedToNextGamePlay(game)).toStrictEqual(game);\n });\n\n it(\"should make proceed to next game play when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThiefAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const expectedPlayersToPlay = [players[1], players[3]];\n mocks.gameHelper.getExpectedPlayersToPlay.mockReturnValue(expectedPlayersToPlay);\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayAllVote()], currentPlay: createFakeGamePlayFoxSniffs() });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [],\n currentPlay: createFakeGamePlay({\n ...game.upcomingPlays[0],\n source: createFakeGamePlaySource({ ...game.upcomingPlays[0].source, players: expectedPlayersToPlay }),\n }),\n });\n\n expect(services.gamePlay.proceedToNextGamePlay(game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"getUpcomingDayPlays\", () => {\n it(\"should get upcoming day plays when called.\", () => {\n expect(services.gamePlay.getUpcomingDayPlays()).toStrictEqual([createFakeGamePlayAllVote()]);\n });\n });\n\n describe(\"getUpcomingNightPlays\", () => {\n it.each<{ game: Game; output: GamePlay[]; test: string }>([\n {\n test: \"it's the first night with official rules and some roles\",\n game: createFakeGame({\n turn: 1,\n phase: GAME_PHASES.NIGHT,\n players: bulkCreateFakePlayers(4, [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ]),\n options: defaultGameOptions,\n }),\n output: [\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayWerewolvesEat(),\n ],\n },\n {\n test: \"it's the first night with official rules and all roles who act during the night\",\n game: createFakeGame({\n turn: 1,\n phase: GAME_PHASES.NIGHT,\n players: bulkCreateFakePlayers(22, [\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeAngelAlivePlayer(),\n createFakeThiefAlivePlayer(),\n createFakeDogWolfAlivePlayer(),\n createFakeCupidAlivePlayer(),\n createFakeFoxAlivePlayer(),\n createFakeStutteringJudgeAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n createFakeRavenAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]),\n options: defaultGameOptions,\n }),\n output: [\n createFakeGamePlayAllElectSheriff(),\n createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE }),\n createFakeGamePlayThiefChoosesCard(),\n createFakeGamePlayDogWolfChoosesSide(),\n createFakeGamePlayCupidCharms(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayFoxSniffs(),\n createFakeGamePlayLoversMeetEachOther(),\n createFakeGamePlayStutteringJudgeChoosesSign(),\n createFakeGamePlayTwoSistersMeetEachOther(),\n createFakeGamePlayThreeBrothersMeetEachOther(),\n createFakeGamePlayWildChildChoosesModel(),\n createFakeGamePlayRavenMarks(),\n createFakeGamePlayGuardProtects(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlayWhiteWerewolfEats(),\n createFakeGamePlayBigBadWolfEats(),\n createFakeGamePlayWitchUsesPotions(),\n createFakeGamePlayPiedPiperCharms(),\n createFakeGamePlayCharmedMeetEachOther(),\n ],\n },\n {\n test: \"it's the second night with official rules and some roles\",\n game: createFakeGame({\n turn: 2,\n phase: GAME_PHASES.NIGHT,\n players: bulkCreateFakePlayers(4, [\n createFakeCupidAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeWitchAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeAngelAlivePlayer(),\n ]),\n options: defaultGameOptions,\n }),\n output: [createFakeGamePlayWerewolvesEat()],\n },\n ])(\"should get upcoming night plays when $test [#$#].\", async({ game, output }) => {\n await expect(services.gamePlay.getUpcomingNightPlays(game)).resolves.toStrictEqual(output);\n });\n });\n\n describe(\"isSheriffElectionTime\", () => {\n it(\"should return false when sheriff is not enabled even if it's the time.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: false, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 1, GAME_PHASES.NIGHT)).toBe(false);\n });\n\n it(\"should return false when it's not the right turn.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: true, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 2, GAME_PHASES.NIGHT)).toBe(false);\n });\n\n it(\"should return false when it's not the right phase.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.DAY }, isEnabled: true, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 1, GAME_PHASES.NIGHT)).toBe(false);\n });\n\n it(\"should return true when it's the right phase and turn.\", () => {\n const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: true, hasDoubledVote: false });\n \n expect(services.gamePlay[\"isSheriffElectionTime\"](sheriffGameOptions, 1, GAME_PHASES.NIGHT)).toBe(true);\n });\n });\n\n describe(\"isLoversGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when there is no cupid in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when there is cupid in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.CUPID } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when there is no cupid in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when there is cupid in the game but he is dead and there is no lovers.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeCupidAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when there is cupid in the game but he is powerless and there is no lovers.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeCupidAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when there is cupid alive and powerful and there is no lovers.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeCupidAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when cupid is dead but one of the lovers is dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeVileFatherOfWolvesAlivePlayer({ isAlive: false, attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeCupidAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n\n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when cupid is dead and lovers are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeVileFatherOfWolvesAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeCupidAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n\n expect(services.gamePlay[\"isLoversGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isAllGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return true when game play's action is ELECT_SHERIFF.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.DAY });\n const gamePlay = createFakeGamePlayAllElectSheriff();\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n \n it(\"should return true when game play's action is VOTE but reason is not angel presence.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.DAY });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n\n it(\"should return false when there is no angel in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(false);\n });\n\n it(\"should return true when there is angel in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.ANGEL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(true);\n });\n\n it(\"should return false when there is no angel in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeVillagerVillagerAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n\n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return false when there is angel in the game but he is dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n \n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return false when there is angel in the game but he is powerless.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n \n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return true when there is angel in the game alive and powerful.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1, phase: GAME_PHASES.NIGHT });\n const gamePlay = createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.ANGEL_PRESENCE });\n \n expect(services.gamePlay[\"isAllGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n });\n\n describe(\"isGroupGamePlaySuitableForCurrentPhase\", () => {\n let localMocks: {\n gamePlayService: {\n isAllGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isLoversGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePlayService: {\n isAllGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isAllGamePlaySuitableForCurrentPhase }, \"isAllGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isLoversGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isLoversGamePlaySuitableForCurrentPhase }, \"isLoversGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isPiedPiperGamePlaySuitableForCurrentPhase }, \"isPiedPiperGamePlaySuitableForCurrentPhase\").mockImplementation(),\n },\n };\n });\n\n it(\"should call all playable method when game plays source group is all.\", () => {\n const game = createFakeGame();\n const gamePlay = createFakeGamePlayAllVote();\n services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isAllGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should call lovers playable method when game plays source group is lovers.\", () => {\n const game = createFakeGame();\n const gamePlay = createFakeGamePlayLoversMeetEachOther();\n services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isLoversGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should call charmed playable method when game plays source group is charmed people.\", () => {\n const game = createFakeGame();\n const gamePlay = createFakeGamePlayCharmedMeetEachOther();\n services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isPiedPiperGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should return true when game plays source group is werewolves and game is dto.\", () => {\n const gameDto = createFakeCreateGameDto();\n const gamePlay = createFakeGamePlayWerewolvesEat();\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(true);\n });\n\n it(\"should return false when game plays source group is villagers and game is dto.\", () => {\n const gameDto = createFakeCreateGameDto();\n const gamePlay = createFakeGamePlayWerewolvesEat({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.VILLAGERS }) });\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).toBe(false);\n });\n\n it(\"should return false when game plays source group is werewolves and all are powerless.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeBigBadWolfAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWitchAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWerewolvesEat();\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(false);\n });\n\n it(\"should return true when game plays source group is werewolves and at least one is alive and powerful.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeBigBadWolfAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWerewolvesEat();\n\n expect(services.gamePlay[\"isGroupGamePlaySuitableForCurrentPhase\"](game, gamePlay)).toBe(true);\n });\n });\n\n describe(\"isWitchGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when witch is not in the game dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](gameDto)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is not in the game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is in the game but dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer({ isAlive: false }),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is in the game but powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return false when witch is in the game but options specify that her turn must be skipped if no more potions.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true }) });\n const game = createFakeGame({ players, options });\n mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords.mockResolvedValue([createFakeGameHistoryRecord()]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(false);\n });\n\n it(\"should return true when witch is in the game but options specify that her turn must not be skipped even with no more potions.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false }) });\n const game = createFakeGame({ players, options });\n mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords.mockResolvedValue([createFakeGameHistoryRecord()]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(true);\n });\n\n it(\"should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still death potion.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true }) });\n const game = createFakeGame({ players, options });\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([createFakeGameHistoryRecord()]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(true);\n });\n\n it(\"should return true when witch is in the game but options specify that her turn must be skipped with no more potions but has still life potion.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true }) });\n const game = createFakeGame({ players, options });\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.LIFE).mockResolvedValue([createFakeGameHistoryRecord()]);\n when(mocks.gameHistoryRecordService.getGameHistoryWitchUsesSpecificPotionRecords).calledWith(game._id, WITCH_POTIONS.DEATH).mockResolvedValue([]);\n\n await expect(services.gamePlay[\"isWitchGamePlaySuitableForCurrentPhase\"](game)).resolves.toBe(true);\n });\n });\n\n describe(\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when white werewolf is not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game dto but options specify that he's never called.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ whiteWerewolf: { wakingUpInterval: 0 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when white werewolf is in the game dto and options specify that he's called every other night.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ whiteWerewolf: { wakingUpInterval: 2 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when white werewolf is not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players, turn: 1 });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game but options specify that he's never called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 0 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game but dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 1 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game but powerless.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 1 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game, alive, powerful, has no targets and options say skip if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, whiteWerewolf: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n mocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([]);\n\n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when white werewolf is in the game, alive and powerful but game's turn is not aligned with his waking up interval.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 4 } }) });\n const game = createFakeGame({ players, turn: 3, options });\n\n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when white werewolf is in the game, alive and powerful.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, whiteWerewolf: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n \n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when white werewolf is in the game, alive, powerful, has targets and options say skip if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, whiteWerewolf: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, turn: 1, options });\n mocks.gameHelper.getLeftToEatByWhiteWerewolfPlayers.mockReturnValue([players[3]]);\n\n expect(services.gamePlay[\"isWhiteWerewolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isPiedPiperGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when pied piper is not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when pied piper is in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when pied piper is not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeAngelAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when pied piper is in the game can't charm anymore.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakePiedPiperAlivePlayer({ isAlive: false }),\n ]);\n jest.spyOn(PlayerHelper, \"canPiedPiperCharm\").mockReturnValue(false);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when pied piper is in the game and can still charm.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]);\n jest.spyOn(PlayerHelper, \"canPiedPiperCharm\").mockReturnValue(true);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isPiedPiperGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isBigBadWolfGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when big bad wolf is not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when big bad wolf is in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.BIG_BAD_WOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when big bad wolf is not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when big bad wolf is in the game but dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when big bad wolf is in the game but one werewolf is dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when big bad wolf is in the game, all werewolves are alive and his turn is skipped if no targets but there are targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: true, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[1]]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when big bad wolf is in the game, one werewolf is dead but classic rules are not followed.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: false } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when big bad wolf is in the game and all werewolves are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([players[0]]);\n \n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when big bad wolf is in the game, all werewolves are alive and his turn is no skipped if no targets.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ doSkipCallIfNoTarget: false, bigBadWolf: { isPowerlessIfWerewolfDies: true } }) });\n const game = createFakeGame({ players, options });\n mocks.gameHelper.getLeftToEatByWerewolvesPlayers.mockReturnValue([]);\n\n expect(services.gamePlay[\"isBigBadWolfGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isThreeBrothersGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when three brothers are not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return false when three brothers are in the game dto but options specify that they are never called.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 0 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when three brother are in the game dto and options specify that they are called every other night.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when three brothers are not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVileFatherOfWolvesAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when three brothers is in the game but options specify that they are never called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 0 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when three brothers are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return true when two brothers are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when one brothers is alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when all brothers are dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n createFakeThreeBrothersAlivePlayer({ isAlive: false }),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ threeBrothers: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isThreeBrothersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n });\n\n describe(\"isTwoSistersGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when two sisters are not in the game dto.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return false when two sisters are in the game dto but options specify that they are never called.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 0 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(false);\n });\n\n it(\"should return true when two sisters are in the game dto and options specify that they are called every other night.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const gameDto = createFakeCreateGameDto({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](gameDto)).toBe(true);\n });\n\n it(\"should return false when two sisters are not in the game.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when two sisters is in the game but options specify that they are never called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 0 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when two sisters are alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when one sister is alive.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return false when all sisters are dead.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeWildChildAlivePlayer(),\n ]);\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ twoSisters: { wakingUpInterval: 2 } }) });\n const game = createFakeGame({ players, options });\n \n expect(services.gamePlay[\"isTwoSistersGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n });\n\n describe(\"isRoleGamePlaySuitableForCurrentPhase\", () => {\n let localMocks: {\n gamePlayService: {\n isTwoSistersGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isThreeBrothersGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isBigBadWolfGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isWhiteWerewolfGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n isWitchGamePlaySuitableForCurrentPhase: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n localMocks = {\n gamePlayService: {\n isTwoSistersGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isTwoSistersGamePlaySuitableForCurrentPhase }, \"isTwoSistersGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isThreeBrothersGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isThreeBrothersGamePlaySuitableForCurrentPhase }, \"isThreeBrothersGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isBigBadWolfGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isBigBadWolfGamePlaySuitableForCurrentPhase }, \"isBigBadWolfGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isPiedPiperGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isPiedPiperGamePlaySuitableForCurrentPhase }, \"isPiedPiperGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isWhiteWerewolfGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isWhiteWerewolfGamePlaySuitableForCurrentPhase }, \"isWhiteWerewolfGamePlaySuitableForCurrentPhase\").mockImplementation(),\n isWitchGamePlaySuitableForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isWitchGamePlaySuitableForCurrentPhase }, \"isWitchGamePlaySuitableForCurrentPhase\").mockImplementation(),\n },\n };\n });\n \n it(\"should return false when player is not in game.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should call two sisters method when game play source role is two sisters.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayTwoSistersMeetEachOther();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isTwoSistersGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call three brothers method when game play source role is three brothers.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeThreeBrothersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n createFakeThreeBrothersAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayThreeBrothersMeetEachOther();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isThreeBrothersGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call big bad wolf method when game plays source role is big bad wolf.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayBigBadWolfEats();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isBigBadWolfGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call pied piper method when game plays source role is pied piper.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayPiedPiperCharms();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isPiedPiperGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call white werewolf method when game plays source role is white werewolf.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWhiteWerewolfEats();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isWhiteWerewolfGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call witch method when game plays source role is witch.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeBigBadWolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWitchAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayWitchUsesPotions();\n await services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(localMocks.gamePlayService.isWitchGamePlaySuitableForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should return true when game plays source role is hunter and player is dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.HUNTER } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.LITTLE_GIRL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayHunterShoots();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return true when game plays source role is hunter and player is powerful.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayHunterShoots();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return false when game plays source role is hunter and player is powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeHunterAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayHunterShoots();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return true when game plays source role is scapegoat and player is dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SCAPEGOAT } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.LITTLE_GIRL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlayScapegoatBansVoting();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return true when game plays source role is scapegoat and player is powerful.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeScapegoatAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayScapegoatBansVoting();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return false when game plays source role is scapegoat and player is powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeScapegoatAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlayScapegoatBansVoting();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return true when player is dto.\", async() => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.LITTLE_GIRL } },\n ]);\n const gameDto = createFakeCreateGameDto({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](gameDto, gamePlay)).resolves.toBe(true);\n });\n\n it(\"should return false when player is dead.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return false when player is powerless.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(false);\n });\n\n it(\"should return true when player is alive and powerful.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeTwoSistersAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n const gamePlay = createFakeGamePlaySeerLooks();\n\n await expect(services.gamePlay[\"isRoleGamePlaySuitableForCurrentPhase\"](game, gamePlay)).resolves.toBe(true);\n });\n });\n\n describe(\"isSheriffGamePlaySuitableForCurrentPhase\", () => {\n it(\"should return false when sheriff is not enabled.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: false }) }) });\n const game = createFakeCreateGameDto({ options });\n \n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when game is dto.\", () => {\n const options = createFakeGameOptionsDto({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: true }) }) });\n const game = createFakeCreateGameDto({ options });\n\n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n\n it(\"should return false when sheriff is not in the game.\", () => {\n const players = [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeCupidAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: true }) }) });\n const game = createFakeGame({ players, options });\n\n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(false);\n });\n\n it(\"should return true when sheriff is in the game.\", () => {\n const players = [\n createFakeWhiteWerewolfAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeCupidAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ sheriff: createFakeSheriffGameOptions({ isEnabled: true }) }) });\n const game = createFakeGame({ players, options });\n\n expect(services.gamePlay[\"isSheriffGamePlaySuitableForCurrentPhase\"](game)).toBe(true);\n });\n });\n\n describe(\"isGamePlaySuitableForCurrentPhase\", () => {\n it(\"should call isRoleGamePlaySuitableForCurrentPhase when source is a sheriff.\", async() => {\n const game = createFakeGame();\n const isSheriffGamePlaySuitableForCurrentPhaseSpy = jest.spyOn(services.gamePlay as unknown as { isSheriffGamePlaySuitableForCurrentPhase }, \"isSheriffGamePlaySuitableForCurrentPhase\");\n const gamePlay = createFakeGamePlaySheriffDelegates();\n await services.gamePlay[\"isGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(isSheriffGamePlaySuitableForCurrentPhaseSpy).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call isRoleGamePlaySuitableForCurrentPhase when source is a role.\", async() => {\n const game = createFakeGame();\n const isRoleGamePlaySuitableForCurrentPhaseSpy = jest.spyOn(services.gamePlay as unknown as { isRoleGamePlaySuitableForCurrentPhase }, \"isRoleGamePlaySuitableForCurrentPhase\");\n const gamePlay = createFakeGamePlaySeerLooks();\n await services.gamePlay[\"isGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n\n expect(isRoleGamePlaySuitableForCurrentPhaseSpy).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n\n it(\"should call isGroupGamePlaySuitableForCurrentPhase when source is a group.\", async() => {\n const game = createFakeGame();\n const isGroupGamePlaySuitableForCurrentPhaseSpy = jest.spyOn(services.gamePlay as unknown as { isGroupGamePlaySuitableForCurrentPhase }, \"isGroupGamePlaySuitableForCurrentPhase\");\n const gamePlay = createFakeGamePlayAllVote();\n await services.gamePlay[\"isGamePlaySuitableForCurrentPhase\"](game, gamePlay);\n \n expect(isGroupGamePlaySuitableForCurrentPhaseSpy).toHaveBeenCalledExactlyOnceWith(game, gamePlay);\n });\n });\n});" - }, - "tests/unit/specs/modules/game/providers/services/player/player-killer.service.spec.ts": { - "tests": [ + }, { - "id": "338", - "name": "Player Killer Service killOrRevealPlayer should return game as is when player can't be revealed or killed.", + "id": "396", + "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should transform wild child to a werewolf sided player when called.", "location": { "start": { "column": 6, - "line": 103 + "line": 588 } } }, { - "id": "339", - "name": "Player Killer Service killOrRevealPlayer should call kill method when player is killable.", + "id": "397", + "name": "Player Killer Service applyInLovePlayerDeathOutcomes should return game as is when killed player doesn't have the in love attribute.", "location": { "start": { "column": 6, - "line": 121 + "line": 614 } } }, { - "id": "340", - "name": "Player Killer Service killOrRevealPlayer should call reveal role method when player role must be revealed.", + "id": "398", + "name": "Player Killer Service applyInLovePlayerDeathOutcomes should return game as is when the other lover is not found because no other one has the in love attribute.", "location": { "start": { "column": 6, - "line": 139 + "line": 626 } } }, { - "id": "341", - "name": "Player Killer Service applyPlayerRoleRevelationOutcomes should add can't vote attribute when player is idiot.", + "id": "399", + "name": "Player Killer Service applyInLovePlayerDeathOutcomes should return game as is when the other lover is not found because he is dead.", "location": { "start": { "column": 6, - "line": 159 + "line": 638 } } }, { - "id": "342", - "name": "Player Killer Service applyPlayerRoleRevelationOutcomes should return the game as is when player is not an idiot.", + "id": "400", + "name": "Player Killer Service applyInLovePlayerDeathOutcomes should kill the other lover when called.", "location": { "start": { "column": 6, - "line": 183 + "line": 650 } } }, { - "id": "343", - "name": "Player Killer Service isAncientKillable should return true when cause is not EATEN.", + "id": "401", + "name": "Player Killer Service applySheriffPlayerDeathOutcomes should return game as is when player is not the sheriff.", "location": { "start": { "column": 6, - "line": 197 + "line": 666 } } }, { - "id": "344", - "name": "Player Killer Service isAncientKillable should return false when cause is EATEN but ancient still have at least one life left.", + "id": "402", + "name": "Player Killer Service applySheriffPlayerDeathOutcomes should return game as is when player is idiot and not powerless.", "location": { "start": { "column": 6, - "line": 204 + "line": 678 } } }, { - "id": "345", - "name": "Player Killer Service isAncientKillable should return true when cause is EATEN but ancient has only one life left.", + "id": "403", + "name": "Player Killer Service applySheriffPlayerDeathOutcomes should prepend sheriff election game play when called with powerless idiot.", "location": { "start": { "column": 6, - "line": 211 + "line": 690 } } }, { - "id": "346", - "name": "Player Killer Service isAncientKillable should return true when cause is EATEN but ancient has 0 life left.", + "id": "404", + "name": "Player Killer Service applySheriffPlayerDeathOutcomes should prepend sheriff election game play when called with any other role.", "location": { "start": { "column": 6, - "line": 218 + "line": 706 } } }, { - "id": "347", - "name": "Player Killer Service revealPlayerRole should throw error when player to reveal is not found among players.", + "id": "405", + "name": "Player Killer Service applyPlayerAttributesDeathOutcomes should call no methods when player doesn't have the right attributes.", "location": { "start": { "column": 6, - "line": 227 + "line": 732 } } }, { - "id": "348", - "name": "Player Killer Service revealPlayerRole should reveal player role when called.", + "id": "406", + "name": "Player Killer Service applyPlayerAttributesDeathOutcomes should call all methods when player have all attributes.", "location": { "start": { "column": 6, - "line": 245 + "line": 747 } } }, { - "id": "349", - "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is already revealed.", + "id": "407", + "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when killed player is not rusty sword knight.", "location": { "start": { "column": 6, - "line": 271 + "line": 775 } } }, { - "id": "350", - "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is not idiot.", + "id": "408", + "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when killed player is powerless.", "location": { "start": { "column": 6, - "line": 279 + "line": 788 } } }, { - "id": "351", - "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is idiot but powerless.", + "id": "409", + "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when death cause is not eaten.", "location": { "start": { "column": 6, - "line": 287 + "line": 801 } } }, { - "id": "352", - "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return false when player role is idiot but death cause is not vote.", + "id": "410", + "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when no left alive werewolf is found.", "location": { "start": { "column": 6, - "line": 295 + "line": 814 } } }, { - "id": "353", - "name": "Player Killer Service doesPlayerRoleMustBeRevealed should return true when player role is idiot and death cause is not vote.", + "id": "411", + "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game with first left alive werewolf player with contaminated attribute when called.", "location": { "start": { "column": 6, - "line": 303 + "line": 827 } } }, { - "id": "354", - "name": "Player Killer Service removePlayerAttributesAfterDeath should remove player attributes which need to be removed after death when called.", + "id": "412", + "name": "Player Killer Service applyScapegoatDeathOutcomes should return game as is when killed player is not scapegoat.", "location": { "start": { "column": 6, - "line": 313 + "line": 851 } } }, { - "id": "355", - "name": "Player Killer Service getAncientLivesCountAgainstWerewolves should return same amount of lives when no werewolves attack against ancient.", + "id": "413", + "name": "Player Killer Service applyScapegoatDeathOutcomes should return game as is when killed player is powerless.", "location": { "start": { "column": 6, - "line": 335 + "line": 864 } } }, { - "id": "356", - "name": "Player Killer Service getAncientLivesCountAgainstWerewolves should return amount of lives minus one when ancient was attacked three times but protected once and saved by witch once.", + "id": "414", + "name": "Player Killer Service applyScapegoatDeathOutcomes should return game as is when killed player was not scapegoated.", "location": { "start": { "column": 6, - "line": 352 + "line": 877 } } }, { - "id": "357", - "name": "Player Killer Service getAncientLivesCountAgainstWerewolves should return amount of lives minus one when ancient was attacked but not protected and killed by witch.", + "id": "415", + "name": "Player Killer Service applyScapegoatDeathOutcomes should return game with upcoming scapegoat bans votes play when called.", "location": { "start": { "column": 6, - "line": 388 + "line": 890 } } }, { - "id": "358", - "name": "Player Killer Service isIdiotKillable should return true when idiot is already revealed.", + "id": "416", + "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when killed player is not ancient.", "location": { "start": { "column": 6, - "line": 407 + "line": 910 } } }, { - "id": "359", - "name": "Player Killer Service isIdiotKillable should return true when idiot is killed by other cause than a vote.", + "id": "417", + "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when killed player is powerless.", "location": { "start": { "column": 6, - "line": 415 + "line": 926 } } }, { - "id": "360", - "name": "Player Killer Service isIdiotKillable should return true when idiot is killed by vote but powerless.", + "id": "418", + "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when ancient doesn't take his revenge and idiot is not revealed.", "location": { "start": { "column": 6, - "line": 422 + "line": 942 } } }, { - "id": "361", - "name": "Player Killer Service isIdiotKillable should return false when idiot is not revealed, dies from votes and is not powerless.", + "id": "419", + "name": "Player Killer Service applyAncientDeathOutcomes should game as is when ancient doesn't take his revenge from game options.", "location": { "start": { "column": 6, - "line": 429 + "line": 955 } } }, { - "id": "362", - "name": "Player Killer Service canPlayerBeEaten should return false when player is saved by the witch.", + "id": "420", + "name": "Player Killer Service applyAncientDeathOutcomes should return game with all villagers powerless when ancient takes his revenge.", "location": { "start": { "column": 6, - "line": 438 + "line": 969 } } }, { - "id": "363", - "name": "Player Killer Service canPlayerBeEaten should return false when player is protected by guard and is not little girl.", + "id": "421", + "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when idiot was revealed before but doesn't die on ancient death thanks to game options.", "location": { "start": { "column": 6, - "line": 445 + "line": 994 } } }, { - "id": "364", - "name": "Player Killer Service canPlayerBeEaten should return false when player is protected by guard, is little girl but game options allows guard to protect her.", + "id": "422", + "name": "Player Killer Service applyAncientDeathOutcomes should return game with killed idiot when idiot was revealed before.", "location": { "start": { "column": 6, - "line": 453 + "line": 1013 } } }, { - "id": "365", - "name": "Player Killer Service canPlayerBeEaten should return true when player is protected by guard, is little girl but game options doesn't allow guard to protect her.", + "id": "423", + "name": "Player Killer Service applyHunterDeathOutcomes should return game as is when killed player is not hunter.", "location": { "start": { "column": 6, - "line": 461 + "line": 1034 } } }, { - "id": "366", - "name": "Player Killer Service canPlayerBeEaten should return true when player defenseless.", + "id": "424", + "name": "Player Killer Service applyHunterDeathOutcomes should return game as is when killed player powerless.", "location": { "start": { "column": 6, - "line": 469 + "line": 1046 } } }, { - "id": "367", - "name": "Player Killer Service isPlayerKillable should return false when cause is EATEN and player can't be eaten.", + "id": "425", + "name": "Player Killer Service applyHunterDeathOutcomes should return game with upcoming hunter shoots play when called.", "location": { "start": { "column": 6, - "line": 478 + "line": 1058 } } }, { - "id": "368", - "name": "Player Killer Service isPlayerKillable should not call can player be eaten validator when cause is not EATEN.", + "id": "426", + "name": "Player Killer Service applyPlayerRoleDeathOutcomes should return game as is without calling role method outcomes when killed player doesn't have the right role.", "location": { "start": { "column": 6, - "line": 486 + "line": 1084 } } }, { - "id": "369", - "name": "Player Killer Service isPlayerKillable should call is idiot killable when player is an idiot.", + "id": "427", + "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed hunter outcomes method when killed player is hunter.", "location": { "start": { "column": 6, - "line": 495 + "line": 1101 } } }, { - "id": "370", - "name": "Player Killer Service isPlayerKillable should not call is idiot killable when player is not an idiot.", + "id": "428", + "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed ancient outcomes method when killed player is ancient.", "location": { "start": { "column": 6, - "line": 504 + "line": 1118 } } }, { - "id": "371", - "name": "Player Killer Service isPlayerKillable should call is ancient killable when player is an ancient.", + "id": "429", + "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed scapegoat outcomes method when killed player is scapegoat.", "location": { "start": { "column": 6, - "line": 513 + "line": 1134 } } }, { - "id": "372", - "name": "Player Killer Service isPlayerKillable should not call is ancient killable when player is not an ancient.", + "id": "430", + "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed rusty sword knight outcomes method when killed player is rusty sword knight.", "location": { "start": { "column": 6, - "line": 522 + "line": 1151 } } }, { - "id": "373", - "name": "Player Killer Service isPlayerKillable should return true when there are no contraindications.", + "id": "431", + "name": "Player Killer Service applyPlayerDeathOutcomes should call player death outcomes methods when called.", "location": { "start": { "column": 6, - "line": 531 + "line": 1170 } } }, { - "id": "374", - "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when killed player doesn't have the worshiped attribute.", + "id": "432", + "name": "Player Killer Service killPlayer should set player to dead and call death outcomes method when called.", "location": { "start": { "column": 6, - "line": 540 + "line": 1195 } } }, { - "id": "375", - "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when there is no wild child player.", + "id": "433", + "name": "Player Killer Service getPlayerToKillInGame should throw error when player is already dead.", "location": { "start": { "column": 6, - "line": 552 + "line": 1225 } } }, { - "id": "376", - "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when wild child player is dead.", + "id": "434", + "name": "Player Killer Service getPlayerToKillInGame should get player to kill when called.", "location": { "start": { "column": 6, - "line": 564 + "line": 1244 } } - }, + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_DEATH_CAUSES } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameHelper from \"../../../../../../../../src/modules/game/helpers/game.helper\";\nimport * as GameMutator from \"../../../../../../../../src/modules/game/helpers/game.mutator\";\nimport { createPowerlessByAncientPlayerAttribute, createWorshipedByWildChildPlayerAttribute } from \"../../../../../../../../src/modules/game/helpers/player/player-attribute/player-attribute.factory\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { PlayerKillerService } from \"../../../../../../../../src/modules/game/providers/services/player/player-killer.service\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../../../../../../../../src/shared/exception/enums/unexpected-exception.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { UnexpectedException } from \"../../../../../../../../src/shared/exception/types/unexpected-exception.type\";\nimport { createFakeGameHistoryRecord, createFakeGameHistoryRecordGuardProtectPlay, createFakeGameHistoryRecordPlayTarget, createFakeGameHistoryRecordWerewolvesEatPlay, createFakeGameHistoryRecordWitchUsePotionsPlay } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeAncientGameOptions, createFakeIdiotGameOptions, createFakeLittleGirlGameOptions, createFakeRolesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGamePlayHunterShoots, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySheriffDelegates } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByAllPlayerAttribute, createFakeContaminatedByRustySwordKnightPlayerAttribute, createFakeDrankLifePotionByWitchPlayerAttribute, createFakeInLoveByCupidPlayerAttribute, createFakePowerlessByAncientPlayerAttribute, createFakeProtectedByGuardPlayerAttribute, createFakeSheriffByAllPlayerAttribute, createFakeWorshipedByWildChildPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerBrokenHeartByCupidDeath, createFakePlayerDeathPotionByWitchDeath, createFakePlayerEatenByWerewolvesDeath, createFakePlayerReconsiderPardonByAllDeath, createFakePlayerVoteByAllDeath, createFakePlayerVoteScapegoatedByAllDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeAncientAlivePlayer, createFakeGuardAlivePlayer, createFakeHunterAlivePlayer, createFakeIdiotAlivePlayer, createFakeLittleGirlAlivePlayer, createFakeRustySwordKnightAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeVillagerVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWildChildAlivePlayer, createFakeWitchAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakePlayer, createFakePlayerRole, createFakePlayerSide } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Player Killer Service\", () => {\n let mocks: {\n playerKillerService: {\n getPlayerToKillInGame: jest.SpyInstance;\n isPlayerKillable: jest.SpyInstance;\n doesPlayerRoleMustBeRevealed: jest.SpyInstance;\n removePlayerAttributesAfterDeath: jest.SpyInstance;\n revealPlayerRole: jest.SpyInstance;\n killPlayer: jest.SpyInstance;\n applySheriffPlayerDeathOutcomes: jest.SpyInstance;\n applyInLovePlayerDeathOutcomes: jest.SpyInstance;\n applyWorshipedPlayerDeathOutcomes: jest.SpyInstance;\n applyHunterDeathOutcomes: jest.SpyInstance;\n applyAncientDeathOutcomes: jest.SpyInstance;\n applyScapegoatDeathOutcomes: jest.SpyInstance;\n applyRustySwordKnightDeathOutcomes: jest.SpyInstance;\n };\n gameHistoryRecordService: {\n getGameHistoryWerewolvesEatAncientRecords: jest.SpyInstance;\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.SpyInstance;\n };\n gameHelper: {\n getPlayerWithIdOrThrow: jest.SpyInstance;\n };\n unexpectedExceptionFactory: {\n createCantFindPlayerUnexpectedException: jest.SpyInstance;\n };\n };\n let services: { playerKiller: PlayerKillerService };\n\n beforeEach(async() => {\n mocks = {\n playerKillerService: {\n getPlayerToKillInGame: jest.fn(),\n isPlayerKillable: jest.fn(),\n doesPlayerRoleMustBeRevealed: jest.fn(),\n removePlayerAttributesAfterDeath: jest.fn(),\n revealPlayerRole: jest.fn(),\n killPlayer: jest.fn(),\n applySheriffPlayerDeathOutcomes: jest.fn(),\n applyInLovePlayerDeathOutcomes: jest.fn(),\n applyWorshipedPlayerDeathOutcomes: jest.fn(),\n applyHunterDeathOutcomes: jest.fn(),\n applyAncientDeathOutcomes: jest.fn(),\n applyScapegoatDeathOutcomes: jest.fn(),\n applyRustySwordKnightDeathOutcomes: jest.fn(),\n },\n gameHistoryRecordService: {\n getGameHistoryWerewolvesEatAncientRecords: jest.fn(),\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.fn(),\n },\n gameHelper: { getPlayerWithIdOrThrow: jest.fn() },\n unexpectedExceptionFactory: { createCantFindPlayerUnexpectedException: jest.fn() },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n PlayerKillerService,\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n ],\n }).compile();\n\n services = { playerKiller: module.get(PlayerKillerService) };\n });\n\n describe(\"killOrRevealPlayer\", () => {\n beforeEach(() => {\n mocks.playerKillerService.getPlayerToKillInGame = jest.spyOn(services.playerKiller as unknown as { getPlayerToKillInGame }, \"getPlayerToKillInGame\");\n mocks.playerKillerService.isPlayerKillable = jest.spyOn(services.playerKiller as unknown as { isPlayerKillable }, \"isPlayerKillable\");\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\");\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed = jest.spyOn(services.playerKiller as unknown as { doesPlayerRoleMustBeRevealed }, \"doesPlayerRoleMustBeRevealed\");\n mocks.playerKillerService.revealPlayerRole = jest.spyOn(services.playerKiller as unknown as { revealPlayerRole }, \"revealPlayerRole\");\n });\n\n it(\"should return game as is when player can't be revealed or killed.\", async() => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n mocks.playerKillerService.getPlayerToKillInGame.mockReturnValue(players[0]);\n mocks.playerKillerService.isPlayerKillable.mockReturnValue(false);\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed.mockReturnValue(false);\n\n await expect(services.playerKiller.killOrRevealPlayer(players[0]._id, game, death)).resolves.toStrictEqual(game);\n expect(mocks.playerKillerService.killPlayer).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.revealPlayerRole).not.toHaveBeenCalled();\n });\n\n it(\"should call kill method when player is killable.\", async() => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n mocks.playerKillerService.getPlayerToKillInGame.mockReturnValue(players[0]);\n mocks.playerKillerService.isPlayerKillable.mockReturnValue(true);\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed.mockReturnValue(true);\n\n await services.playerKiller.killOrRevealPlayer(players[0]._id, game, death);\n expect(mocks.playerKillerService.killPlayer).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.revealPlayerRole).not.toHaveBeenCalled();\n });\n\n it(\"should call reveal role method when player role must be revealed.\", async() => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n mocks.playerKillerService.getPlayerToKillInGame.mockReturnValue(players[0]);\n mocks.playerKillerService.isPlayerKillable.mockReturnValue(false);\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed.mockReturnValue(true);\n\n await services.playerKiller.killOrRevealPlayer(players[0]._id, game, death);\n expect(mocks.playerKillerService.killPlayer).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.revealPlayerRole).toHaveBeenCalledExactlyOnceWith(players[0], game);\n });\n });\n\n describe(\"applyPlayerRoleRevelationOutcomes\", () => {\n it(\"should add can't vote attribute when player is idiot.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n attributes: [createFakeCantVoteByAllPlayerAttribute()],\n }),\n game.players[1],\n game.players[2],\n game.players[3],\n ],\n });\n\n expect(services.playerKiller[\"applyPlayerRoleRevelationOutcomes\"](game.players[0], game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return the game as is when player is not an idiot.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyPlayerRoleRevelationOutcomes\"](game.players[1], game)).toStrictEqual(game);\n });\n });\n \n describe(\"isAncientKillable\", () => {\n it(\"should return true when cause is not EATEN.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(2);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.VOTE)).resolves.toBe(true);\n });\n\n it(\"should return false when cause is EATEN but ancient still have at least one life left.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(2);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(false);\n });\n\n it(\"should return true when cause is EATEN but ancient has only one life left.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(1);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(true);\n });\n\n it(\"should return true when cause is EATEN but ancient has 0 life left.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(0);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(true);\n });\n });\n\n describe(\"revealPlayerRole\", () => {\n it(\"should throw error when player to reveal is not found among players.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const unknownPlayer = createFakePlayer();\n const interpolations = { gameId: game._id.toString(), playerId: unknownPlayer._id.toString() };\n const exception = new UnexpectedException(\"revealPlayerRole\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, interpolations);\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(exception);\n\n expect(() => services.playerKiller[\"revealPlayerRole\"](unknownPlayer, game)).toThrow(exception);\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"revealPlayerRole\", interpolations);\n });\n\n it(\"should reveal player role when called.\", () => {\n const players = [\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n role: createFakePlayerRole({ ...players[0].role, isRevealed: true }),\n }),\n game.players[1],\n game.players[2],\n game.players[3],\n ],\n });\n\n expect(services.playerKiller[\"revealPlayerRole\"](players[0], game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"doesPlayerRoleMustBeRevealed\", () => {\n it(\"should return false when player role is already revealed.\", () => {\n const game = createFakeGame();\n const player = createFakeVillagerVillagerAlivePlayer();\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return false when player role is not idiot.\", () => {\n const game = createFakeGame();\n const player = createFakeSeerAlivePlayer();\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return false when player role is idiot but powerless.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer({ attributes: [createPowerlessByAncientPlayerAttribute()] });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return false when player role is idiot but death cause is not vote.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return true when player role is idiot and death cause is not vote.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(true);\n });\n });\n\n describe(\"removePlayerAttributesAfterDeath\", () => {\n it(\"should remove player attributes which need to be removed after death when called.\", () => {\n const player = createFakePlayer({\n isAlive: false,\n attributes: [\n createFakeCantVoteByAllPlayerAttribute({ doesRemainAfterDeath: false }),\n createFakePowerlessByAncientPlayerAttribute(),\n createFakeSheriffByAllPlayerAttribute({ doesRemainAfterDeath: true }),\n ],\n });\n const expectedPlayer = createFakePlayer({\n ...player,\n attributes: [\n player.attributes[1],\n player.attributes[2],\n ],\n });\n \n expect(services.playerKiller[\"removePlayerAttributesAfterDeath\"](player)).toStrictEqual(expectedPlayer);\n });\n });\n\n describe(\"getAncientLivesCountAgainstWerewolves\", () => {\n it(\"should return same amount of lives when no werewolves attack against ancient.\", async() => {\n const livesCountAgainstWerewolves = 3;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ livesCountAgainstWerewolves }) }) });\n const game = createFakeGame({ options });\n const gameHistoryRecordPlayAncientTarget = createFakeGameHistoryRecordPlayTarget({ player: createFakeAncientAlivePlayer() });\n const ancientProtectedFromWerewolvesRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n ];\n mocks.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords.mockResolvedValue([]);\n mocks.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords.mockResolvedValue(ancientProtectedFromWerewolvesRecords);\n\n await expect(services.playerKiller[\"getAncientLivesCountAgainstWerewolves\"](game)).resolves.toBe(3);\n });\n\n it(\"should return amount of lives minus one when ancient was attacked three times but protected once and saved by witch once.\", async() => {\n const livesCountAgainstWerewolves = 3;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ livesCountAgainstWerewolves }) }) });\n const game = createFakeGame({ options });\n const gameHistoryRecordPlayAncientTarget = createFakeGameHistoryRecordPlayTarget({ player: createFakeAncientAlivePlayer() });\n const gameHistoryRecordPlayAncientDrankLifePotionTarget = createFakeGameHistoryRecordPlayTarget({ ...gameHistoryRecordPlayAncientTarget, drankPotion: WITCH_POTIONS.LIFE });\n const werewolvesEatAncientRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 2,\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 3,\n }),\n ];\n const ancientProtectedFromWerewolvesRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: [gameHistoryRecordPlayAncientDrankLifePotionTarget] }),\n turn: 2,\n }),\n ];\n mocks.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords.mockResolvedValue(werewolvesEatAncientRecords);\n mocks.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords.mockResolvedValue(ancientProtectedFromWerewolvesRecords);\n\n await expect(services.playerKiller[\"getAncientLivesCountAgainstWerewolves\"](game)).resolves.toBe(2);\n });\n\n it(\"should return amount of lives minus one when ancient was attacked but not protected and killed by witch.\", async() => {\n const livesCountAgainstWerewolves = 3;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ livesCountAgainstWerewolves }) }) });\n const game = createFakeGame({ options });\n const gameHistoryRecordPlayAncientTarget = createFakeGameHistoryRecordPlayTarget({ player: createFakeAncientAlivePlayer() });\n const werewolvesEatAncientRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n ];\n mocks.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords.mockResolvedValue(werewolvesEatAncientRecords);\n mocks.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords.mockResolvedValue([]);\n \n await expect(services.playerKiller[\"getAncientLivesCountAgainstWerewolves\"](game)).resolves.toBe(2);\n });\n });\n\n describe(\"isIdiotKillable\", () => {\n it(\"should return true when idiot is already revealed.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n player.role.isRevealed = true;\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.VOTE, game)).toBe(true);\n });\n\n it(\"should return true when idiot is killed by other cause than a vote.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.DEATH_POTION, game)).toBe(true);\n });\n\n it(\"should return true when idiot is killed by vote but powerless.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] });\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.VOTE, game)).toBe(true);\n });\n\n it(\"should return false when idiot is not revealed, dies from votes and is not powerless.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.VOTE, game)).toBe(false);\n });\n });\n\n describe(\"canPlayerBeEaten\", () => {\n it(\"should return false when player is saved by the witch.\", () => {\n const player = createFakeSeerAlivePlayer({ attributes: [createFakeDrankLifePotionByWitchPlayerAttribute()] });\n const game = createFakeGame();\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(false);\n });\n\n it(\"should return false when player is protected by guard and is not little girl.\", () => {\n const player = createFakeSeerAlivePlayer({ attributes: [createFakeProtectedByGuardPlayerAttribute()] });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ littleGirl: createFakeLittleGirlGameOptions({ isProtectedByGuard: false }) }) });\n const game = createFakeGame({ options });\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(false);\n });\n\n it(\"should return false when player is protected by guard, is little girl but game options allows guard to protect her.\", () => {\n const player = createFakeLittleGirlAlivePlayer({ attributes: [createFakeProtectedByGuardPlayerAttribute()] });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ littleGirl: createFakeLittleGirlGameOptions({ isProtectedByGuard: true }) }) });\n const game = createFakeGame({ options });\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(false);\n });\n\n it(\"should return true when player is protected by guard, is little girl but game options doesn't allow guard to protect her.\", () => {\n const player = createFakeLittleGirlAlivePlayer({ attributes: [createFakeProtectedByGuardPlayerAttribute()] });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ littleGirl: createFakeLittleGirlGameOptions({ isProtectedByGuard: false }) }) });\n const game = createFakeGame({ options });\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(true);\n });\n\n it(\"should return true when player defenseless.\", () => {\n const player = createFakeSeerAlivePlayer({ attributes: [] });\n const game = createFakeGame();\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(true);\n });\n });\n\n describe(\"isPlayerKillable\", () => {\n it(\"should return false when cause is EATEN and player can't be eaten.\", async() => {\n jest.spyOn(services.playerKiller as unknown as { canPlayerBeEaten }, \"canPlayerBeEaten\").mockReturnValue(false);\n const player = createFakePlayer();\n const game = createFakeGame();\n\n await expect(services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(false);\n });\n\n it(\"should not call can player be eaten validator when cause is not EATEN.\", async() => {\n const canPlayerBeEatenMock = jest.spyOn(services.playerKiller as unknown as { canPlayerBeEaten }, \"canPlayerBeEaten\").mockReturnValue(false);\n const player = createFakePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(canPlayerBeEatenMock).not.toHaveBeenCalled();\n });\n\n it(\"should call is idiot killable when player is an idiot.\", async() => {\n const isIdiotKillableMock = jest.spyOn(services.playerKiller as unknown as { isIdiotKillable }, \"isIdiotKillable\").mockReturnValue(false);\n const player = createFakeIdiotAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isIdiotKillableMock).toHaveBeenCalledExactlyOnceWith(player, PLAYER_DEATH_CAUSES.VOTE, game);\n });\n\n it(\"should not call is idiot killable when player is not an idiot.\", async() => {\n const isIdiotKillableMock = jest.spyOn(services.playerKiller as unknown as { isIdiotKillable }, \"isIdiotKillable\").mockReturnValue(false);\n const player = createFakeSeerAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isIdiotKillableMock).not.toHaveBeenCalled();\n });\n\n it(\"should call is ancient killable when player is an ancient.\", async() => {\n const isAncientKillableMock = jest.spyOn(services.playerKiller as unknown as { isAncientKillable }, \"isAncientKillable\").mockReturnValue(false);\n const player = createFakeAncientAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isAncientKillableMock).toHaveBeenCalledExactlyOnceWith(game, PLAYER_DEATH_CAUSES.VOTE);\n });\n\n it(\"should not call is ancient killable when player is not an ancient.\", async() => {\n const isAncientKillableMock = jest.spyOn(services.playerKiller as unknown as { isAncientKillable }, \"isAncientKillable\").mockReturnValue(false);\n const player = createFakeSeerAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isAncientKillableMock).not.toHaveBeenCalled();\n });\n\n it(\"should return true when there are no contraindications.\", async() => {\n const player = createFakeSeerAlivePlayer();\n const game = createFakeGame();\n\n await expect(services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE)).resolves.toBe(true);\n });\n });\n\n describe(\"applyWorshipedPlayerDeathOutcomes\", () => {\n it(\"should return game as is when killed player doesn't have the worshiped attribute.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when there is no wild child player.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when wild child player is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when wild child player is powerless.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer({ attributes: [createPowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should transform wild child to a werewolf sided player when called.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n game.players[0],\n game.players[1],\n game.players[2],\n createFakePlayer({\n ...game.players[3],\n side: createFakePlayerSide({ ...game.players[3].side, current: ROLE_SIDES.WEREWOLVES }),\n }),\n ],\n });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyInLovePlayerDeathOutcomes\", () => {\n it(\"should return game as is when killed player doesn't have the in love attribute.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when the other lover is not found because no other one has the in love attribute.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when the other lover is not found because he is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()], isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should kill the other lover when called.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\").mockImplementation();\n services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[1], game);\n\n expect(mocks.playerKillerService.killPlayer).toHaveBeenCalledExactlyOnceWith(players[0], game, createFakePlayerBrokenHeartByCupidDeath());\n });\n });\n\n describe(\"applySheriffPlayerDeathOutcomes\", () => {\n it(\"should return game as is when player is not the sheriff.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when player is idiot and not powerless.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should prepend sheriff election game play when called with powerless idiot.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute(), createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGame({ players, upcomingPlays });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlaySheriffDelegates(), ...game.upcomingPlays],\n }));\n });\n\n it(\"should prepend sheriff election game play when called with any other role.\", () => {\n const players = [\n createFakeWildChildAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGame({ players, upcomingPlays });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlaySheriffDelegates(), ...game.upcomingPlays],\n }));\n });\n });\n\n describe(\"applyPlayerAttributesDeathOutcomes\", () => {\n beforeEach(() => {\n mocks.playerKillerService.applySheriffPlayerDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applySheriffPlayerDeathOutcomes }, \"applySheriffPlayerDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyInLovePlayerDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyInLovePlayerDeathOutcomes }, \"applyInLovePlayerDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyWorshipedPlayerDeathOutcomes }, \"applyWorshipedPlayerDeathOutcomes\").mockImplementation();\n mocks.gameHelper.getPlayerWithIdOrThrow = jest.spyOn(GameHelper, \"getPlayerWithIdOrThrow\").mockImplementation();\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockImplementation();\n });\n\n it(\"should call no methods when player doesn't have the right attributes.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n services.playerKiller[\"applyPlayerAttributesDeathOutcomes\"](game.players[0], game);\n expect(mocks.playerKillerService.applySheriffPlayerDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyInLovePlayerDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).not.toHaveBeenCalled();\n });\n\n it(\"should call all methods when player have all attributes.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute(), createFakeInLoveByCupidPlayerAttribute(), createFakeWorshipedByWildChildPlayerAttribute()] }),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const interpolations = { gameId: game._id.toString(), playerId: players[2]._id.toString() };\n const exception = new UnexpectedException(\"applyPlayerAttributesDeathOutcomes\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, interpolations);\n\n mocks.playerKillerService.applySheriffPlayerDeathOutcomes.mockReturnValue(game);\n mocks.playerKillerService.applyInLovePlayerDeathOutcomes.mockReturnValue(game);\n mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes.mockReturnValue(game);\n mocks.gameHelper.getPlayerWithIdOrThrow.mockReturnValue(game.players[2]);\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException.mockReturnValue(exception);\n services.playerKiller[\"applyPlayerAttributesDeathOutcomes\"](game.players[2], game);\n\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"applyPlayerAttributesDeathOutcomes\", interpolations);\n expect(mocks.playerKillerService.applySheriffPlayerDeathOutcomes).toHaveBeenCalledExactlyOnceWith(game.players[2], game);\n expect(mocks.playerKillerService.applyInLovePlayerDeathOutcomes).toHaveBeenCalledExactlyOnceWith(game.players[2], game);\n expect(mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes).toHaveBeenCalledExactlyOnceWith(game.players[2], game);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(1, game.players[2]._id, game, exception);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(2, game.players[2]._id, game, exception);\n });\n });\n\n describe(\"applyRustySwordKnightDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not rusty sword knight.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player is powerless.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when death cause is not eaten.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when no left alive werewolf is found.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game with first left alive werewolf player with contaminated attribute when called.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n createFakeGuardAlivePlayer({ position: 4 }),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n players[1],\n createFakePlayer({ ...players[2], attributes: [createFakeContaminatedByRustySwordKnightPlayerAttribute()] }),\n players[3],\n ],\n });\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyScapegoatDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not scapegoat.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player is powerless.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player was not scapegoated.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game with upcoming scapegoat bans votes play when called.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGame({ players, upcomingPlays });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlayScapegoatBansVoting(), ...upcomingPlays],\n });\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyAncientDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not ancient.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: true });\n const idiotOptions = createFakeIdiotGameOptions({ doesDieOnAncientDeath: true });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ idiot: idiotOptions, ancient: ancientOptions }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player is powerless.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: true });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: ancientOptions }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when ancient doesn't take his revenge and idiot is not revealed.\", () => {\n const players = [\n createFakeAncientAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should game as is when ancient doesn't take his revenge from game options.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ doesTakeHisRevenge: false }) }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerDeathPotionByWitchDeath();\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game with all villagers powerless when ancient takes his revenge.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ doesTakeHisRevenge: true }) }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerDeathPotionByWitchDeath();\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n createFakePlayer({ ...players[1], attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n players[2],\n createFakePlayer({ ...players[3], attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakePlayer(players[4]),\n ],\n });\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when idiot was revealed before but doesn't die on ancient death thanks to game options.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: false });\n const idiotOptions = createFakeIdiotGameOptions({ doesDieOnAncientDeath: false });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: ancientOptions, idiot: idiotOptions }) });\n const game = createFakeGame({ players, options });\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\").mockImplementation();\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n expect(mocks.playerKillerService.killPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should return game with killed idiot when idiot was revealed before.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: false });\n const idiotOptions = createFakeIdiotGameOptions({ doesDieOnAncientDeath: true });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: ancientOptions, idiot: idiotOptions }) });\n const game = createFakeGame({ players, options });\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\").mockImplementation();\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.killPlayer).toHaveBeenCalledExactlyOnceWith(players[1], game, createFakePlayerReconsiderPardonByAllDeath());\n });\n });\n\n describe(\"applyHunterDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not hunter.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyHunterDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player powerless.\", () => {\n const players = [\n createFakeHunterAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyHunterDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game with upcoming hunter shoots play when called.\", () => {\n const players = [\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayScapegoatBansVoting()];\n const game = createFakeGame({ players, upcomingPlays });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlayHunterShoots(), ...upcomingPlays],\n });\n\n expect(services.playerKiller[\"applyHunterDeathOutcomes\"](players[0], game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyPlayerRoleDeathOutcomes\", () => {\n beforeEach(() => {\n mocks.playerKillerService.applyHunterDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyHunterDeathOutcomes }, \"applyHunterDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyAncientDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyAncientDeathOutcomes }, \"applyAncientDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyScapegoatDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyScapegoatDeathOutcomes }, \"applyScapegoatDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyRustySwordKnightDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyRustySwordKnightDeathOutcomes }, \"applyRustySwordKnightDeathOutcomes\").mockImplementation();\n });\n\n it(\"should return game as is without calling role method outcomes when killed player doesn't have the right role.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n expect(services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed hunter outcomes method when killed player is hunter.\", () => {\n const players = [\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game);\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed ancient outcomes method when killed player is ancient.\", () => {\n const players = [\n createFakeAncientAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed scapegoat outcomes method when killed player is scapegoat.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed rusty sword knight outcomes method when killed player is rusty sword knight.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n });\n });\n\n describe(\"applyPlayerDeathOutcomes\", () => {\n it(\"should call player death outcomes methods when called.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n const exception = new UnexpectedException(\"applyPlayerAttributesDeathOutcomes\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, { gameId: game._id.toString(), playerId: players[0]._id.toString() });\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(exception);\n const applyPlayerRoleDeathOutcomesMock = jest.spyOn(services.playerKiller as unknown as { applyPlayerRoleDeathOutcomes }, \"applyPlayerRoleDeathOutcomes\").mockReturnValue(game);\n mocks.gameHelper.getPlayerWithIdOrThrow = jest.spyOn(GameHelper, \"getPlayerWithIdOrThrow\").mockReturnValue(players[0]);\n const applyPlayerAttributesDeathOutcomesMock = jest.spyOn(services.playerKiller as unknown as { applyPlayerAttributesDeathOutcomes }, \"applyPlayerAttributesDeathOutcomes\").mockImplementation();\n services.playerKiller[\"applyPlayerDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"applyPlayerDeathOutcomes\", { gameId: game._id, playerId: players[0]._id });\n expect(applyPlayerRoleDeathOutcomesMock).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenCalledExactlyOnceWith(players[0]._id, game, exception);\n expect(applyPlayerAttributesDeathOutcomesMock).toHaveBeenCalledExactlyOnceWith(players[0], game);\n });\n });\n\n describe(\"killPlayer\", () => {\n it(\"should set player to dead and call death outcomes method when called.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n const exception = new UnexpectedException(\"applyPlayerAttributesDeathOutcomes\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, { gameId: game._id.toString(), playerId: players[0]._id.toString() });\n const expectedKilledPlayer = createFakePlayer({ ...players[0], isAlive: false, role: createFakePlayerRole({ ...players[0].role, isRevealed: true }), death });\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(exception);\n const updatePlayerInGameMock = jest.spyOn(GameMutator, \"updatePlayerInGame\").mockReturnValue(game);\n mocks.gameHelper.getPlayerWithIdOrThrow = jest.spyOn(GameHelper, \"getPlayerWithIdOrThrow\").mockReturnValue(expectedKilledPlayer);\n const removePlayerAttributesAfterDeathMock = jest.spyOn(services.playerKiller as unknown as { removePlayerAttributesAfterDeath }, \"removePlayerAttributesAfterDeath\").mockReturnValue(expectedKilledPlayer);\n const applyPlayerDeathOutcomesMock = jest.spyOn(services.playerKiller as unknown as { applyPlayerDeathOutcomes }, \"applyPlayerDeathOutcomes\").mockReturnValue(game);\n services.playerKiller[\"killPlayer\"](players[0], game, death);\n\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"killPlayer\", { gameId: game._id, playerId: players[0]._id });\n expect(updatePlayerInGameMock).toHaveBeenNthCalledWith(1, players[0]._id, expectedKilledPlayer, game);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(1, expectedKilledPlayer._id, game, exception);\n expect(applyPlayerDeathOutcomesMock).toHaveBeenCalledExactlyOnceWith(expectedKilledPlayer, game, death);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(2, expectedKilledPlayer._id, game, exception);\n expect(removePlayerAttributesAfterDeathMock).toHaveBeenCalledWith(expectedKilledPlayer);\n expect(updatePlayerInGameMock).toHaveBeenNthCalledWith(2, players[0]._id, expectedKilledPlayer, game);\n });\n });\n\n describe(\"getPlayerToKillInGame\", () => {\n it(\"should throw error when player is already dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const exceptionInterpolations = { gameId: game._id.toString(), playerId: players[1]._id.toString() };\n const cantFindPlayerException = new UnexpectedException(\"getPlayerToKillInGame\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n const playerIsDeadException = new UnexpectedException(\"getPlayerToKillInGame\", UNEXPECTED_EXCEPTION_REASONS.PLAYER_IS_DEAD, exceptionInterpolations);\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(cantFindPlayerException);\n const createPlayerIsDeadUnexpectedExceptionMock = jest.spyOn(UnexpectedExceptionFactory, \"createPlayerIsDeadUnexpectedException\").mockReturnValue(playerIsDeadException);\n\n expect(() => services.playerKiller[\"getPlayerToKillInGame\"](players[1]._id, game)).toThrow(playerIsDeadException);\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"getPlayerToKillInGame\", exceptionInterpolations);\n expect(createPlayerIsDeadUnexpectedExceptionMock).toHaveBeenCalledExactlyOnceWith(\"getPlayerToKillInGame\", exceptionInterpolations);\n });\n\n it(\"should get player to kill when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"getPlayerToKillInGame\"](players[1]._id, game)).toStrictEqual(players[1]);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts": { + "tests": [ { - "id": "377", - "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should return game as is when wild child player is powerless.", + "id": "435", + "name": "Game History Record Service createGameHistoryRecord should create game history record when called with valid data.", "location": { "start": { "column": 6, - "line": 576 + "line": 101 } } }, { - "id": "378", - "name": "Player Killer Service applyWorshipedPlayerDeathOutcomes should transform wild child to a werewolf sided player when called.", + "id": "436", + "name": "Game History Record Service getLastGameHistoryGuardProtectsRecord should get game history when guard protected when called.", "location": { "start": { "column": 6, - "line": 588 + "line": 114 } } }, { - "id": "379", - "name": "Player Killer Service applyInLovePlayerDeathOutcomes should return game as is when killed player doesn't have the in love attribute.", + "id": "437", + "name": "Game History Record Service getLastGameHistoryTieInVotesRecord should get game history when all voted and there was a tie when called.", "location": { "start": { "column": 6, - "line": 614 + "line": 123 } } }, { - "id": "380", - "name": "Player Killer Service applyInLovePlayerDeathOutcomes should return game as is when the other lover is not found because no other one has the in love attribute.", + "id": "438", + "name": "Game History Record Service getGameHistoryWitchUsesSpecificPotionRecords should get game history records when witch used life potion when called.", "location": { "start": { "column": 6, - "line": 626 + "line": 132 } } }, { - "id": "381", - "name": "Player Killer Service applyInLovePlayerDeathOutcomes should return game as is when the other lover is not found because he is dead.", + "id": "439", + "name": "Game History Record Service getGameHistoryWitchUsesSpecificPotionRecords should get game history records when witch used death potion when called.", "location": { "start": { "column": 6, - "line": 638 + "line": 139 } } }, { - "id": "382", - "name": "Player Killer Service applyInLovePlayerDeathOutcomes should kill the other lover when called.", + "id": "440", + "name": "Game History Record Service getGameHistoryVileFatherOfWolvesInfectedRecords should get game history records when vile father of wolves infected a player when called.", "location": { "start": { "column": 6, - "line": 650 + "line": 148 } } }, { - "id": "383", - "name": "Player Killer Service applySheriffPlayerDeathOutcomes should return game as is when player is not the sheriff.", + "id": "441", + "name": "Game History Record Service getGameHistoryJudgeRequestRecords should get game history records when stuttering judge requested another vote when called.", "location": { "start": { "column": 6, - "line": 666 + "line": 157 } } }, { - "id": "384", - "name": "Player Killer Service applySheriffPlayerDeathOutcomes should return game as is when player is idiot and not powerless.", + "id": "442", + "name": "Game History Record Service getGameHistoryWerewolvesEatAncientRecords should get game history records when any kind of werewolves eat ancient when called.", "location": { "start": { "column": 6, - "line": 678 + "line": 166 } } }, { - "id": "385", - "name": "Player Killer Service applySheriffPlayerDeathOutcomes should prepend sheriff election game play when called with powerless idiot.", + "id": "443", + "name": "Game History Record Service getGameHistoryAncientProtectedFromWerewolvesRecords should get game history records when ancient is protected from werewolves when called.", "location": { "start": { "column": 6, - "line": 690 + "line": 175 } } }, { - "id": "386", - "name": "Player Killer Service applySheriffPlayerDeathOutcomes should prepend sheriff election game play when called with any other role.", + "id": "444", + "name": "Game History Record Service getGameHistoryPhaseRecords should call getGameHistoryPhaseRecords method when called.", "location": { "start": { "column": 6, - "line": 706 + "line": 184 } } }, { - "id": "387", - "name": "Player Killer Service applyPlayerAttributesDeathOutcomes should call no methods when player doesn't have the right attributes.", + "id": "445", + "name": "Game History Record Service getPreviousGameHistoryRecord should previous game history record when called.", "location": { "start": { "column": 6, - "line": 732 + "line": 193 } } }, { - "id": "388", - "name": "Player Killer Service applyPlayerAttributesDeathOutcomes should call all methods when player have all attributes.", + "id": "446", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should throw error when there is no current play for the game.", "location": { "start": { "column": 6, - "line": 747 + "line": 222 } } }, { - "id": "389", - "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when killed player is not rusty sword knight.", + "id": "447", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should generate current game history to insert when called.", "location": { "start": { "column": 6, - "line": 775 + "line": 232 } } }, { - "id": "390", - "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when killed player is powerless.", + "id": "448", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordPlayToInsert method when called.", "location": { "start": { "column": 6, - "line": 788 + "line": 249 } } }, { - "id": "391", - "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when death cause is not eaten.", + "id": "449", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordRevealedPlayersToInsert method when called.", "location": { "start": { "column": 6, - "line": 801 + "line": 260 } } }, { - "id": "392", - "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game as is when no left alive werewolf is found.", + "id": "450", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordDeadPlayersToInsert method when called.", "location": { "start": { "column": 6, - "line": 814 + "line": 271 } } }, { - "id": "393", - "name": "Player Killer Service applyRustySwordKnightDeathOutcomes should return game with first left alive werewolf player with contaminated attribute when called.", + "id": "451", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordPlayVotingToInsert method when called with votes.", "location": { "start": { "column": 6, - "line": 827 + "line": 282 } } }, { - "id": "394", - "name": "Player Killer Service applyScapegoatDeathOutcomes should return game as is when killed player is not scapegoat.", + "id": "452", + "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should not call generateCurrentGameHistoryRecordPlayVotingToInsert method when called without votes.", "location": { "start": { "column": 6, - "line": 851 + "line": 300 } } }, { - "id": "395", - "name": "Player Killer Service applyScapegoatDeathOutcomes should return game as is when killed player is powerless.", + "id": "453", + "name": "Game History Record Service getGameHistory should call getGameHistory repository method when called.", "location": { "start": { "column": 6, - "line": 864 + "line": 313 } } }, { - "id": "396", - "name": "Player Killer Service applyScapegoatDeathOutcomes should return game as is when killed player was not scapegoated.", + "id": "454", + "name": "Game History Record Service generateCurrentGameHistoryRecordDeadPlayersToInsert should generate current game history dead players when called.", "location": { "start": { "column": 6, - "line": 877 + "line": 322 } } }, { - "id": "397", - "name": "Player Killer Service applyScapegoatDeathOutcomes should return game with upcoming scapegoat bans votes play when called.", + "id": "455", + "name": "Game History Record Service generateCurrentGameHistoryRecordDeadPlayersToInsert should return undefined when there is no dead players.", "location": { "start": { "column": 6, - "line": 890 + "line": 350 } } }, { - "id": "398", - "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when killed player is not ancient.", + "id": "456", + "name": "Game History Record Service generateCurrentGameHistoryRecordRevealedPlayersToInsert should generate current game history revealed players but alive when called.", "location": { "start": { "column": 6, - "line": 910 + "line": 377 } } }, { - "id": "399", - "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when killed player is powerless.", + "id": "457", + "name": "Game History Record Service generateCurrentGameHistoryRecordRevealedPlayersToInsert should return undefined when there is no new revealed players.", "location": { "start": { "column": 6, - "line": 926 + "line": 405 } } }, { - "id": "400", - "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when ancient doesn't take his revenge and idiot is not revealed.", + "id": "458", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayToInsert should generate current game history record play to insert when called.", "location": { "start": { "column": 6, - "line": 942 + "line": 438 } } }, { - "id": "401", - "name": "Player Killer Service applyAncientDeathOutcomes should game as is when ancient doesn't take his revenge from game options.", + "id": "459", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return sheriff election when there is a sheriff in the game.", "location": { "start": { "column": 6, - "line": 955 + "line": 463 } } }, { - "id": "402", - "name": "Player Killer Service applyAncientDeathOutcomes should return game with all villagers powerless when ancient takes his revenge.", + "id": "460", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return tie when there is no sheriff in the game after election.", "location": { "start": { "column": 6, - "line": 969 + "line": 485 } } }, { - "id": "403", - "name": "Player Killer Service applyAncientDeathOutcomes should return game as is when idiot was revealed before but doesn't die on ancient death thanks to game options.", + "id": "461", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return skipped when there are no vote set.", "location": { "start": { "column": 6, - "line": 994 + "line": 507 } } }, { - "id": "404", - "name": "Player Killer Service applyAncientDeathOutcomes should return game with killed idiot when idiot was revealed before.", + "id": "462", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return skipped when votes are empty.", "location": { "start": { "column": 6, - "line": 1013 + "line": 530 } } }, { - "id": "405", - "name": "Player Killer Service applyHunterDeathOutcomes should return game as is when killed player is not hunter.", + "id": "463", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return death when there is at least one dead player from votes.", "location": { "start": { "column": 6, - "line": 1034 + "line": 553 } } }, { - "id": "406", - "name": "Player Killer Service applyHunterDeathOutcomes should return game as is when killed player powerless.", + "id": "464", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return death when there is at least one dead player from scapegoat votes.", "location": { "start": { "column": 6, - "line": 1046 + "line": 580 } } }, { - "id": "407", - "name": "Player Killer Service applyHunterDeathOutcomes should return game with upcoming hunter shoots play when called.", + "id": "465", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return inconsequential when there is no death from votes and current play was already after a tie.", "location": { "start": { "column": 6, - "line": 1058 + "line": 603 } } }, { - "id": "408", - "name": "Player Killer Service applyPlayerRoleDeathOutcomes should return game as is without calling role method outcomes when killed player doesn't have the right role.", + "id": "466", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return tie when there is no death from votes and current play was not after a tie.", "location": { "start": { "column": 6, - "line": 1084 + "line": 626 } } }, { - "id": "409", - "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed hunter outcomes method when killed player is hunter.", + "id": "467", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should generate current game history record play voting when called.", "location": { "start": { "column": 6, - "line": 1101 + "line": 661 } } }, { - "id": "410", - "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed ancient outcomes method when killed player is ancient.", + "id": "468", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should call getNominatedPlayers method with empty votes when called without votes.", "location": { "start": { "column": 6, - "line": 1118 + "line": 681 } } }, { - "id": "411", - "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed scapegoat outcomes method when killed player is scapegoat.", + "id": "469", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should call getNominatedPlayers method with votes when called.", "location": { "start": { "column": 6, - "line": 1134 + "line": 698 } } }, { - "id": "412", - "name": "Player Killer Service applyPlayerRoleDeathOutcomes should call killed rusty sword knight outcomes method when killed player is rusty sword knight.", + "id": "470", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should call generateCurrentGameHistoryRecordPlayVotingResultToInsert method when called.", "location": { "start": { "column": 6, - "line": 1151 + "line": 715 } } }, { - "id": "413", - "name": "Player Killer Service applyPlayerDeathOutcomes should call player death outcomes methods when called.", + "id": "471", + "name": "Game History Record Service generateCurrentGameHistoryRecordPlaySourceToInsert should generate current game history record play source when called.", "location": { "start": { "column": 6, - "line": 1170 + "line": 734 } } }, { - "id": "414", - "name": "Player Killer Service killPlayer should set player to dead and call death outcomes method when called.", + "id": "472", + "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a source is not in the game [#0].", "location": { "start": { - "column": 6, - "line": 1195 + "column": 8, + "line": 808 } } }, { - "id": "415", - "name": "Player Killer Service getPlayerToKillInGame should throw error when player is already dead.", + "id": "473", + "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a target is not in the game [#1].", "location": { "start": { - "column": 6, - "line": 1225 + "column": 8, + "line": 808 } } }, { - "id": "416", - "name": "Player Killer Service getPlayerToKillInGame should get player to kill when called.", + "id": "474", + "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a vote source is not in the game [#2].", "location": { "start": { - "column": 6, - "line": 1244 + "column": 8, + "line": 808 } } - } - ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_DEATH_CAUSES } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport * as GameHelper from \"../../../../../../../../src/modules/game/helpers/game.helper\";\nimport * as GameMutator from \"../../../../../../../../src/modules/game/helpers/game.mutator\";\nimport { createPowerlessByAncientPlayerAttribute, createWorshipedByWildChildPlayerAttribute } from \"../../../../../../../../src/modules/game/helpers/player/player-attribute/player-attribute.factory\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { PlayerKillerService } from \"../../../../../../../../src/modules/game/providers/services/player/player-killer.service\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../../../../../../../../src/shared/exception/enums/unexpected-exception.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { UnexpectedException } from \"../../../../../../../../src/shared/exception/types/unexpected-exception.type\";\nimport { createFakeGameHistoryRecord, createFakeGameHistoryRecordGuardProtectPlay, createFakeGameHistoryRecordPlayTarget, createFakeGameHistoryRecordWerewolvesEatPlay, createFakeGameHistoryRecordWitchUsePotionsPlay } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeAncientGameOptions, createFakeIdiotGameOptions, createFakeLittleGirlGameOptions, createFakeRolesGameOptions } from \"../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGamePlayHunterShoots, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySheriffDelegates } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByAllPlayerAttribute, createFakeContaminatedByRustySwordKnightPlayerAttribute, createFakeDrankLifePotionByWitchPlayerAttribute, createFakeInLoveByCupidPlayerAttribute, createFakePowerlessByAncientPlayerAttribute, createFakeProtectedByGuardPlayerAttribute, createFakeSheriffByAllPlayerAttribute, createFakeWorshipedByWildChildPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerBrokenHeartByCupidDeath, createFakePlayerDeathPotionByWitchDeath, createFakePlayerEatenByWerewolvesDeath, createFakePlayerReconsiderPardonByAllDeath, createFakePlayerVoteByAllDeath, createFakePlayerVoteScapegoatedByAllDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeAncientAlivePlayer, createFakeGuardAlivePlayer, createFakeHunterAlivePlayer, createFakeIdiotAlivePlayer, createFakeLittleGirlAlivePlayer, createFakeRustySwordKnightAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeVillagerVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWildChildAlivePlayer, createFakeWitchAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakePlayer, createFakePlayerRole, createFakePlayerSide } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Player Killer Service\", () => {\n let mocks: {\n playerKillerService: {\n getPlayerToKillInGame: jest.SpyInstance;\n isPlayerKillable: jest.SpyInstance;\n doesPlayerRoleMustBeRevealed: jest.SpyInstance;\n removePlayerAttributesAfterDeath: jest.SpyInstance;\n revealPlayerRole: jest.SpyInstance;\n killPlayer: jest.SpyInstance;\n applySheriffPlayerDeathOutcomes: jest.SpyInstance;\n applyInLovePlayerDeathOutcomes: jest.SpyInstance;\n applyWorshipedPlayerDeathOutcomes: jest.SpyInstance;\n applyHunterDeathOutcomes: jest.SpyInstance;\n applyAncientDeathOutcomes: jest.SpyInstance;\n applyScapegoatDeathOutcomes: jest.SpyInstance;\n applyRustySwordKnightDeathOutcomes: jest.SpyInstance;\n };\n gameHistoryRecordService: {\n getGameHistoryWerewolvesEatAncientRecords: jest.SpyInstance;\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.SpyInstance;\n };\n gameHelper: {\n getPlayerWithIdOrThrow: jest.SpyInstance;\n };\n unexpectedExceptionFactory: {\n createCantFindPlayerUnexpectedException: jest.SpyInstance;\n };\n };\n let services: { playerKiller: PlayerKillerService };\n\n beforeEach(async() => {\n mocks = {\n playerKillerService: {\n getPlayerToKillInGame: jest.fn(),\n isPlayerKillable: jest.fn(),\n doesPlayerRoleMustBeRevealed: jest.fn(),\n removePlayerAttributesAfterDeath: jest.fn(),\n revealPlayerRole: jest.fn(),\n killPlayer: jest.fn(),\n applySheriffPlayerDeathOutcomes: jest.fn(),\n applyInLovePlayerDeathOutcomes: jest.fn(),\n applyWorshipedPlayerDeathOutcomes: jest.fn(),\n applyHunterDeathOutcomes: jest.fn(),\n applyAncientDeathOutcomes: jest.fn(),\n applyScapegoatDeathOutcomes: jest.fn(),\n applyRustySwordKnightDeathOutcomes: jest.fn(),\n },\n gameHistoryRecordService: {\n getGameHistoryWerewolvesEatAncientRecords: jest.fn(),\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.fn(),\n },\n gameHelper: { getPlayerWithIdOrThrow: jest.fn() },\n unexpectedExceptionFactory: { createCantFindPlayerUnexpectedException: jest.fn() },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n PlayerKillerService,\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n ],\n }).compile();\n\n services = { playerKiller: module.get(PlayerKillerService) };\n });\n\n describe(\"killOrRevealPlayer\", () => {\n beforeEach(() => {\n mocks.playerKillerService.getPlayerToKillInGame = jest.spyOn(services.playerKiller as unknown as { getPlayerToKillInGame }, \"getPlayerToKillInGame\");\n mocks.playerKillerService.isPlayerKillable = jest.spyOn(services.playerKiller as unknown as { isPlayerKillable }, \"isPlayerKillable\");\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\");\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed = jest.spyOn(services.playerKiller as unknown as { doesPlayerRoleMustBeRevealed }, \"doesPlayerRoleMustBeRevealed\");\n mocks.playerKillerService.revealPlayerRole = jest.spyOn(services.playerKiller as unknown as { revealPlayerRole }, \"revealPlayerRole\");\n });\n\n it(\"should return game as is when player can't be revealed or killed.\", async() => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n mocks.playerKillerService.getPlayerToKillInGame.mockReturnValue(players[0]);\n mocks.playerKillerService.isPlayerKillable.mockReturnValue(false);\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed.mockReturnValue(false);\n\n await expect(services.playerKiller.killOrRevealPlayer(players[0]._id, game, death)).resolves.toStrictEqual(game);\n expect(mocks.playerKillerService.killPlayer).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.revealPlayerRole).not.toHaveBeenCalled();\n });\n\n it(\"should call kill method when player is killable.\", async() => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n mocks.playerKillerService.getPlayerToKillInGame.mockReturnValue(players[0]);\n mocks.playerKillerService.isPlayerKillable.mockReturnValue(true);\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed.mockReturnValue(true);\n\n await services.playerKiller.killOrRevealPlayer(players[0]._id, game, death);\n expect(mocks.playerKillerService.killPlayer).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.revealPlayerRole).not.toHaveBeenCalled();\n });\n\n it(\"should call reveal role method when player role must be revealed.\", async() => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n mocks.playerKillerService.getPlayerToKillInGame.mockReturnValue(players[0]);\n mocks.playerKillerService.isPlayerKillable.mockReturnValue(false);\n mocks.playerKillerService.doesPlayerRoleMustBeRevealed.mockReturnValue(true);\n\n await services.playerKiller.killOrRevealPlayer(players[0]._id, game, death);\n expect(mocks.playerKillerService.killPlayer).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.revealPlayerRole).toHaveBeenCalledExactlyOnceWith(players[0], game);\n });\n });\n\n describe(\"applyPlayerRoleRevelationOutcomes\", () => {\n it(\"should add can't vote attribute when player is idiot.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n attributes: [createFakeCantVoteByAllPlayerAttribute()],\n }),\n game.players[1],\n game.players[2],\n game.players[3],\n ],\n });\n\n expect(services.playerKiller[\"applyPlayerRoleRevelationOutcomes\"](game.players[0], game)).toStrictEqual(expectedGame);\n });\n\n it(\"should return the game as is when player is not an idiot.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyPlayerRoleRevelationOutcomes\"](game.players[1], game)).toStrictEqual(game);\n });\n });\n \n describe(\"isAncientKillable\", () => {\n it(\"should return true when cause is not EATEN.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(2);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.VOTE)).resolves.toBe(true);\n });\n\n it(\"should return false when cause is EATEN but ancient still have at least one life left.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(2);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(false);\n });\n\n it(\"should return true when cause is EATEN but ancient has only one life left.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(1);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(true);\n });\n\n it(\"should return true when cause is EATEN but ancient has 0 life left.\", async() => {\n const game = createFakeGame();\n jest.spyOn(services.playerKiller as unknown as { getAncientLivesCountAgainstWerewolves }, \"getAncientLivesCountAgainstWerewolves\").mockReturnValue(0);\n\n await expect(services.playerKiller.isAncientKillable(game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(true);\n });\n });\n\n describe(\"revealPlayerRole\", () => {\n it(\"should throw error when player to reveal is not found among players.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const unknownPlayer = createFakePlayer();\n const interpolations = { gameId: game._id.toString(), playerId: unknownPlayer._id.toString() };\n const exception = new UnexpectedException(\"revealPlayerRole\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, interpolations);\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(exception);\n\n expect(() => services.playerKiller[\"revealPlayerRole\"](unknownPlayer, game)).toThrow(exception);\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"revealPlayerRole\", interpolations);\n });\n\n it(\"should reveal player role when called.\", () => {\n const players = [\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n role: createFakePlayerRole({ ...players[0].role, isRevealed: true }),\n }),\n game.players[1],\n game.players[2],\n game.players[3],\n ],\n });\n\n expect(services.playerKiller[\"revealPlayerRole\"](players[0], game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"doesPlayerRoleMustBeRevealed\", () => {\n it(\"should return false when player role is already revealed.\", () => {\n const game = createFakeGame();\n const player = createFakeVillagerVillagerAlivePlayer();\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return false when player role is not idiot.\", () => {\n const game = createFakeGame();\n const player = createFakeSeerAlivePlayer();\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return false when player role is idiot but powerless.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer({ attributes: [createPowerlessByAncientPlayerAttribute()] });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return false when player role is idiot but death cause is not vote.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(false);\n });\n\n it(\"should return true when player role is idiot and death cause is not vote.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"doesPlayerRoleMustBeRevealed\"](player, death, game)).toBe(true);\n });\n });\n\n describe(\"removePlayerAttributesAfterDeath\", () => {\n it(\"should remove player attributes which need to be removed after death when called.\", () => {\n const player = createFakePlayer({\n isAlive: false,\n attributes: [\n createFakeCantVoteByAllPlayerAttribute({ doesRemainAfterDeath: false }),\n createFakePowerlessByAncientPlayerAttribute(),\n createFakeSheriffByAllPlayerAttribute({ doesRemainAfterDeath: true }),\n ],\n });\n const expectedPlayer = createFakePlayer({\n ...player,\n attributes: [\n player.attributes[1],\n player.attributes[2],\n ],\n });\n \n expect(services.playerKiller[\"removePlayerAttributesAfterDeath\"](player)).toStrictEqual(expectedPlayer);\n });\n });\n\n describe(\"getAncientLivesCountAgainstWerewolves\", () => {\n it(\"should return same amount of lives when no werewolves attack against ancient.\", async() => {\n const livesCountAgainstWerewolves = 3;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ livesCountAgainstWerewolves }) }) });\n const game = createFakeGame({ options });\n const gameHistoryRecordPlayAncientTarget = createFakeGameHistoryRecordPlayTarget({ player: createFakeAncientAlivePlayer() });\n const ancientProtectedFromWerewolvesRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n ];\n mocks.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords.mockResolvedValue([]);\n mocks.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords.mockResolvedValue(ancientProtectedFromWerewolvesRecords);\n\n await expect(services.playerKiller[\"getAncientLivesCountAgainstWerewolves\"](game)).resolves.toBe(3);\n });\n\n it(\"should return amount of lives minus one when ancient was attacked three times but protected once and saved by witch once.\", async() => {\n const livesCountAgainstWerewolves = 3;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ livesCountAgainstWerewolves }) }) });\n const game = createFakeGame({ options });\n const gameHistoryRecordPlayAncientTarget = createFakeGameHistoryRecordPlayTarget({ player: createFakeAncientAlivePlayer() });\n const gameHistoryRecordPlayAncientDrankLifePotionTarget = createFakeGameHistoryRecordPlayTarget({ ...gameHistoryRecordPlayAncientTarget, drankPotion: WITCH_POTIONS.LIFE });\n const werewolvesEatAncientRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 2,\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 3,\n }),\n ];\n const ancientProtectedFromWerewolvesRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordGuardProtectPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWitchUsePotionsPlay({ targets: [gameHistoryRecordPlayAncientDrankLifePotionTarget] }),\n turn: 2,\n }),\n ];\n mocks.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords.mockResolvedValue(werewolvesEatAncientRecords);\n mocks.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords.mockResolvedValue(ancientProtectedFromWerewolvesRecords);\n\n await expect(services.playerKiller[\"getAncientLivesCountAgainstWerewolves\"](game)).resolves.toBe(2);\n });\n\n it(\"should return amount of lives minus one when ancient was attacked but not protected and killed by witch.\", async() => {\n const livesCountAgainstWerewolves = 3;\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ livesCountAgainstWerewolves }) }) });\n const game = createFakeGame({ options });\n const gameHistoryRecordPlayAncientTarget = createFakeGameHistoryRecordPlayTarget({ player: createFakeAncientAlivePlayer() });\n const werewolvesEatAncientRecords = [\n createFakeGameHistoryRecord({\n play: createFakeGameHistoryRecordWerewolvesEatPlay({ targets: [gameHistoryRecordPlayAncientTarget] }),\n turn: 1,\n }),\n ];\n mocks.gameHistoryRecordService.getGameHistoryWerewolvesEatAncientRecords.mockResolvedValue(werewolvesEatAncientRecords);\n mocks.gameHistoryRecordService.getGameHistoryAncientProtectedFromWerewolvesRecords.mockResolvedValue([]);\n \n await expect(services.playerKiller[\"getAncientLivesCountAgainstWerewolves\"](game)).resolves.toBe(2);\n });\n });\n\n describe(\"isIdiotKillable\", () => {\n it(\"should return true when idiot is already revealed.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n player.role.isRevealed = true;\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.VOTE, game)).toBe(true);\n });\n\n it(\"should return true when idiot is killed by other cause than a vote.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.DEATH_POTION, game)).toBe(true);\n });\n\n it(\"should return true when idiot is killed by vote but powerless.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] });\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.VOTE, game)).toBe(true);\n });\n\n it(\"should return false when idiot is not revealed, dies from votes and is not powerless.\", () => {\n const game = createFakeGame();\n const player = createFakeIdiotAlivePlayer();\n\n expect(services.playerKiller[\"isIdiotKillable\"](player, PLAYER_DEATH_CAUSES.VOTE, game)).toBe(false);\n });\n });\n\n describe(\"canPlayerBeEaten\", () => {\n it(\"should return false when player is saved by the witch.\", () => {\n const player = createFakeSeerAlivePlayer({ attributes: [createFakeDrankLifePotionByWitchPlayerAttribute()] });\n const game = createFakeGame();\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(false);\n });\n\n it(\"should return false when player is protected by guard and is not little girl.\", () => {\n const player = createFakeSeerAlivePlayer({ attributes: [createFakeProtectedByGuardPlayerAttribute()] });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ littleGirl: createFakeLittleGirlGameOptions({ isProtectedByGuard: false }) }) });\n const game = createFakeGame({ options });\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(false);\n });\n\n it(\"should return false when player is protected by guard, is little girl but game options allows guard to protect her.\", () => {\n const player = createFakeLittleGirlAlivePlayer({ attributes: [createFakeProtectedByGuardPlayerAttribute()] });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ littleGirl: createFakeLittleGirlGameOptions({ isProtectedByGuard: true }) }) });\n const game = createFakeGame({ options });\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(false);\n });\n\n it(\"should return true when player is protected by guard, is little girl but game options doesn't allow guard to protect her.\", () => {\n const player = createFakeLittleGirlAlivePlayer({ attributes: [createFakeProtectedByGuardPlayerAttribute()] });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ littleGirl: createFakeLittleGirlGameOptions({ isProtectedByGuard: false }) }) });\n const game = createFakeGame({ options });\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(true);\n });\n\n it(\"should return true when player defenseless.\", () => {\n const player = createFakeSeerAlivePlayer({ attributes: [] });\n const game = createFakeGame();\n\n expect(services.playerKiller[\"canPlayerBeEaten\"](player, game)).toBe(true);\n });\n });\n\n describe(\"isPlayerKillable\", () => {\n it(\"should return false when cause is EATEN and player can't be eaten.\", async() => {\n jest.spyOn(services.playerKiller as unknown as { canPlayerBeEaten }, \"canPlayerBeEaten\").mockReturnValue(false);\n const player = createFakePlayer();\n const game = createFakeGame();\n\n await expect(services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.EATEN)).resolves.toBe(false);\n });\n\n it(\"should not call can player be eaten validator when cause is not EATEN.\", async() => {\n const canPlayerBeEatenMock = jest.spyOn(services.playerKiller as unknown as { canPlayerBeEaten }, \"canPlayerBeEaten\").mockReturnValue(false);\n const player = createFakePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(canPlayerBeEatenMock).not.toHaveBeenCalled();\n });\n\n it(\"should call is idiot killable when player is an idiot.\", async() => {\n const isIdiotKillableMock = jest.spyOn(services.playerKiller as unknown as { isIdiotKillable }, \"isIdiotKillable\").mockReturnValue(false);\n const player = createFakeIdiotAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isIdiotKillableMock).toHaveBeenCalledExactlyOnceWith(player, PLAYER_DEATH_CAUSES.VOTE, game);\n });\n\n it(\"should not call is idiot killable when player is not an idiot.\", async() => {\n const isIdiotKillableMock = jest.spyOn(services.playerKiller as unknown as { isIdiotKillable }, \"isIdiotKillable\").mockReturnValue(false);\n const player = createFakeSeerAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isIdiotKillableMock).not.toHaveBeenCalled();\n });\n\n it(\"should call is ancient killable when player is an ancient.\", async() => {\n const isAncientKillableMock = jest.spyOn(services.playerKiller as unknown as { isAncientKillable }, \"isAncientKillable\").mockReturnValue(false);\n const player = createFakeAncientAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isAncientKillableMock).toHaveBeenCalledExactlyOnceWith(game, PLAYER_DEATH_CAUSES.VOTE);\n });\n\n it(\"should not call is ancient killable when player is not an ancient.\", async() => {\n const isAncientKillableMock = jest.spyOn(services.playerKiller as unknown as { isAncientKillable }, \"isAncientKillable\").mockReturnValue(false);\n const player = createFakeSeerAlivePlayer();\n const game = createFakeGame();\n await services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE);\n\n expect(isAncientKillableMock).not.toHaveBeenCalled();\n });\n\n it(\"should return true when there are no contraindications.\", async() => {\n const player = createFakeSeerAlivePlayer();\n const game = createFakeGame();\n\n await expect(services.playerKiller[\"isPlayerKillable\"](player, game, PLAYER_DEATH_CAUSES.VOTE)).resolves.toBe(true);\n });\n });\n\n describe(\"applyWorshipedPlayerDeathOutcomes\", () => {\n it(\"should return game as is when killed player doesn't have the worshiped attribute.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when there is no wild child player.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWitchAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when wild child player is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when wild child player is powerless.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer({ attributes: [createPowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should transform wild child to a werewolf sided player when called.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createWorshipedByWildChildPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWildChildAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n game.players[0],\n game.players[1],\n game.players[2],\n createFakePlayer({\n ...game.players[3],\n side: createFakePlayerSide({ ...game.players[3].side, current: ROLE_SIDES.WEREWOLVES }),\n }),\n ],\n });\n\n expect(services.playerKiller[\"applyWorshipedPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyInLovePlayerDeathOutcomes\", () => {\n it(\"should return game as is when killed player doesn't have the in love attribute.\", () => {\n const players = [\n createFakeSeerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when the other lover is not found because no other one has the in love attribute.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when the other lover is not found because he is dead.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()], isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should kill the other lover when called.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\").mockImplementation();\n services.playerKiller[\"applyInLovePlayerDeathOutcomes\"](players[1], game);\n\n expect(mocks.playerKillerService.killPlayer).toHaveBeenCalledExactlyOnceWith(players[0], game, createFakePlayerBrokenHeartByCupidDeath());\n });\n });\n\n describe(\"applySheriffPlayerDeathOutcomes\", () => {\n it(\"should return game as is when player is not the sheriff.\", () => {\n const players = [\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when player is idiot and not powerless.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should prepend sheriff election game play when called with powerless idiot.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute(), createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGame({ players, upcomingPlays });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlaySheriffDelegates(), ...game.upcomingPlays],\n }));\n });\n\n it(\"should prepend sheriff election game play when called with any other role.\", () => {\n const players = [\n createFakeWildChildAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGame({ players, upcomingPlays });\n\n expect(services.playerKiller[\"applySheriffPlayerDeathOutcomes\"](players[0], game)).toStrictEqual(createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlaySheriffDelegates(), ...game.upcomingPlays],\n }));\n });\n });\n\n describe(\"applyPlayerAttributesDeathOutcomes\", () => {\n beforeEach(() => {\n mocks.playerKillerService.applySheriffPlayerDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applySheriffPlayerDeathOutcomes }, \"applySheriffPlayerDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyInLovePlayerDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyInLovePlayerDeathOutcomes }, \"applyInLovePlayerDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyWorshipedPlayerDeathOutcomes }, \"applyWorshipedPlayerDeathOutcomes\").mockImplementation();\n mocks.gameHelper.getPlayerWithIdOrThrow = jest.spyOn(GameHelper, \"getPlayerWithIdOrThrow\").mockImplementation();\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockImplementation();\n });\n\n it(\"should call no methods when player doesn't have the right attributes.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n services.playerKiller[\"applyPlayerAttributesDeathOutcomes\"](game.players[0], game);\n expect(mocks.playerKillerService.applySheriffPlayerDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyInLovePlayerDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).not.toHaveBeenCalled();\n });\n\n it(\"should call all methods when player have all attributes.\", () => {\n const players = [\n createFakeIdiotAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute(), createFakeInLoveByCupidPlayerAttribute(), createFakeWorshipedByWildChildPlayerAttribute()] }),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const interpolations = { gameId: game._id.toString(), playerId: players[2]._id.toString() };\n const exception = new UnexpectedException(\"applyPlayerAttributesDeathOutcomes\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, interpolations);\n\n mocks.playerKillerService.applySheriffPlayerDeathOutcomes.mockReturnValue(game);\n mocks.playerKillerService.applyInLovePlayerDeathOutcomes.mockReturnValue(game);\n mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes.mockReturnValue(game);\n mocks.gameHelper.getPlayerWithIdOrThrow.mockReturnValue(game.players[2]);\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException.mockReturnValue(exception);\n services.playerKiller[\"applyPlayerAttributesDeathOutcomes\"](game.players[2], game);\n\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"applyPlayerAttributesDeathOutcomes\", interpolations);\n expect(mocks.playerKillerService.applySheriffPlayerDeathOutcomes).toHaveBeenCalledExactlyOnceWith(game.players[2], game);\n expect(mocks.playerKillerService.applyInLovePlayerDeathOutcomes).toHaveBeenCalledExactlyOnceWith(game.players[2], game);\n expect(mocks.playerKillerService.applyWorshipedPlayerDeathOutcomes).toHaveBeenCalledExactlyOnceWith(game.players[2], game);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(1, game.players[2]._id, game, exception);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(2, game.players[2]._id, game, exception);\n });\n });\n\n describe(\"applyRustySwordKnightDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not rusty sword knight.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player is powerless.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when death cause is not eaten.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when no left alive werewolf is found.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game with first left alive werewolf player with contaminated attribute when called.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 3 }),\n createFakeGuardAlivePlayer({ position: 4 }),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n players[1],\n createFakePlayer({ ...players[2], attributes: [createFakeContaminatedByRustySwordKnightPlayerAttribute()] }),\n players[3],\n ],\n });\n\n expect(services.playerKiller[\"applyRustySwordKnightDeathOutcomes\"](players[0], game, death)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyScapegoatDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not scapegoat.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player is powerless.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player was not scapegoated.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game with upcoming scapegoat bans votes play when called.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayHunterShoots()];\n const game = createFakeGame({ players, upcomingPlays });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlayScapegoatBansVoting(), ...upcomingPlays],\n });\n\n expect(services.playerKiller[\"applyScapegoatDeathOutcomes\"](players[0], game, death)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyAncientDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not ancient.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: true });\n const idiotOptions = createFakeIdiotGameOptions({ doesDieOnAncientDeath: true });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ idiot: idiotOptions, ancient: ancientOptions }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerVoteScapegoatedByAllDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player is powerless.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: true });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: ancientOptions }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerVoteByAllDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game as is when ancient doesn't take his revenge and idiot is not revealed.\", () => {\n const players = [\n createFakeAncientAlivePlayer(),\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerEatenByWerewolvesDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should game as is when ancient doesn't take his revenge from game options.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ doesTakeHisRevenge: false }) }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerDeathPotionByWitchDeath();\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n });\n\n it(\"should return game with all villagers powerless when ancient takes his revenge.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: createFakeAncientGameOptions({ doesTakeHisRevenge: true }) }) });\n const game = createFakeGame({ players, options });\n const death = createFakePlayerDeathPotionByWitchDeath();\n const expectedGame = createFakeGame({\n ...game,\n players: [\n players[0],\n createFakePlayer({ ...players[1], attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n players[2],\n createFakePlayer({ ...players[3], attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakePlayer(players[4]),\n ],\n });\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(expectedGame);\n });\n\n it(\"should return game as is when idiot was revealed before but doesn't die on ancient death thanks to game options.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: false });\n const idiotOptions = createFakeIdiotGameOptions({ doesDieOnAncientDeath: false });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: ancientOptions, idiot: idiotOptions }) });\n const game = createFakeGame({ players, options });\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\").mockImplementation();\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n expect(services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n expect(mocks.playerKillerService.killPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should return game with killed idiot when idiot was revealed before.\", () => {\n const players = [\n createFakeAncientAlivePlayer({ isAlive: false }),\n createFakeIdiotAlivePlayer({ role: createFakePlayerRole({ isRevealed: true, current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT }) }),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n createFakeSeerAlivePlayer({ isAlive: false }),\n ];\n const ancientOptions = createFakeAncientGameOptions({ doesTakeHisRevenge: false });\n const idiotOptions = createFakeIdiotGameOptions({ doesDieOnAncientDeath: true });\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ ancient: ancientOptions, idiot: idiotOptions }) });\n const game = createFakeGame({ players, options });\n mocks.playerKillerService.killPlayer = jest.spyOn(services.playerKiller as unknown as { killPlayer }, \"killPlayer\").mockImplementation();\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyAncientDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.killPlayer).toHaveBeenCalledExactlyOnceWith(players[1], game, createFakePlayerReconsiderPardonByAllDeath());\n });\n });\n\n describe(\"applyHunterDeathOutcomes\", () => {\n it(\"should return game as is when killed player is not hunter.\", () => {\n const players = [\n createFakeIdiotAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyHunterDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game as is when killed player powerless.\", () => {\n const players = [\n createFakeHunterAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"applyHunterDeathOutcomes\"](players[0], game)).toStrictEqual(game);\n });\n\n it(\"should return game with upcoming hunter shoots play when called.\", () => {\n const players = [\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const upcomingPlays = [createFakeGamePlayScapegoatBansVoting()];\n const game = createFakeGame({ players, upcomingPlays });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [createFakeGamePlayHunterShoots(), ...upcomingPlays],\n });\n\n expect(services.playerKiller[\"applyHunterDeathOutcomes\"](players[0], game)).toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyPlayerRoleDeathOutcomes\", () => {\n beforeEach(() => {\n mocks.playerKillerService.applyHunterDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyHunterDeathOutcomes }, \"applyHunterDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyAncientDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyAncientDeathOutcomes }, \"applyAncientDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyScapegoatDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyScapegoatDeathOutcomes }, \"applyScapegoatDeathOutcomes\").mockImplementation();\n mocks.playerKillerService.applyRustySwordKnightDeathOutcomes = jest.spyOn(services.playerKiller as unknown as { applyRustySwordKnightDeathOutcomes }, \"applyRustySwordKnightDeathOutcomes\").mockImplementation();\n });\n\n it(\"should return game as is without calling role method outcomes when killed player doesn't have the right role.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n\n expect(services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death)).toStrictEqual(game);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed hunter outcomes method when killed player is hunter.\", () => {\n const players = [\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game);\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed ancient outcomes method when killed player is ancient.\", () => {\n const players = [\n createFakeAncientAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed scapegoat outcomes method when killed player is scapegoat.\", () => {\n const players = [\n createFakeScapegoatAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call killed rusty sword knight outcomes method when killed player is rusty sword knight.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n services.playerKiller[\"applyPlayerRoleDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.playerKillerService.applyRustySwordKnightDeathOutcomes).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.playerKillerService.applyHunterDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyAncientDeathOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerKillerService.applyScapegoatDeathOutcomes).not.toHaveBeenCalled();\n });\n });\n\n describe(\"applyPlayerDeathOutcomes\", () => {\n it(\"should call player death outcomes methods when called.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n const exception = new UnexpectedException(\"applyPlayerAttributesDeathOutcomes\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, { gameId: game._id.toString(), playerId: players[0]._id.toString() });\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(exception);\n const applyPlayerRoleDeathOutcomesMock = jest.spyOn(services.playerKiller as unknown as { applyPlayerRoleDeathOutcomes }, \"applyPlayerRoleDeathOutcomes\").mockReturnValue(game);\n mocks.gameHelper.getPlayerWithIdOrThrow = jest.spyOn(GameHelper, \"getPlayerWithIdOrThrow\").mockReturnValue(players[0]);\n const applyPlayerAttributesDeathOutcomesMock = jest.spyOn(services.playerKiller as unknown as { applyPlayerAttributesDeathOutcomes }, \"applyPlayerAttributesDeathOutcomes\").mockImplementation();\n services.playerKiller[\"applyPlayerDeathOutcomes\"](players[0], game, death);\n\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"applyPlayerDeathOutcomes\", { gameId: game._id, playerId: players[0]._id });\n expect(applyPlayerRoleDeathOutcomesMock).toHaveBeenCalledExactlyOnceWith(players[0], game, death);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenCalledExactlyOnceWith(players[0]._id, game, exception);\n expect(applyPlayerAttributesDeathOutcomesMock).toHaveBeenCalledExactlyOnceWith(players[0], game);\n });\n });\n\n describe(\"killPlayer\", () => {\n it(\"should set player to dead and call death outcomes method when called.\", () => {\n const players = [\n createFakeRustySwordKnightAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeGuardAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const death = createFakePlayerDeathPotionByWitchDeath();\n const exception = new UnexpectedException(\"applyPlayerAttributesDeathOutcomes\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, { gameId: game._id.toString(), playerId: players[0]._id.toString() });\n const expectedKilledPlayer = createFakePlayer({ ...players[0], isAlive: false, role: createFakePlayerRole({ ...players[0].role, isRevealed: true }), death });\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(exception);\n const updatePlayerInGameMock = jest.spyOn(GameMutator, \"updatePlayerInGame\").mockReturnValue(game);\n mocks.gameHelper.getPlayerWithIdOrThrow = jest.spyOn(GameHelper, \"getPlayerWithIdOrThrow\").mockReturnValue(expectedKilledPlayer);\n const removePlayerAttributesAfterDeathMock = jest.spyOn(services.playerKiller as unknown as { removePlayerAttributesAfterDeath }, \"removePlayerAttributesAfterDeath\").mockReturnValue(expectedKilledPlayer);\n const applyPlayerDeathOutcomesMock = jest.spyOn(services.playerKiller as unknown as { applyPlayerDeathOutcomes }, \"applyPlayerDeathOutcomes\").mockReturnValue(game);\n services.playerKiller[\"killPlayer\"](players[0], game, death);\n\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"killPlayer\", { gameId: game._id, playerId: players[0]._id });\n expect(updatePlayerInGameMock).toHaveBeenNthCalledWith(1, players[0]._id, expectedKilledPlayer, game);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(1, expectedKilledPlayer._id, game, exception);\n expect(applyPlayerDeathOutcomesMock).toHaveBeenCalledExactlyOnceWith(expectedKilledPlayer, game, death);\n expect(mocks.gameHelper.getPlayerWithIdOrThrow).toHaveBeenNthCalledWith(2, expectedKilledPlayer._id, game, exception);\n expect(removePlayerAttributesAfterDeathMock).toHaveBeenCalledWith(expectedKilledPlayer);\n expect(updatePlayerInGameMock).toHaveBeenNthCalledWith(2, players[0]._id, expectedKilledPlayer, game);\n });\n });\n\n describe(\"getPlayerToKillInGame\", () => {\n it(\"should throw error when player is already dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n const exceptionInterpolations = { gameId: game._id.toString(), playerId: players[1]._id.toString() };\n const cantFindPlayerException = new UnexpectedException(\"getPlayerToKillInGame\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n const playerIsDeadException = new UnexpectedException(\"getPlayerToKillInGame\", UNEXPECTED_EXCEPTION_REASONS.PLAYER_IS_DEAD, exceptionInterpolations);\n\n mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException = jest.spyOn(UnexpectedExceptionFactory, \"createCantFindPlayerUnexpectedException\").mockReturnValue(cantFindPlayerException);\n const createPlayerIsDeadUnexpectedExceptionMock = jest.spyOn(UnexpectedExceptionFactory, \"createPlayerIsDeadUnexpectedException\").mockReturnValue(playerIsDeadException);\n\n expect(() => services.playerKiller[\"getPlayerToKillInGame\"](players[1]._id, game)).toThrow(playerIsDeadException);\n expect(mocks.unexpectedExceptionFactory.createCantFindPlayerUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"getPlayerToKillInGame\", exceptionInterpolations);\n expect(createPlayerIsDeadUnexpectedExceptionMock).toHaveBeenCalledExactlyOnceWith(\"getPlayerToKillInGame\", exceptionInterpolations);\n });\n\n it(\"should get player to kill when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGame({ players });\n\n expect(services.playerKiller[\"getPlayerToKillInGame\"](players[1]._id, game)).toStrictEqual(players[1]);\n });\n });\n});" - }, - "tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts": { - "tests": [ + }, { - "id": "417", - "name": "Game History Record Service createGameHistoryRecord should create game history record when called with valid data.", + "id": "475", + "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a vote target is not in the game [#3].", "location": { "start": { - "column": 6, - "line": 99 + "column": 8, + "line": 808 } } }, { - "id": "418", - "name": "Game History Record Service getLastGameHistoryGuardProtectsRecord should get game history when guard protected when called.", + "id": "476", + "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when chosen card is not in the game [#4].", "location": { "start": { - "column": 6, - "line": 112 + "column": 8, + "line": 808 } } }, { - "id": "419", - "name": "Game History Record Service getLastGameHistoryTieInVotesRecord should get game history when all voted and there was a tie when called.", + "id": "477", + "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should not throw any errors when called with valid play data.", "location": { "start": { "column": 6, - "line": 121 + "line": 813 } } }, { - "id": "420", - "name": "Game History Record Service getGameHistoryWitchUsesSpecificPotionRecords should get game history records when witch used life potion when called.", + "id": "478", + "name": "Game History Record Service validateGameHistoryRecordToInsertData should throw resource not found error when game is not found with specified gameId [#0].", "location": { "start": { - "column": 6, - "line": 130 + "column": 8, + "line": 855 } } }, { - "id": "421", - "name": "Game History Record Service getGameHistoryWitchUsesSpecificPotionRecords should get game history records when witch used death potion when called.", + "id": "479", + "name": "Game History Record Service validateGameHistoryRecordToInsertData should throw resource not found error when a revealed player is not in the game [#1].", "location": { "start": { - "column": 6, - "line": 137 + "column": 8, + "line": 855 } } }, { - "id": "422", - "name": "Game History Record Service getGameHistoryVileFatherOfWolvesInfectedRecords should get game history records when vile father of wolves infected a player when called.", + "id": "480", + "name": "Game History Record Service validateGameHistoryRecordToInsertData should throw resource not found error when a dead player is not in the game [#2].", "location": { "start": { - "column": 6, - "line": 146 + "column": 8, + "line": 855 } } }, { - "id": "423", - "name": "Game History Record Service getGameHistoryJudgeRequestRecords should get game history records when stuttering judge requested another vote when called.", + "id": "481", + "name": "Game History Record Service validateGameHistoryRecordToInsertData should not throw any errors when called with valid data.", "location": { "start": { "column": 6, - "line": 155 + "line": 860 } } - }, + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { when } from \"jest-when\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../../../../../../../src/modules/game/enums/game-history-record.enum\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport { createGamePlayAllElectSheriff } from \"../../../../../../../../src/modules/game/helpers/game-play/game-play.factory\";\nimport { GameHistoryRecordRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePlayVoteService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service\";\nimport type { GameHistoryRecordPlay } from \"../../../../../../../../src/modules/game/schemas/game-history-record/game-history-record-play/game-history-record-play.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport type { GameHistoryRecordToInsert } from \"../../../../../../../../src/modules/game/types/game-history-record.type\";\nimport { ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { API_RESOURCES } from \"../../../../../../../../src/shared/api/enums/api.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { ResourceNotFoundException } from \"../../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards, createFakeGameAdditionalCard } from \"../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlaySource, createFakeGameHistoryRecordPlayTarget, createFakeGameHistoryRecordPlayVote, createFakeGameHistoryRecordPlayVoting } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerDeathPotionByWitchDeath, createFakePlayerVoteByAllDeath, createFakePlayerVoteScapegoatedByAllDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeAngelAlivePlayer, createFakeHunterAlivePlayer, createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer, createFakePlayerRole } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeGameHistoryRecordToInsert } from \"../../../../../../../factories/game/types/game-history-record/game-history-record.type.factory\";\nimport { createFakeObjectId } from \"../../../../../../../factories/shared/mongoose/mongoose.factory\";\n\njest.mock(\"../../../../../../../../src/shared/exception/types/resource-not-found-exception.type\");\n\ndescribe(\"Game History Record Service\", () => {\n let mocks: {\n gameHistoryRecordRepository: {\n create: jest.SpyInstance;\n getLastGameHistoryGuardProtectsRecord: jest.SpyInstance;\n getLastGameHistoryTieInVotesRecord: jest.SpyInstance;\n getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance;\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.SpyInstance;\n getGameHistoryJudgeRequestRecords: jest.SpyInstance;\n getGameHistoryWerewolvesEatAncientRecords: jest.SpyInstance;\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.SpyInstance;\n getPreviousGameHistoryRecord: jest.SpyInstance;\n getGameHistory: jest.SpyInstance;\n getGameHistoryPhaseRecords: jest.SpyInstance;\n };\n gameRepository: { findOne: jest.SpyInstance };\n gamePlayVoteService: { getNominatedPlayers: jest.SpyInstance };\n unexpectedExceptionFactory: {\n createNoCurrentGamePlayUnexpectedException: jest.SpyInstance;\n };\n };\n let services: { gameHistoryRecord: GameHistoryRecordService };\n let repositories: { gameHistoryRecord: GameHistoryRecordRepository };\n\n beforeEach(async() => {\n mocks = {\n gameHistoryRecordRepository: {\n create: jest.fn(),\n getLastGameHistoryGuardProtectsRecord: jest.fn(),\n getLastGameHistoryTieInVotesRecord: jest.fn(),\n getGameHistoryWitchUsesSpecificPotionRecords: jest.fn(),\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.fn(),\n getGameHistoryJudgeRequestRecords: jest.fn(),\n getGameHistoryWerewolvesEatAncientRecords: jest.fn(),\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.fn(),\n getPreviousGameHistoryRecord: jest.fn(),\n getGameHistory: jest.fn(),\n getGameHistoryPhaseRecords: jest.fn(),\n },\n gameRepository: { findOne: jest.fn() },\n gamePlayVoteService: { getNominatedPlayers: jest.fn() },\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: GameHistoryRecordRepository,\n useValue: mocks.gameHistoryRecordRepository,\n },\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n {\n provide: GamePlayVoteService,\n useValue: mocks.gamePlayVoteService,\n },\n GameHistoryRecordService,\n ],\n }).compile();\n\n services = { gameHistoryRecord: module.get(GameHistoryRecordService) };\n repositories = { gameHistoryRecord: module.get(GameHistoryRecordRepository) };\n });\n\n describe(\"createGameHistoryRecord\", () => {\n it(\"should create game history record when called with valid data.\", async() => {\n jest.spyOn(services.gameHistoryRecord as unknown as { validateGameHistoryRecordToInsertData }, \"validateGameHistoryRecordToInsertData\").mockImplementation();\n const validPlay = createFakeGameHistoryRecordToInsert({\n gameId: createFakeObjectId(),\n play: createFakeGameHistoryRecordPlay(),\n });\n await services.gameHistoryRecord.createGameHistoryRecord(validPlay);\n\n expect(repositories.gameHistoryRecord.create).toHaveBeenCalledExactlyOnceWith(validPlay);\n });\n });\n\n describe(\"getLastGameHistoryGuardProtectsRecord\", () => {\n it(\"should get game history when guard protected when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getLastGameHistoryGuardProtectsRecord(gameId);\n\n expect(repositories.gameHistoryRecord.getLastGameHistoryGuardProtectsRecord).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getLastGameHistoryTieInVotesRecord\", () => {\n it(\"should get game history when all voted and there was a tie when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getLastGameHistoryTieInVotesRecord(gameId, GAME_PLAY_ACTIONS.VOTE);\n\n expect(repositories.gameHistoryRecord.getLastGameHistoryTieInVotesRecord).toHaveBeenCalledExactlyOnceWith(gameId, GAME_PLAY_ACTIONS.VOTE);\n });\n });\n\n describe(\"getGameHistoryWitchUsesSpecificPotionRecords\", () => {\n it(\"should get game history records when witch used life potion when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords(gameId, WITCH_POTIONS.LIFE);\n\n expect(repositories.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords).toHaveBeenCalledExactlyOnceWith(gameId, WITCH_POTIONS.LIFE);\n });\n\n it(\"should get game history records when witch used death potion when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords(gameId, WITCH_POTIONS.DEATH);\n\n expect(repositories.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords).toHaveBeenCalledExactlyOnceWith(gameId, WITCH_POTIONS.DEATH);\n });\n });\n\n describe(\"getGameHistoryVileFatherOfWolvesInfectedRecords\", () => {\n it(\"should get game history records when vile father of wolves infected a player when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryVileFatherOfWolvesInfectedRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryVileFatherOfWolvesInfectedRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getGameHistoryJudgeRequestRecords\", () => {\n it(\"should get game history records when stuttering judge requested another vote when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryJudgeRequestRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryJudgeRequestRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n \n describe(\"getGameHistoryWerewolvesEatAncientRecords\", () => {\n it(\"should get game history records when any kind of werewolves eat ancient when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryWerewolvesEatAncientRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryWerewolvesEatAncientRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getGameHistoryAncientProtectedFromWerewolvesRecords\", () => {\n it(\"should get game history records when ancient is protected from werewolves when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryAncientProtectedFromWerewolvesRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryAncientProtectedFromWerewolvesRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getGameHistoryPhaseRecords\", () => {\n it(\"should call getGameHistoryPhaseRecords method when called.\", async() => {\n const game = createFakeGame();\n await services.gameHistoryRecord.getGameHistoryPhaseRecords(game._id, game.turn, game.phase);\n\n expect(mocks.gameHistoryRecordRepository.getGameHistoryPhaseRecords).toHaveBeenCalledExactlyOnceWith(game._id, game.turn, game.phase);\n });\n });\n\n describe(\"getPreviousGameHistoryRecord\", () => {\n it(\"should previous game history record when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getPreviousGameHistoryRecord(gameId);\n\n expect(repositories.gameHistoryRecord.getPreviousGameHistoryRecord).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordToInsert\", () => {\n let localMocks: {\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordPlayToInsert: jest.SpyInstance;\n generateCurrentGameHistoryRecordRevealedPlayersToInsert: jest.SpyInstance;\n generateCurrentGameHistoryRecordDeadPlayersToInsert: jest.SpyInstance;\n generateCurrentGameHistoryRecordPlayVotingToInsert: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordPlayToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlayToInsert }, \"generateCurrentGameHistoryRecordPlayToInsert\").mockImplementation(),\n generateCurrentGameHistoryRecordRevealedPlayersToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordRevealedPlayersToInsert }, \"generateCurrentGameHistoryRecordRevealedPlayersToInsert\").mockImplementation(),\n generateCurrentGameHistoryRecordDeadPlayersToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordDeadPlayersToInsert }, \"generateCurrentGameHistoryRecordDeadPlayersToInsert\").mockImplementation(),\n generateCurrentGameHistoryRecordPlayVotingToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlayVotingToInsert }, \"generateCurrentGameHistoryRecordPlayVotingToInsert\").mockImplementation(),\n },\n };\n });\n \n it(\"should throw error when there is no current play for the game.\", () => {\n const baseGame = createFakeGame();\n const newGame = createFakeGame();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const interpolations = { gameId: baseGame._id };\n\n expect(() => services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play)).toThrow(undefined);\n expect(mocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"generateCurrentGameHistoryRecordToInsert\", interpolations);\n });\n \n it(\"should generate current game history to insert when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n const expectedCurrentGameHistoryToInsert = createFakeGameHistoryRecordToInsert({\n gameId: baseGame._id,\n turn: baseGame.turn,\n phase: baseGame.phase,\n tick: baseGame.tick,\n play: expectedCurrentGameHistoryPlayToInsert,\n });\n \n expect(services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play)).toStrictEqual(expectedCurrentGameHistoryToInsert);\n });\n\n it(\"should call generateCurrentGameHistoryRecordPlayToInsert method when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, play);\n });\n\n it(\"should call generateCurrentGameHistoryRecordRevealedPlayersToInsert method when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordRevealedPlayersToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, newGame);\n });\n\n it(\"should call generateCurrentGameHistoryRecordDeadPlayersToInsert method when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordDeadPlayersToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, newGame);\n });\n \n it(\"should call generateCurrentGameHistoryRecordPlayVotingToInsert method when called with votes.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay({ votes: [] });\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({\n gameId: baseGame._id,\n turn: baseGame.turn,\n phase: baseGame.phase,\n tick: baseGame.tick,\n play: expectedCurrentGameHistoryPlayToInsert,\n });\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, newGame, gameHistoryRecordToInsert);\n });\n\n it(\"should not call generateCurrentGameHistoryRecordPlayVotingToInsert method when called without votes.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingToInsert).not.toHaveBeenCalled();\n });\n });\n\n describe(\"getGameHistory\", () => {\n it(\"should call getGameHistory repository method when called.\", async() => {\n const game = createFakeGame();\n await services.gameHistoryRecord.getGameHistory(game._id);\n\n expect(mocks.gameHistoryRecordRepository.getGameHistory).toHaveBeenCalledExactlyOnceWith(game._id);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordDeadPlayersToInsert\", () => {\n it(\"should generate current game history dead players when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0], isAlive: false }),\n createFakePlayer({ ...players[1] }),\n createFakePlayer({ ...players[2], isAlive: false }),\n createFakePlayer({ ...players[3] }),\n createFakePlayer({ ...players[4] }),\n createFakeAngelAlivePlayer({ isAlive: false }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordDeadPlayersToInsert\"](baseGame, newGame)).toStrictEqual([\n newPlayers[0],\n newPlayers[2],\n ]);\n });\n\n it(\"should return undefined when there is no dead players.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0] }),\n createFakePlayer({ ...players[1] }),\n createFakePlayer({ ...players[2] }),\n createFakePlayer({ ...players[3] }),\n createFakePlayer({ ...players[4] }),\n createFakeAngelAlivePlayer({ isAlive: false }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordDeadPlayersToInsert\"](baseGame, newGame)).toBeUndefined();\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordRevealedPlayersToInsert\", () => {\n it(\"should generate current game history revealed players but alive when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: true }) }),\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ isAlive: false, role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[1], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[2], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[3], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[4], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeAngelAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordRevealedPlayersToInsert\"](baseGame, newGame)).toStrictEqual([\n newPlayers[0],\n newPlayers[2],\n ]);\n });\n\n it(\"should return undefined when there is no new revealed players.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: true }) }),\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ isAlive: false, role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakePlayer({ ...players[1], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[2], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakePlayer({ ...players[3], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[4], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeAngelAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordRevealedPlayersToInsert\"](baseGame, newGame)).toBeUndefined();\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlayToInsert\", () => {\n let localMocks: { gameHistoryRecordService: { generateCurrentGameHistoryRecordPlaySourceToInsert: jest.SpyInstance } };\n\n beforeEach(() => {\n localMocks = { gameHistoryRecordService: { generateCurrentGameHistoryRecordPlaySourceToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlaySourceToInsert }, \"generateCurrentGameHistoryRecordPlaySourceToInsert\").mockImplementation() } };\n });\n\n it(\"should generate current game history record play to insert when called.\", () => {\n const game = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto({\n doesJudgeRequestAnotherVote: true,\n targets: [createFakeGameHistoryRecordPlayTarget({ isInfected: true })],\n votes: [createFakeGameHistoryRecordPlayVote()],\n chosenCard: createFakeGameAdditionalCard(),\n chosenSide: ROLE_SIDES.VILLAGERS,\n });\n const expectedGameHistoryRecordPlaySource = { name: undefined, players: undefined };\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlaySourceToInsert.mockReturnValue(expectedGameHistoryRecordPlaySource);\n const expectedGameHistoryRecordPlay = createFakeGameHistoryRecordPlay({\n action: game.currentPlay.action,\n didJudgeRequestAnotherVote: play.doesJudgeRequestAnotherVote,\n targets: play.targets,\n votes: play.votes,\n chosenCard: play.chosenCard,\n chosenSide: play.chosenSide,\n }, { source: expectedGameHistoryRecordPlaySource });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayToInsert\"](game, play)).toStrictEqual(expectedGameHistoryRecordPlay);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\", () => {\n it(\"should return sheriff election when there is a sheriff in the game.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllElectSheriff() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer({ ...players[1], attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.SHERIFF_ELECTION);\n });\n\n it(\"should return tie when there is no sheriff in the game after election.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllElectSheriff() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.TIE);\n });\n\n it(\"should return skipped when there are no vote set.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: undefined });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteByAllDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.SKIPPED);\n });\n\n it(\"should return skipped when votes are empty.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteByAllDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.SKIPPED);\n });\n\n it(\"should return death when there is at least one dead player from votes.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const deadPlayers = [\n createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteByAllDeath() }),\n createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerDeathPotionByWitchDeath() }),\n ];\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n });\n\n it(\"should return death when there is at least one dead player from scapegoat votes.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteScapegoatedByAllDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n });\n\n it(\"should return inconsequential when there is no death from votes and current play was already after a tie.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }) });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerDeathPotionByWitchDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.INCONSEQUENTIAL);\n });\n\n it(\"should return tie when there is no death from votes and current play was not after a tie.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }) });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerDeathPotionByWitchDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.TIE);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlayVotingToInsert\", () => {\n let localMocks: {\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordPlayVotingResultToInsert: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = { gameHistoryRecordService: { generateCurrentGameHistoryRecordPlayVotingResultToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlayVotingResultToInsert }, \"generateCurrentGameHistoryRecordPlayVotingResultToInsert\").mockImplementation() } };\n });\n \n it(\"should generate current game history record play voting when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n const expectedCurrentGameHistoryRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({\n result: GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH,\n nominatedPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert)).toStrictEqual(expectedCurrentGameHistoryRecordPlayVoting);\n });\n\n it(\"should call getNominatedPlayers method with empty votes when called without votes.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert);\n\n expect(mocks.gamePlayVoteService.getNominatedPlayers).toHaveBeenCalledExactlyOnceWith([], game);\n });\n\n it(\"should call getNominatedPlayers method with votes when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] }) });\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert);\n\n expect(mocks.gamePlayVoteService.getNominatedPlayers).toHaveBeenCalledExactlyOnceWith(gameHistoryRecordToInsert.play.votes, game);\n });\n\n it(\"should call generateCurrentGameHistoryRecordPlayVotingResultToInsert method when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] }) });\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert).toHaveBeenCalledExactlyOnceWith(game, newGame, gameHistoryRecordToInsert);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlaySourceToInsert\", () => {\n it(\"should generate current game history record play source when called.\", () => {\n const players = [\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n ];\n const expectedPlayers = [players[0], players[1], players[3]];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createGamePlayAllElectSheriff({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players: expectedPlayers }) }), players });\n const expectedGameHistoryRecordPlaySource = createFakeGameHistoryRecordPlaySource({\n name: game.currentPlay.source.name,\n players: expectedPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlaySourceToInsert\"](game)).toStrictEqual(expectedGameHistoryRecordPlaySource);\n });\n });\n\n describe(\"validateGameHistoryRecordToInsertPlayData\", () => {\n const fakeGameAdditionalCards = bulkCreateFakeGameAdditionalCards(3);\n const fakeGame = createFakeGame({ players: bulkCreateFakePlayers(4), additionalCards: fakeGameAdditionalCards });\n const fakePlayer = createFakePlayer();\n const fakeCard = createFakeGameAdditionalCard();\n\n it.each<{ play: GameHistoryRecordPlay; test: string; errorParameters: [API_RESOURCES, string, string] }>([\n {\n play: createFakeGameHistoryRecordPlay({ source: { name: PLAYER_ATTRIBUTE_NAMES.SHERIFF, players: [fakePlayer] } }),\n test: \"a source is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `source.players` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n targets: [{ player: fakePlayer }],\n }),\n test: \"a target is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `targets.player` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n votes: [{ source: fakePlayer, target: fakeGame.players[0] }],\n }),\n test: \"a vote source is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `votes.source` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n votes: [{ target: fakePlayer, source: fakeGame.players[0] }],\n }),\n test: \"a vote target is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `votes.target` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n chosenCard: fakeCard,\n }),\n test: \"chosen card is not in the game\",\n errorParameters: [API_RESOURCES.GAME_ADDITIONAL_CARDS, fakeCard._id.toString(), \"Game Play - Chosen card is not in the game additional cards\"],\n },\n ])(\"should throw resource not found error when $test [#$#].\", ({ play, errorParameters }) => {\n expect(() => services.gameHistoryRecord[\"validateGameHistoryRecordToInsertPlayData\"](play, fakeGame)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(...errorParameters);\n });\n\n it(\"should not throw any errors when called with valid play data.\", () => {\n const validPlay = createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n targets: [{ player: fakeGame.players[0] }],\n votes: [{ target: fakeGame.players[1], source: fakeGame.players[0] }],\n chosenCard: fakeGameAdditionalCards[1],\n });\n\n expect(() => services.gameHistoryRecord[\"validateGameHistoryRecordToInsertPlayData\"](validPlay, fakeGame)).not.toThrow();\n });\n });\n\n describe(\"validateGameHistoryRecordToInsertData\", () => {\n const existingId = createFakeObjectId();\n const existingGame = createFakeGame();\n const fakePlayer = createFakePlayer();\n const unknownId = createFakeObjectId();\n\n beforeEach(() => {\n when(mocks.gameRepository.findOne).calledWith({ _id: unknownId.toJSON() }).mockResolvedValue(null);\n when(mocks.gameRepository.findOne).calledWith({ _id: existingId.toJSON() }).mockResolvedValue(existingGame);\n });\n\n it.each<{ gameHistoryRecord: GameHistoryRecordToInsert; test: string; errorParameters: [API_RESOURCES, string, string] }>([\n {\n gameHistoryRecord: createFakeGameHistoryRecordToInsert({ gameId: unknownId }),\n test: \"game is not found with specified gameId\",\n errorParameters: [API_RESOURCES.GAMES, unknownId.toString(), \"Game Play - Game Id is unknown in database\"],\n },\n {\n gameHistoryRecord: createFakeGameHistoryRecordToInsert({ gameId: existingId, revealedPlayers: [fakePlayer] }),\n test: \"a revealed player is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `revealedPlayers` is not in the game players\"],\n },\n {\n gameHistoryRecord: createFakeGameHistoryRecordToInsert({ gameId: existingId, deadPlayers: [fakePlayer] }),\n test: \"a dead player is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `deadPlayers` is not in the game players\"],\n },\n ])(\"should throw resource not found error when $test [#$#].\", async({ gameHistoryRecord, errorParameters }) => {\n await expect(services.gameHistoryRecord[\"validateGameHistoryRecordToInsertData\"](gameHistoryRecord)).toReject();\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(...errorParameters);\n });\n\n it(\"should not throw any errors when called with valid data.\", async() => {\n const validPlay = createFakeGameHistoryRecordToInsert({\n gameId: existingId,\n play: createFakeGameHistoryRecordPlay({ source: { name: PLAYER_ATTRIBUTE_NAMES.SHERIFF, players: existingGame.players } }),\n revealedPlayers: existingGame.players,\n deadPlayers: existingGame.players,\n });\n\n await expect(services.gameHistoryRecord[\"validateGameHistoryRecordToInsertData\"](validPlay)).resolves.not.toThrow();\n });\n });\n});" + }, + "tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts": { + "tests": [ { - "id": "424", - "name": "Game History Record Service getGameHistoryWerewolvesEatAncientRecords should get game history records when any kind of werewolves eat ancient when called.", + "id": "482", + "name": "Game Controller GET /games should get no games when no populate yet.", "location": { "start": { "column": 6, - "line": 164 + "line": 75 } } }, { - "id": "425", - "name": "Game History Record Service getGameHistoryAncientProtectedFromWerewolvesRecords should get game history records when ancient is protected from werewolves when called.", + "id": "483", + "name": "Game Controller GET /games should get 3 games when 3 games were created.", "location": { "start": { "column": 6, - "line": 173 + "line": 85 } } }, { - "id": "426", - "name": "Game History Record Service getPreviousGameHistoryRecord should previous game history record when called.", + "id": "484", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when there is not enough players [#0].", "location": { "start": { - "column": 6, - "line": 182 + "column": 8, + "line": 163 } } }, { - "id": "427", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should throw error when there is no current play for the game.", + "id": "485", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when there is not enough players [#1].", "location": { "start": { - "column": 6, - "line": 211 + "column": 8, + "line": 163 } } }, { - "id": "428", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should generate current game history to insert when called.", + "id": "486", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when the maximum of players is reached [#2].", "location": { "start": { - "column": 6, - "line": 221 + "column": 8, + "line": 163 } } }, { - "id": "429", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordPlayToInsert method when called.", + "id": "487", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when one of the player name is too short [#3].", "location": { "start": { - "column": 6, - "line": 238 + "column": 8, + "line": 163 } } }, { - "id": "430", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordRevealedPlayersToInsert method when called.", + "id": "488", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when one of the player name is too long [#4].", "location": { "start": { - "column": 6, - "line": 249 + "column": 8, + "line": 163 } } }, { - "id": "431", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordDeadPlayersToInsert method when called.", + "id": "489", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when two players have the same name [#5].", "location": { "start": { - "column": 6, - "line": 260 + "column": 8, + "line": 163 } } }, { - "id": "432", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should call generateCurrentGameHistoryRecordPlayVotingToInsert method when called with votes.", + "id": "490", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when werewolf is in excluded roles [#6].", "location": { "start": { - "column": 6, - "line": 271 + "column": 8, + "line": 163 } } }, { - "id": "433", - "name": "Game History Record Service generateCurrentGameHistoryRecordToInsert should not call generateCurrentGameHistoryRecordPlayVotingToInsert method when called without votes.", + "id": "491", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when villager is in excluded roles [#7].", "location": { "start": { - "column": 6, - "line": 289 + "column": 8, + "line": 163 } } }, { - "id": "434", - "name": "Game History Record Service getGameHistory should call getGameHistory repository method when called.", + "id": "492", + "name": "Game Controller GET /games/random-composition should not allow getting random game composition when there is twice the same excluded role [#8].", "location": { "start": { - "column": 6, - "line": 302 + "column": 8, + "line": 163 } } }, { - "id": "435", - "name": "Game History Record Service generateCurrentGameHistoryRecordDeadPlayersToInsert should generate current game history dead players when called.", + "id": "493", + "name": "Game Controller GET /games/random-composition should get random composition when called.", "location": { "start": { "column": 6, - "line": 311 + "line": 177 } } }, { - "id": "436", - "name": "Game History Record Service generateCurrentGameHistoryRecordDeadPlayersToInsert should return undefined when there is no dead players.", + "id": "494", + "name": "Game Controller GET /game/:id should get a bad request error when id is not mongoId.", "location": { "start": { "column": 6, - "line": 339 + "line": 237 } } }, { - "id": "437", - "name": "Game History Record Service generateCurrentGameHistoryRecordRevealedPlayersToInsert should generate current game history revealed players but alive when called.", + "id": "495", + "name": "Game Controller GET /game/:id should get a not found error when id doesn't exist in base.", "location": { "start": { "column": 6, - "line": 366 + "line": 247 } } }, { - "id": "438", - "name": "Game History Record Service generateCurrentGameHistoryRecordRevealedPlayersToInsert should return undefined when there is no new revealed players.", + "id": "496", + "name": "Game Controller GET /game/:id should get a game when id exists in base.", "location": { "start": { "column": 6, - "line": 394 + "line": 258 } } }, { - "id": "439", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayToInsert should generate current game history record play to insert when called.", + "id": "497", + "name": "Game Controller POST /games should not allow game creation when no players are provided [#0].", "location": { "start": { - "column": 6, - "line": 427 + "column": 8, + "line": 502 } } }, { - "id": "440", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return sheriff election when there is a sheriff in the game.", + "id": "498", + "name": "Game Controller POST /games should not allow game creation when the minimum of players is not reached [#1].", "location": { "start": { - "column": 6, - "line": 452 + "column": 8, + "line": 502 } } }, { - "id": "441", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return tie when there is no sheriff in the game after election.", + "id": "499", + "name": "Game Controller POST /games should not allow game creation when the maximum of players is reached [#2].", "location": { "start": { - "column": 6, - "line": 474 + "column": 8, + "line": 502 } } }, { - "id": "442", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return skipped when there are no vote set.", + "id": "500", + "name": "Game Controller POST /games should not allow game creation when one of the player name is too short [#3].", "location": { "start": { - "column": 6, - "line": 496 + "column": 8, + "line": 502 } } }, { - "id": "443", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return skipped when votes are empty.", + "id": "501", + "name": "Game Controller POST /games should not allow game creation when one of the player name is too long [#4].", "location": { "start": { - "column": 6, - "line": 519 + "column": 8, + "line": 502 } } }, { - "id": "444", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return death when there is at least one dead player from votes.", + "id": "502", + "name": "Game Controller POST /games should not allow game creation when two players have the same name [#5].", "location": { "start": { - "column": 6, - "line": 542 + "column": 8, + "line": 502 } } }, { - "id": "445", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return death when there is at least one dead player from scapegoat votes.", + "id": "503", + "name": "Game Controller POST /games should not allow game creation when there is only one brother in the same game [#6].", "location": { "start": { - "column": 6, - "line": 569 + "column": 8, + "line": 502 } } }, { - "id": "446", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return inconsequential when there is no death from votes and current play was already after a tie.", + "id": "504", + "name": "Game Controller POST /games should not allow game creation when there is two witches in the same game [#7].", "location": { "start": { - "column": 6, - "line": 592 + "column": 8, + "line": 502 } } }, { - "id": "447", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingResultToInsert should return tie when there is no death from votes and current play was not after a tie.", + "id": "505", + "name": "Game Controller POST /games should not allow game creation when there is no villager in game's composition [#8].", "location": { "start": { - "column": 6, - "line": 615 + "column": 8, + "line": 502 } } }, { - "id": "448", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should generate current game history record play voting when called.", + "id": "506", + "name": "Game Controller POST /games should not allow game creation when there is no werewolf in game's composition [#9].", "location": { "start": { - "column": 6, - "line": 650 + "column": 8, + "line": 502 } } }, { - "id": "449", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should call getNominatedPlayers method with empty votes when called without votes.", + "id": "507", + "name": "Game Controller POST /games should not allow game creation when one of the player position is lower than 0 [#10].", "location": { "start": { - "column": 6, - "line": 670 + "column": 8, + "line": 502 } } }, { - "id": "450", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should call getNominatedPlayers method with votes when called.", + "id": "508", + "name": "Game Controller POST /games should not allow game creation when one of the player position is not consistent faced to others [#11].", "location": { "start": { - "column": 6, - "line": 687 + "column": 8, + "line": 502 } } }, { - "id": "451", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlayVotingToInsert should call generateCurrentGameHistoryRecordPlayVotingResultToInsert method when called.", + "id": "509", + "name": "Game Controller POST /games should not allow game creation when thief is in the game but additional cards are not set [#12].", "location": { "start": { - "column": 6, - "line": 704 + "column": 8, + "line": 502 } } }, { - "id": "452", - "name": "Game History Record Service generateCurrentGameHistoryRecordPlaySourceToInsert should generate current game history record play source when called.", + "id": "510", + "name": "Game Controller POST /games should not allow game creation when thief is not in the game but additional cards are set [#13].", "location": { "start": { - "column": 6, - "line": 723 + "column": 8, + "line": 502 } } }, { - "id": "453", - "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a source is not in the game [#0].", + "id": "511", + "name": "Game Controller POST /games should not allow game creation when thief additional cards are more than the expected default limit [#14].", "location": { "start": { "column": 8, - "line": 797 + "line": 502 } } }, { - "id": "454", - "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a target is not in the game [#1].", + "id": "512", + "name": "Game Controller POST /games should not allow game creation when thief additional cards are less than the expected limit defined in options [#15].", "location": { "start": { "column": 8, - "line": 797 + "line": 502 } } }, { - "id": "455", - "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a vote source is not in the game [#2].", + "id": "513", + "name": "Game Controller POST /games should not allow game creation when one thief additional card is the thief himself [#16].", "location": { "start": { "column": 8, - "line": 797 + "line": 502 } } }, { - "id": "456", - "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when a vote target is not in the game [#3].", + "id": "514", + "name": "Game Controller POST /games should not allow game creation when one thief additional card is is not available for thief [#17].", "location": { "start": { "column": 8, - "line": 797 + "line": 502 } } }, { - "id": "457", - "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should throw resource not found error when chosen card is not in the game [#4].", + "id": "515", + "name": "Game Controller POST /games should not allow game creation when two thief additional role cards exceed the maximum occurrences in game possible [#18].", "location": { "start": { "column": 8, - "line": 797 + "line": 502 } } }, { - "id": "458", - "name": "Game History Record Service validateGameHistoryRecordToInsertPlayData should not throw any errors when called with valid play data.", + "id": "516", + "name": "Game Controller POST /games should not allow game creation when one thief additional role card exceeds the maximum occurrences in game possible because another player has it [#19].", "location": { "start": { - "column": 6, - "line": 802 + "column": 8, + "line": 502 } } }, { - "id": "459", - "name": "Game History Record Service validateGameHistoryRecordToInsertData should throw resource not found error when game is not found with specified gameId [#0].", + "id": "517", + "name": "Game Controller POST /games should create game when called.", "location": { "start": { - "column": 8, - "line": 844 + "column": 6, + "line": 516 } } }, { - "id": "460", - "name": "Game History Record Service validateGameHistoryRecordToInsertData should throw resource not found error when a revealed player is not in the game [#1].", + "id": "518", + "name": "Game Controller POST /games should create game with additional cards when thief is in the game.", "location": { "start": { - "column": 8, - "line": 844 + "column": 6, + "line": 575 } } }, { - "id": "461", - "name": "Game History Record Service validateGameHistoryRecordToInsertData should throw resource not found error when a dead player is not in the game [#2].", + "id": "519", + "name": "Game Controller POST /games should create game with different options when called with options specified and some omitted.", "location": { "start": { - "column": 8, - "line": 844 + "column": 6, + "line": 646 } } }, { - "id": "462", - "name": "Game History Record Service validateGameHistoryRecordToInsertData should not throw any errors when called with valid data.", + "id": "520", + "name": "Game Controller DELETE /game/:id should get a bad request error when id is not mongoId.", "location": { "start": { "column": 6, - "line": 849 + "line": 708 } } - } - ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { when } from \"jest-when\";\nimport { GAME_HISTORY_RECORD_VOTING_RESULTS } from \"../../../../../../../../src/modules/game/enums/game-history-record.enum\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../../../src/modules/game/enums/player.enum\";\nimport { createGamePlayAllElectSheriff } from \"../../../../../../../../src/modules/game/helpers/game-play/game-play.factory\";\nimport { GameHistoryRecordRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { GameHistoryRecordService } from \"../../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePlayVoteService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service\";\nimport type { GameHistoryRecordPlay } from \"../../../../../../../../src/modules/game/schemas/game-history-record/game-history-record-play/game-history-record-play.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport type { GameHistoryRecordToInsert } from \"../../../../../../../../src/modules/game/types/game-history-record.type\";\nimport { ROLE_SIDES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { API_RESOURCES } from \"../../../../../../../../src/shared/api/enums/api.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { ResourceNotFoundException } from \"../../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards, createFakeGameAdditionalCard } from \"../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlaySource, createFakeGameHistoryRecordPlayTarget, createFakeGameHistoryRecordPlayVote, createFakeGameHistoryRecordPlayVoting } from \"../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerDeathPotionByWitchDeath, createFakePlayerVoteByAllDeath, createFakePlayerVoteScapegoatedByAllDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeAngelAlivePlayer, createFakeHunterAlivePlayer, createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer, createFakePlayerRole } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeGameHistoryRecordToInsert } from \"../../../../../../../factories/game/types/game-history-record/game-history-record.type.factory\";\nimport { createFakeObjectId } from \"../../../../../../../factories/shared/mongoose/mongoose.factory\";\n\njest.mock(\"../../../../../../../../src/shared/exception/types/resource-not-found-exception.type\");\n\ndescribe(\"Game History Record Service\", () => {\n let mocks: {\n gameHistoryRecordRepository: {\n create: jest.SpyInstance;\n getLastGameHistoryGuardProtectsRecord: jest.SpyInstance;\n getLastGameHistoryTieInVotesRecord: jest.SpyInstance;\n getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance;\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.SpyInstance;\n getGameHistoryJudgeRequestRecords: jest.SpyInstance;\n getGameHistoryWerewolvesEatAncientRecords: jest.SpyInstance;\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.SpyInstance;\n getPreviousGameHistoryRecord: jest.SpyInstance;\n getGameHistory: jest.SpyInstance;\n };\n gameRepository: { findOne: jest.SpyInstance };\n gamePlayVoteService: { getNominatedPlayers: jest.SpyInstance };\n unexpectedExceptionFactory: {\n createNoCurrentGamePlayUnexpectedException: jest.SpyInstance;\n };\n };\n let services: { gameHistoryRecord: GameHistoryRecordService };\n let repositories: { gameHistoryRecord: GameHistoryRecordRepository };\n\n beforeEach(async() => {\n mocks = {\n gameHistoryRecordRepository: {\n create: jest.fn(),\n getLastGameHistoryGuardProtectsRecord: jest.fn(),\n getLastGameHistoryTieInVotesRecord: jest.fn(),\n getGameHistoryWitchUsesSpecificPotionRecords: jest.fn(),\n getGameHistoryVileFatherOfWolvesInfectedRecords: jest.fn(),\n getGameHistoryJudgeRequestRecords: jest.fn(),\n getGameHistoryWerewolvesEatAncientRecords: jest.fn(),\n getGameHistoryAncientProtectedFromWerewolvesRecords: jest.fn(),\n getPreviousGameHistoryRecord: jest.fn(),\n getGameHistory: jest.fn(),\n },\n gameRepository: { findOne: jest.fn() },\n gamePlayVoteService: { getNominatedPlayers: jest.fn() },\n unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: GameHistoryRecordRepository,\n useValue: mocks.gameHistoryRecordRepository,\n },\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n {\n provide: GamePlayVoteService,\n useValue: mocks.gamePlayVoteService,\n },\n GameHistoryRecordService,\n ],\n }).compile();\n\n services = { gameHistoryRecord: module.get(GameHistoryRecordService) };\n repositories = { gameHistoryRecord: module.get(GameHistoryRecordRepository) };\n });\n\n describe(\"createGameHistoryRecord\", () => {\n it(\"should create game history record when called with valid data.\", async() => {\n jest.spyOn(services.gameHistoryRecord as unknown as { validateGameHistoryRecordToInsertData }, \"validateGameHistoryRecordToInsertData\").mockImplementation();\n const validPlay = createFakeGameHistoryRecordToInsert({\n gameId: createFakeObjectId(),\n play: createFakeGameHistoryRecordPlay(),\n });\n await services.gameHistoryRecord.createGameHistoryRecord(validPlay);\n\n expect(repositories.gameHistoryRecord.create).toHaveBeenCalledExactlyOnceWith(validPlay);\n });\n });\n\n describe(\"getLastGameHistoryGuardProtectsRecord\", () => {\n it(\"should get game history when guard protected when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getLastGameHistoryGuardProtectsRecord(gameId);\n\n expect(repositories.gameHistoryRecord.getLastGameHistoryGuardProtectsRecord).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getLastGameHistoryTieInVotesRecord\", () => {\n it(\"should get game history when all voted and there was a tie when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getLastGameHistoryTieInVotesRecord(gameId, GAME_PLAY_ACTIONS.VOTE);\n\n expect(repositories.gameHistoryRecord.getLastGameHistoryTieInVotesRecord).toHaveBeenCalledExactlyOnceWith(gameId, GAME_PLAY_ACTIONS.VOTE);\n });\n });\n\n describe(\"getGameHistoryWitchUsesSpecificPotionRecords\", () => {\n it(\"should get game history records when witch used life potion when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords(gameId, WITCH_POTIONS.LIFE);\n\n expect(repositories.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords).toHaveBeenCalledExactlyOnceWith(gameId, WITCH_POTIONS.LIFE);\n });\n\n it(\"should get game history records when witch used death potion when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords(gameId, WITCH_POTIONS.DEATH);\n\n expect(repositories.gameHistoryRecord.getGameHistoryWitchUsesSpecificPotionRecords).toHaveBeenCalledExactlyOnceWith(gameId, WITCH_POTIONS.DEATH);\n });\n });\n\n describe(\"getGameHistoryVileFatherOfWolvesInfectedRecords\", () => {\n it(\"should get game history records when vile father of wolves infected a player when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryVileFatherOfWolvesInfectedRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryVileFatherOfWolvesInfectedRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getGameHistoryJudgeRequestRecords\", () => {\n it(\"should get game history records when stuttering judge requested another vote when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryJudgeRequestRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryJudgeRequestRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n \n describe(\"getGameHistoryWerewolvesEatAncientRecords\", () => {\n it(\"should get game history records when any kind of werewolves eat ancient when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryWerewolvesEatAncientRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryWerewolvesEatAncientRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getGameHistoryAncientProtectedFromWerewolvesRecords\", () => {\n it(\"should get game history records when ancient is protected from werewolves when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getGameHistoryAncientProtectedFromWerewolvesRecords(gameId);\n\n expect(repositories.gameHistoryRecord.getGameHistoryAncientProtectedFromWerewolvesRecords).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"getPreviousGameHistoryRecord\", () => {\n it(\"should previous game history record when called.\", async() => {\n const gameId = createFakeObjectId();\n await services.gameHistoryRecord.getPreviousGameHistoryRecord(gameId);\n\n expect(repositories.gameHistoryRecord.getPreviousGameHistoryRecord).toHaveBeenCalledExactlyOnceWith(gameId);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordToInsert\", () => {\n let localMocks: {\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordPlayToInsert: jest.SpyInstance;\n generateCurrentGameHistoryRecordRevealedPlayersToInsert: jest.SpyInstance;\n generateCurrentGameHistoryRecordDeadPlayersToInsert: jest.SpyInstance;\n generateCurrentGameHistoryRecordPlayVotingToInsert: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordPlayToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlayToInsert }, \"generateCurrentGameHistoryRecordPlayToInsert\").mockImplementation(),\n generateCurrentGameHistoryRecordRevealedPlayersToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordRevealedPlayersToInsert }, \"generateCurrentGameHistoryRecordRevealedPlayersToInsert\").mockImplementation(),\n generateCurrentGameHistoryRecordDeadPlayersToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordDeadPlayersToInsert }, \"generateCurrentGameHistoryRecordDeadPlayersToInsert\").mockImplementation(),\n generateCurrentGameHistoryRecordPlayVotingToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlayVotingToInsert }, \"generateCurrentGameHistoryRecordPlayVotingToInsert\").mockImplementation(),\n },\n };\n });\n \n it(\"should throw error when there is no current play for the game.\", () => {\n const baseGame = createFakeGame();\n const newGame = createFakeGame();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const interpolations = { gameId: baseGame._id };\n\n expect(() => services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play)).toThrow(undefined);\n expect(mocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"generateCurrentGameHistoryRecordToInsert\", interpolations);\n });\n \n it(\"should generate current game history to insert when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n const expectedCurrentGameHistoryToInsert = createFakeGameHistoryRecordToInsert({\n gameId: baseGame._id,\n turn: baseGame.turn,\n phase: baseGame.phase,\n tick: baseGame.tick,\n play: expectedCurrentGameHistoryPlayToInsert,\n });\n \n expect(services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play)).toStrictEqual(expectedCurrentGameHistoryToInsert);\n });\n\n it(\"should call generateCurrentGameHistoryRecordPlayToInsert method when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, play);\n });\n\n it(\"should call generateCurrentGameHistoryRecordRevealedPlayersToInsert method when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordRevealedPlayersToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, newGame);\n });\n\n it(\"should call generateCurrentGameHistoryRecordDeadPlayersToInsert method when called.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordDeadPlayersToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, newGame);\n });\n \n it(\"should call generateCurrentGameHistoryRecordPlayVotingToInsert method when called with votes.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay({ votes: [] });\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({\n gameId: baseGame._id,\n turn: baseGame.turn,\n phase: baseGame.phase,\n tick: baseGame.tick,\n play: expectedCurrentGameHistoryPlayToInsert,\n });\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingToInsert).toHaveBeenCalledExactlyOnceWith(baseGame, newGame, gameHistoryRecordToInsert);\n });\n\n it(\"should not call generateCurrentGameHistoryRecordPlayVotingToInsert method when called without votes.\", () => {\n const baseGame = createFakeGameWithCurrentPlay();\n const newGame = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto();\n const expectedCurrentGameHistoryPlayToInsert = createFakeGameHistoryRecordPlay();\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayToInsert.mockReturnValue(expectedCurrentGameHistoryPlayToInsert);\n services.gameHistoryRecord.generateCurrentGameHistoryRecordToInsert(baseGame, newGame, play);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingToInsert).not.toHaveBeenCalled();\n });\n });\n\n describe(\"getGameHistory\", () => {\n it(\"should call getGameHistory repository method when called.\", async() => {\n const game = createFakeGame();\n await services.gameHistoryRecord.getGameHistory(game._id);\n\n expect(mocks.gameHistoryRecordRepository.getGameHistory).toHaveBeenCalledExactlyOnceWith(game._id);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordDeadPlayersToInsert\", () => {\n it(\"should generate current game history dead players when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0], isAlive: false }),\n createFakePlayer({ ...players[1] }),\n createFakePlayer({ ...players[2], isAlive: false }),\n createFakePlayer({ ...players[3] }),\n createFakePlayer({ ...players[4] }),\n createFakeAngelAlivePlayer({ isAlive: false }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordDeadPlayersToInsert\"](baseGame, newGame)).toStrictEqual([\n newPlayers[0],\n newPlayers[2],\n ]);\n });\n\n it(\"should return undefined when there is no dead players.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0] }),\n createFakePlayer({ ...players[1] }),\n createFakePlayer({ ...players[2] }),\n createFakePlayer({ ...players[3] }),\n createFakePlayer({ ...players[4] }),\n createFakeAngelAlivePlayer({ isAlive: false }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordDeadPlayersToInsert\"](baseGame, newGame)).toBeUndefined();\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordRevealedPlayersToInsert\", () => {\n it(\"should generate current game history revealed players but alive when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: true }) }),\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ isAlive: false, role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[1], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[2], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[3], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[4], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeAngelAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordRevealedPlayersToInsert\"](baseGame, newGame)).toStrictEqual([\n newPlayers[0],\n newPlayers[2],\n ]);\n });\n\n it(\"should return undefined when there is no new revealed players.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: true }) }),\n createFakeWerewolfAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ isAlive: false, role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeVillagerAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const baseGame = createFakeGame({ players });\n const newPlayers = [\n createFakePlayer({ ...players[0], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakePlayer({ ...players[1], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[2], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakePlayer({ ...players[3], role: createFakePlayerRole({ isRevealed: true }) }),\n createFakePlayer({ ...players[4], role: createFakePlayerRole({ isRevealed: false }) }),\n createFakeAngelAlivePlayer({ role: createFakePlayerRole({ isRevealed: false }) }),\n ];\n const newGame = createFakeGame({\n ...baseGame,\n players: newPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordRevealedPlayersToInsert\"](baseGame, newGame)).toBeUndefined();\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlayToInsert\", () => {\n let localMocks: { gameHistoryRecordService: { generateCurrentGameHistoryRecordPlaySourceToInsert: jest.SpyInstance } };\n\n beforeEach(() => {\n localMocks = { gameHistoryRecordService: { generateCurrentGameHistoryRecordPlaySourceToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlaySourceToInsert }, \"generateCurrentGameHistoryRecordPlaySourceToInsert\").mockImplementation() } };\n });\n\n it(\"should generate current game history record play to insert when called.\", () => {\n const game = createFakeGameWithCurrentPlay();\n const play = createFakeMakeGamePlayWithRelationsDto({\n doesJudgeRequestAnotherVote: true,\n targets: [createFakeGameHistoryRecordPlayTarget({ isInfected: true })],\n votes: [createFakeGameHistoryRecordPlayVote()],\n chosenCard: createFakeGameAdditionalCard(),\n chosenSide: ROLE_SIDES.VILLAGERS,\n });\n const expectedGameHistoryRecordPlaySource = { name: undefined, players: undefined };\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlaySourceToInsert.mockReturnValue(expectedGameHistoryRecordPlaySource);\n const expectedGameHistoryRecordPlay = createFakeGameHistoryRecordPlay({\n action: game.currentPlay.action,\n didJudgeRequestAnotherVote: play.doesJudgeRequestAnotherVote,\n targets: play.targets,\n votes: play.votes,\n chosenCard: play.chosenCard,\n chosenSide: play.chosenSide,\n }, { source: expectedGameHistoryRecordPlaySource });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayToInsert\"](game, play)).toStrictEqual(expectedGameHistoryRecordPlay);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\", () => {\n it(\"should return sheriff election when there is a sheriff in the game.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllElectSheriff() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer({ ...players[1], attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.SHERIFF_ELECTION);\n });\n\n it(\"should return tie when there is no sheriff in the game after election.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllElectSheriff() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.TIE);\n });\n\n it(\"should return skipped when there are no vote set.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: undefined });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteByAllDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.SKIPPED);\n });\n\n it(\"should return skipped when votes are empty.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteByAllDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.SKIPPED);\n });\n\n it(\"should return death when there is at least one dead player from votes.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const deadPlayers = [\n createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteByAllDeath() }),\n createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerDeathPotionByWitchDeath() }),\n ];\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n });\n\n it(\"should return death when there is at least one dead player from scapegoat votes.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote() });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerVoteScapegoatedByAllDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n });\n\n it(\"should return inconsequential when there is no death from votes and current play was already after a tie.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }) });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerDeathPotionByWitchDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.INCONSEQUENTIAL);\n });\n\n it(\"should return tie when there is no death from votes and current play was not after a tie.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeHunterAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players, currentPlay: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }) });\n const newGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(players[0]),\n createFakePlayer(players[1]),\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ],\n });\n const gameHistoryRecordPlay = createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] });\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: gameHistoryRecordPlay, deadPlayers: [createFakePlayer({ ...players[1], isAlive: false, death: createFakePlayerDeathPotionByWitchDeath() })] });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingResultToInsert\"](game, newGame, gameHistoryRecordToInsert)).toBe(GAME_HISTORY_RECORD_VOTING_RESULTS.TIE);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlayVotingToInsert\", () => {\n let localMocks: {\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordPlayVotingResultToInsert: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = { gameHistoryRecordService: { generateCurrentGameHistoryRecordPlayVotingResultToInsert: jest.spyOn(services.gameHistoryRecord as unknown as { generateCurrentGameHistoryRecordPlayVotingResultToInsert }, \"generateCurrentGameHistoryRecordPlayVotingResultToInsert\").mockImplementation() } };\n });\n \n it(\"should generate current game history record play voting when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n const expectedCurrentGameHistoryRecordPlayVoting = createFakeGameHistoryRecordPlayVoting({\n result: GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH,\n nominatedPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert)).toStrictEqual(expectedCurrentGameHistoryRecordPlayVoting);\n });\n\n it(\"should call getNominatedPlayers method with empty votes when called without votes.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert);\n\n expect(mocks.gamePlayVoteService.getNominatedPlayers).toHaveBeenCalledExactlyOnceWith([], game);\n });\n\n it(\"should call getNominatedPlayers method with votes when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] }) });\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert);\n\n expect(mocks.gamePlayVoteService.getNominatedPlayers).toHaveBeenCalledExactlyOnceWith(gameHistoryRecordToInsert.play.votes, game);\n });\n\n it(\"should call generateCurrentGameHistoryRecordPlayVotingResultToInsert method when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGameWithCurrentPlay({ players });\n const newGame = createFakeGameWithCurrentPlay(game);\n const gameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert({ play: createFakeGameHistoryRecordPlay({ votes: [createFakeGameHistoryRecordPlayVote()] }) });\n const nominatedPlayers = [players[2]];\n mocks.gamePlayVoteService.getNominatedPlayers.mockReturnValue(nominatedPlayers);\n localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert.mockReturnValue(GAME_HISTORY_RECORD_VOTING_RESULTS.DEATH);\n services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlayVotingToInsert\"](game, newGame, gameHistoryRecordToInsert);\n\n expect(localMocks.gameHistoryRecordService.generateCurrentGameHistoryRecordPlayVotingResultToInsert).toHaveBeenCalledExactlyOnceWith(game, newGame, gameHistoryRecordToInsert);\n });\n });\n\n describe(\"generateCurrentGameHistoryRecordPlaySourceToInsert\", () => {\n it(\"should generate current game history record play source when called.\", () => {\n const players = [\n createFakeHunterAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer(),\n ];\n const expectedPlayers = [players[0], players[1], players[3]];\n const game = createFakeGameWithCurrentPlay({ currentPlay: createGamePlayAllElectSheriff({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players: expectedPlayers }) }), players });\n const expectedGameHistoryRecordPlaySource = createFakeGameHistoryRecordPlaySource({\n name: game.currentPlay.source.name,\n players: expectedPlayers,\n });\n\n expect(services.gameHistoryRecord[\"generateCurrentGameHistoryRecordPlaySourceToInsert\"](game)).toStrictEqual(expectedGameHistoryRecordPlaySource);\n });\n });\n\n describe(\"validateGameHistoryRecordToInsertPlayData\", () => {\n const fakeGameAdditionalCards = bulkCreateFakeGameAdditionalCards(3);\n const fakeGame = createFakeGame({ players: bulkCreateFakePlayers(4), additionalCards: fakeGameAdditionalCards });\n const fakePlayer = createFakePlayer();\n const fakeCard = createFakeGameAdditionalCard();\n\n it.each<{ play: GameHistoryRecordPlay; test: string; errorParameters: [API_RESOURCES, string, string] }>([\n {\n play: createFakeGameHistoryRecordPlay({ source: { name: PLAYER_ATTRIBUTE_NAMES.SHERIFF, players: [fakePlayer] } }),\n test: \"a source is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `source.players` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n targets: [{ player: fakePlayer }],\n }),\n test: \"a target is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `targets.player` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n votes: [{ source: fakePlayer, target: fakeGame.players[0] }],\n }),\n test: \"a vote source is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `votes.source` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n votes: [{ target: fakePlayer, source: fakeGame.players[0] }],\n }),\n test: \"a vote target is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `votes.target` is not in the game players\"],\n },\n {\n play: createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n chosenCard: fakeCard,\n }),\n test: \"chosen card is not in the game\",\n errorParameters: [API_RESOURCES.GAME_ADDITIONAL_CARDS, fakeCard._id.toString(), \"Game Play - Chosen card is not in the game additional cards\"],\n },\n ])(\"should throw resource not found error when $test [#$#].\", ({ play, errorParameters }) => {\n expect(() => services.gameHistoryRecord[\"validateGameHistoryRecordToInsertPlayData\"](play, fakeGame)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(...errorParameters);\n });\n\n it(\"should not throw any errors when called with valid play data.\", () => {\n const validPlay = createFakeGameHistoryRecordPlay({\n source: {\n name: PLAYER_ATTRIBUTE_NAMES.SHERIFF,\n players: fakeGame.players,\n },\n targets: [{ player: fakeGame.players[0] }],\n votes: [{ target: fakeGame.players[1], source: fakeGame.players[0] }],\n chosenCard: fakeGameAdditionalCards[1],\n });\n\n expect(() => services.gameHistoryRecord[\"validateGameHistoryRecordToInsertPlayData\"](validPlay, fakeGame)).not.toThrow();\n });\n });\n\n describe(\"validateGameHistoryRecordToInsertData\", () => {\n const existingId = createFakeObjectId();\n const existingGame = createFakeGame();\n const fakePlayer = createFakePlayer();\n const unknownId = createFakeObjectId();\n\n beforeEach(() => {\n when(mocks.gameRepository.findOne).calledWith({ _id: unknownId.toJSON() }).mockResolvedValue(null);\n when(mocks.gameRepository.findOne).calledWith({ _id: existingId.toJSON() }).mockResolvedValue(existingGame);\n });\n\n it.each<{ gameHistoryRecord: GameHistoryRecordToInsert; test: string; errorParameters: [API_RESOURCES, string, string] }>([\n {\n gameHistoryRecord: createFakeGameHistoryRecordToInsert({ gameId: unknownId }),\n test: \"game is not found with specified gameId\",\n errorParameters: [API_RESOURCES.GAMES, unknownId.toString(), \"Game Play - Game Id is unknown in database\"],\n },\n {\n gameHistoryRecord: createFakeGameHistoryRecordToInsert({ gameId: existingId, revealedPlayers: [fakePlayer] }),\n test: \"a revealed player is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `revealedPlayers` is not in the game players\"],\n },\n {\n gameHistoryRecord: createFakeGameHistoryRecordToInsert({ gameId: existingId, deadPlayers: [fakePlayer] }),\n test: \"a dead player is not in the game\",\n errorParameters: [API_RESOURCES.PLAYERS, fakePlayer._id.toString(), \"Game Play - Player in `deadPlayers` is not in the game players\"],\n },\n ])(\"should throw resource not found error when $test [#$#].\", async({ gameHistoryRecord, errorParameters }) => {\n await expect(services.gameHistoryRecord[\"validateGameHistoryRecordToInsertData\"](gameHistoryRecord)).toReject();\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(...errorParameters);\n });\n\n it(\"should not throw any errors when called with valid data.\", async() => {\n const validPlay = createFakeGameHistoryRecordToInsert({\n gameId: existingId,\n play: createFakeGameHistoryRecordPlay({ source: { name: PLAYER_ATTRIBUTE_NAMES.SHERIFF, players: existingGame.players } }),\n revealedPlayers: existingGame.players,\n deadPlayers: existingGame.players,\n });\n\n await expect(services.gameHistoryRecord[\"validateGameHistoryRecordToInsertData\"](validPlay)).resolves.not.toThrow();\n });\n });\n});" - }, - "tests/unit/specs/modules/game/helpers/game.helper.spec.ts": { - "tests": [ + }, { - "id": "463", - "name": "Game Helper getPlayerDtoWithRole should return player with role when a player has this role.", + "id": "521", + "name": "Game Controller DELETE /game/:id should get a not found error when id doesn't exist in base.", "location": { "start": { "column": 6, - "line": 42 + "line": 718 } } }, { - "id": "464", - "name": "Game Helper getPlayerDtoWithRole should return undefined when player with role is not found.", + "id": "522", + "name": "Game Controller DELETE /game/:id should get a bad request error when game doesn't have playing status.", "location": { "start": { "column": 6, - "line": 46 + "line": 729 } } }, { - "id": "465", - "name": "Game Helper getPlayerWithCurrentRole should return player with role when a player has this role.", + "id": "523", + "name": "Game Controller DELETE /game/:id should update game status to canceled when called.", "location": { "start": { "column": 6, - "line": 62 + "line": 745 } } }, { - "id": "466", - "name": "Game Helper getPlayerWithCurrentRole should return undefined when player with role is not found.", + "id": "524", + "name": "Game Controller POST /game/:id/play should not allow game play when game id is not a mongo id.", "location": { "start": { "column": 6, - "line": 66 + "line": 764 } } }, { - "id": "467", - "name": "Game Helper getPlayersWithCurrentRole should return players when they have this role.", + "id": "525", + "name": "Game Controller POST /game/:id/play should not allow game play when player ids in targets must be unique [#0].", "location": { "start": { - "column": 6, - "line": 82 + "column": 8, + "line": 790 } } }, { - "id": "468", - "name": "Game Helper getPlayersWithCurrentRole should return empty array when no one has the role.", + "id": "526", + "name": "Game Controller POST /game/:id/play should not allow game play when player ids in targets must be unique [#1].", "location": { "start": { - "column": 6, - "line": 86 + "column": 8, + "line": 790 } } }, { - "id": "469", - "name": "Game Helper getPlayersWithCurrentSide should return werewolves when they have this side.", + "id": "527", + "name": "Game Controller POST /game/:id/play should not allow game play when game id not found.", "location": { "start": { "column": 6, - "line": 102 + "line": 804 } } }, { - "id": "470", - "name": "Game Helper getPlayersWithCurrentSide should return villagers when they have this side.", + "id": "528", + "name": "Game Controller POST /game/:id/play should not allow game play when payload contains unknown resources id.", "location": { "start": { "column": 6, - "line": 106 + "line": 815 } } }, { - "id": "471", - "name": "Game Helper getPlayerWithId should get player with specific id when called with this id.", + "id": "529", + "name": "Game Controller POST /game/:id/play should not allow game play when payload is not valid.", "location": { "start": { "column": 6, - "line": 112 + "line": 844 } } }, { - "id": "472", - "name": "Game Helper getPlayerWithId should return undefined when called with unknown id.", + "id": "530", + "name": "Game Controller POST /game/:id/play should make a game play when called with votes.", "location": { "start": { "column": 6, - "line": 119 + "line": 874 } } }, { - "id": "473", - "name": "Game Helper getPlayerWithIdOrThrow should get player with specific id when called with this id.", + "id": "531", + "name": "Game Controller POST /game/:id/play should make a game play when called with targets.", "location": { "start": { "column": 6, - "line": 128 + "line": 920 } } }, { - "id": "474", - "name": "Game Helper getPlayerWithIdOrThrow should throw error when called with unknown id.", + "id": "532", + "name": "Game Controller GET /games/:id/history should get a bad request error when id is not mongoId.", "location": { "start": { "column": 6, - "line": 137 + "line": 974 } } }, { - "id": "475", - "name": "Game Helper getPlayerWithName should get player with specific name when called with this name.", + "id": "533", + "name": "Game Controller GET /games/:id/history should get a not found error when id doesn't exist in base.", "location": { "start": { "column": 6, - "line": 149 + "line": 984 } } }, { - "id": "476", - "name": "Game Helper getPlayerWithName should return undefined when called with unknown name.", + "id": "534", + "name": "Game Controller GET /games/:id/history should return no game history records when game doesn't have any.", "location": { "start": { "column": 6, - "line": 156 + "line": 995 } } }, { - "id": "477", - "name": "Game Helper getPlayerWithNameOrThrow should get player with specific name when called with this id.", + "id": "535", + "name": "Game Controller GET /games/:id/history should return 3 game history records when game have 3 records.", "location": { "start": { "column": 6, - "line": 165 + "line": 1015 } } }, { - "id": "478", - "name": "Game Helper getPlayerWithNameOrThrow should throw error when called with unknown name.", + "id": "1053", + "name": "Game Controller POST /games should not allow game creation when no players are provided [#0].", "location": { "start": { - "column": 6, - "line": 174 + "column": 12, + "line": 502 } } }, { - "id": "479", - "name": "Game Helper getAdditionalCardWithId should get card with specific id when called with this id.", + "id": "1054", + "name": "Game Controller POST /games should not allow game creation when the minimum of players is not reached [#1].", "location": { "start": { - "column": 6, - "line": 186 + "column": 12, + "line": 502 } } }, { - "id": "480", - "name": "Game Helper getAdditionalCardWithId should return undefined when cards are undefined.", + "id": "1055", + "name": "Game Controller POST /games should not allow game creation when the maximum of players is reached [#2].", "location": { "start": { - "column": 6, - "line": 192 + "column": 12, + "line": 502 } } }, { - "id": "481", - "name": "Game Helper getAdditionalCardWithId should return undefined when called with unknown id.", + "id": "1056", + "name": "Game Controller POST /games should not allow game creation when one of the player name is too short [#3].", "location": { "start": { - "column": 6, - "line": 196 + "column": 12, + "line": 502 } } }, { - "id": "482", - "name": "Game Helper areAllWerewolvesAlive should return false when empty array is provided.", + "id": "1057", + "name": "Game Controller POST /games should not allow game creation when one of the player name is too long [#4].", "location": { "start": { - "column": 6, - "line": 214 + "column": 12, + "line": 502 } } }, { - "id": "483", - "name": "Game Helper areAllWerewolvesAlive should return true when all werewolves are alive.", + "id": "1058", + "name": "Game Controller POST /games should not allow game creation when two players have the same name [#5].", "location": { "start": { - "column": 6, - "line": 218 + "column": 12, + "line": 502 } } }, { - "id": "484", - "name": "Game Helper areAllWerewolvesAlive should return true when at least one werewolf is dead.", + "id": "1059", + "name": "Game Controller POST /games should not allow game creation when there is only one brother in the same game [#6].", "location": { "start": { - "column": 6, - "line": 222 + "column": 12, + "line": 502 } } }, { - "id": "485", - "name": "Game Helper areAllVillagersAlive should return false when empty array is provided.", + "id": "1060", + "name": "Game Controller POST /games should not allow game creation when there is two witches in the same game [#7].", "location": { "start": { - "column": 6, - "line": 240 + "column": 12, + "line": 502 } } }, { - "id": "486", - "name": "Game Helper areAllVillagersAlive should return true when all villagers are alive.", + "id": "1061", + "name": "Game Controller POST /games should not allow game creation when there is no villager in game's composition [#8].", "location": { "start": { - "column": 6, - "line": 244 + "column": 12, + "line": 502 } } }, { - "id": "487", - "name": "Game Helper areAllVillagersAlive should return true when at least one villager is dead.", + "id": "1062", + "name": "Game Controller POST /games should not allow game creation when there is no werewolf in game's composition [#9].", "location": { "start": { - "column": 6, - "line": 248 + "column": 12, + "line": 502 } } }, { - "id": "488", - "name": "Game Helper areAllPlayersDead should return false when empty array is provided.", + "id": "1063", + "name": "Game Controller POST /games should not allow game creation when one of the player position is lower than 0 [#10].", "location": { "start": { - "column": 6, - "line": 266 + "column": 12, + "line": 502 } } }, { - "id": "489", - "name": "Game Helper areAllPlayersDead should return false when at least one player is alive.", + "id": "1064", + "name": "Game Controller POST /games should not allow game creation when one of the player position is not consistent faced to others [#11].", "location": { "start": { - "column": 6, - "line": 270 + "column": 12, + "line": 502 } } }, { - "id": "490", - "name": "Game Helper areAllPlayersDead should return true when all players are dead.", + "id": "1065", + "name": "Game Controller POST /games should not allow game creation when thief is in the game but additional cards are not set [#12].", "location": { "start": { - "column": 6, - "line": 274 + "column": 12, + "line": 502 } } }, { - "id": "491", - "name": "Game Helper getPlayerWithActiveAttributeName should return first player with attribute when called.", + "id": "1066", + "name": "Game Controller POST /games should not allow game creation when thief is not in the game but additional cards are set [#13].", "location": { "start": { - "column": 6, - "line": 282 + "column": 12, + "line": 502 } } }, { - "id": "492", - "name": "Game Helper getPlayerWithActiveAttributeName should return undefined when player with attribute is not found.", + "id": "1067", + "name": "Game Controller POST /games should not allow game creation when thief additional cards are more than the expected default limit [#14].", "location": { "start": { - "column": 6, - "line": 294 + "column": 12, + "line": 502 } } }, { - "id": "493", - "name": "Game Helper getPlayersWithActiveAttributeName should return players when they have the attribute.", + "id": "1068", + "name": "Game Controller POST /games should not allow game creation when thief additional cards are less than the expected limit defined in options [#15].", "location": { "start": { - "column": 6, - "line": 316 + "column": 12, + "line": 502 } } }, { - "id": "494", - "name": "Game Helper getPlayersWithActiveAttributeName should return empty array when none has the attribute.", + "id": "1069", + "name": "Game Controller POST /games should not allow game creation when one thief additional card is the thief himself [#16].", "location": { "start": { - "column": 6, - "line": 320 + "column": 12, + "line": 502 } } }, { - "id": "495", - "name": "Game Helper getAlivePlayers should get all alive players when called.", + "id": "1070", + "name": "Game Controller POST /games should not allow game creation when one thief additional card is is not available for thief [#17].", "location": { "start": { - "column": 6, - "line": 326 + "column": 12, + "line": 502 } } }, { - "id": "496", - "name": "Game Helper getAliveVillagerSidedPlayers should get all alive villager sided players when called.", + "id": "1071", + "name": "Game Controller POST /games should not allow game creation when no players are provided [#0].", "location": { "start": { - "column": 6, - "line": 340 + "column": 16, + "line": 502 } } }, { - "id": "497", - "name": "Game Helper getAliveWerewolfSidedPlayers should get all alive werewolf sided players when called.", + "id": "1072", + "name": "Game Controller POST /games should not allow game creation when the minimum of players is not reached [#1].", "location": { "start": { - "column": 6, - "line": 354 + "column": 16, + "line": 502 } } }, { - "id": "498", - "name": "Game Helper getLeftToCharmByPiedPiperPlayers should get left to charm by pied piper players when called.", + "id": "1073", + "name": "Game Controller POST /games should not allow game creation when the maximum of players is reached [#2].", "location": { "start": { - "column": 6, - "line": 368 + "column": 16, + "line": 502 } } }, { - "id": "499", - "name": "Game Helper getLeftToEatByWerewolvesPlayers should return left to eat by werewolves players when called.", + "id": "1074", + "name": "Game Controller POST /games should not allow game creation when one of the player name is too short [#3].", "location": { "start": { - "column": 6, - "line": 383 + "column": 16, + "line": 502 } } }, { - "id": "500", - "name": "Game Helper getLeftToEatByWhiteWerewolfPlayers should return left to eat by white werewolf players when called.", + "id": "1075", + "name": "Game Controller POST /games should not allow game creation when one of the player name is too long [#4].", "location": { "start": { - "column": 6, - "line": 398 + "column": 16, + "line": 502 } } }, { - "id": "501", - "name": "Game Helper getGroupOfPlayers should return all players when group is all.", + "id": "1076", + "name": "Game Controller POST /games should not allow game creation when two players have the same name [#5].", "location": { "start": { - "column": 6, - "line": 423 + "column": 16, + "line": 502 } } }, { - "id": "502", - "name": "Game Helper getGroupOfPlayers should return players in love when group is lovers.", + "id": "1077", + "name": "Game Controller POST /games should not allow game creation when there is only one brother in the same game [#6].", "location": { "start": { - "column": 6, - "line": 427 + "column": 16, + "line": 502 } } }, { - "id": "503", - "name": "Game Helper getGroupOfPlayers should return charmed players when group is charmed.", + "id": "1078", + "name": "Game Controller POST /games should not allow game creation when there is two witches in the same game [#7].", "location": { "start": { - "column": 6, - "line": 431 + "column": 16, + "line": 502 } } }, { - "id": "504", - "name": "Game Helper getGroupOfPlayers should return villagers when group is villagers.", + "id": "1079", + "name": "Game Controller POST /games should not allow game creation when there is no villager in game's composition [#8].", "location": { "start": { - "column": 6, - "line": 435 + "column": 16, + "line": 502 } } }, { - "id": "505", - "name": "Game Helper getGroupOfPlayers should return werewolves when group is werewolves.", + "id": "1080", + "name": "Game Controller POST /games should not allow game creation when there is no werewolf in game's composition [#9].", "location": { "start": { - "column": 6, - "line": 439 + "column": 16, + "line": 502 } } }, { - "id": "506", - "name": "Game Helper isGameSourceRole should return true when source is role.", + "id": "1081", + "name": "Game Controller POST /games should not allow game creation when one of the player position is lower than 0 [#10].", "location": { "start": { - "column": 6, - "line": 445 + "column": 16, + "line": 502 } } }, { - "id": "507", - "name": "Game Helper isGameSourceRole should return false when source is group.", + "id": "1082", + "name": "Game Controller POST /games should not allow game creation when one of the player position is not consistent faced to others [#11].", "location": { "start": { - "column": 6, - "line": 449 + "column": 16, + "line": 502 } } - }, + } + ], + "source": "import { faker } from \"@faker-js/faker\";\nimport type { BadRequestException, NotFoundException } from \"@nestjs/common\";\nimport { HttpStatus } from \"@nestjs/common\";\nimport { getModelToken } from \"@nestjs/mongoose\";\nimport type { NestFastifyApplication } from \"@nestjs/platform-fastify\";\nimport type { Model, Types } from \"mongoose\";\nimport { stringify } from \"qs\";\nimport { gameAdditionalCardsThiefRoleNames } from \"../../../../../../src/modules/game/constants/game-additional-card/game-additional-card.constant\";\nimport { defaultGameOptions } from \"../../../../../../src/modules/game/constants/game-options/game-options.constant\";\nimport type { CreateGamePlayerDto } from \"../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player.dto\";\nimport type { CreateGameDto } from \"../../../../../../src/modules/game/dto/create-game/create-game.dto\";\nimport type { GetGameRandomCompositionDto } from \"../../../../../../src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto\";\nimport type { MakeGamePlayDto } from \"../../../../../../src/modules/game/dto/make-game-play/make-game-play.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from \"../../../../../../src/modules/game/enums/game-play.enum\";\nimport { GAME_PHASES, GAME_STATUSES } from \"../../../../../../src/modules/game/enums/game.enum\";\nimport { PLAYER_GROUPS } from \"../../../../../../src/modules/game/enums/player.enum\";\nimport type { GameAdditionalCard } from \"../../../../../../src/modules/game/schemas/game-additional-card/game-additional-card.schema\";\nimport { GameHistoryRecord } from \"../../../../../../src/modules/game/schemas/game-history-record/game-history-record.schema\";\nimport type { GameOptions } from \"../../../../../../src/modules/game/schemas/game-options/game-options.schema\";\nimport type { GamePlay } from \"../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport { Game } from \"../../../../../../src/modules/game/schemas/game.schema\";\nimport type { Player } from \"../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGameAdditionalCardDto } from \"../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory\";\nimport { createFakeGameOptionsDto } from \"../../../../../factories/game/dto/create-game/create-game-options/create-game-options.dto.factory\";\nimport { createFakeCreateThiefGameOptionsDto } from \"../../../../../factories/game/dto/create-game/create-game-options/create-roles-game-options/create-roles-game-options.dto.factory\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto, createFakeCreateGameWithPlayersDto } from \"../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeMakeGamePlayDto } from \"../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory\";\nimport { createFakeGameAdditionalCard } from \"../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGameHistoryRecord } from \"../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeCompositionGameOptions } from \"../../../../../factories/game/schemas/game-options/composition-game-options.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeRolesGameOptions } from \"../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeVotesGameOptions } from \"../../../../../factories/game/schemas/game-options/votes-game-options.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlayAllVote, createFakeGamePlayCupidCharms, createFakeGamePlayLoversMeetEachOther, createFakeGamePlaySeerLooks, createFakeGamePlayThiefChoosesCard, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeSeenBySeerPlayerAttribute } from \"../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createObjectIdFromString } from \"../../../../../helpers/mongoose/mongoose.helper\";\nimport { toJSON } from \"../../../../../helpers/object/object.helper\";\nimport type { ExceptionResponse } from \"../../../../../types/exception/exception.types\";\nimport { initNestApp } from \"../../../../helpers/nest-app.helper\";\n\ndescribe(\"Game Controller\", () => {\n let app: NestFastifyApplication;\n let models: {\n game: Model;\n gameHistoryRecord: Model;\n };\n\n beforeAll(async() => {\n const { app: server, module } = await initNestApp();\n app = server;\n models = {\n game: module.get>(getModelToken(Game.name)),\n gameHistoryRecord: module.get>(getModelToken(GameHistoryRecord.name)),\n };\n });\n\n afterEach(async() => {\n await Promise.all([\n models.game.deleteMany(),\n models.gameHistoryRecord.deleteMany(),\n ]);\n });\n\n afterAll(async() => {\n await app.close();\n });\n\n describe(\"GET /games\", () => {\n it(\"should get no games when no populate yet.\", async() => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual([]);\n });\n\n it(\"should get 3 games when 3 games were created.\", async() => {\n const games = [\n createFakeGameWithCurrentPlay(),\n createFakeGameWithCurrentPlay(),\n createFakeGameWithCurrentPlay(),\n ];\n await models.game.create(games);\n const response = await app.inject({\n method: \"GET\",\n url: \"/games\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toHaveLength(3);\n });\n });\n\n describe(\"GET /games/random-composition\", () => {\n it.each<{ query: Record; test: string; errorMessage: string }>([\n {\n query: { players: undefined },\n test: \"there is not enough players\",\n errorMessage: \"players must contain at least 4 elements\",\n },\n {\n query: { players: [{ name: \"Antoine\" }] },\n test: \"there is not enough players\",\n errorMessage: \"players must contain at least 4 elements\",\n },\n {\n query: { players: bulkCreateFakeCreateGamePlayerDto(45) },\n test: \"the maximum of players is reached\",\n errorMessage: \"players must contain no more than 40 elements\",\n },\n {\n query: { players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: \"\" }]) },\n test: \"one of the player name is too short\",\n errorMessage: \"players.0.name must be longer than or equal to 1 characters\",\n },\n {\n query: { players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: faker.string.sample(31) }]) },\n test: \"one of the player name is too long\",\n errorMessage: \"players.0.name must be shorter than or equal to 30 characters\",\n },\n {\n query: {\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { name: \"John\" },\n { name: \"John\" },\n ]),\n },\n test: \"two players have the same name\",\n errorMessage: \"players.name must be unique\",\n },\n {\n query: {\n \"players\": bulkCreateFakeCreateGamePlayerDto(4),\n \"excluded-roles\": [ROLE_NAMES.WEREWOLF, ROLE_NAMES.SEER],\n },\n test: \"werewolf is in excluded roles\",\n errorMessage: \"excludedRoles should not contain villager, werewolf values\",\n },\n {\n query: {\n players: bulkCreateFakeCreateGamePlayerDto(4),\n excludedRoles: [ROLE_NAMES.VILLAGER, ROLE_NAMES.SEER],\n },\n test: \"villager is in excluded roles\",\n errorMessage: \"excludedRoles should not contain villager, werewolf values\",\n },\n {\n query: {\n players: bulkCreateFakeCreateGamePlayerDto(4),\n excludedRoles: [ROLE_NAMES.SEER, ROLE_NAMES.SEER],\n },\n test: \"there is twice the same excluded role\",\n errorMessage: \"excluded roles must be unique\",\n },\n ])(\"should not allow getting random game composition when $test [#$#].\", async({\n query,\n errorMessage,\n }) => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/random-composition\",\n query: stringify(query),\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toContainEqual(errorMessage);\n });\n\n it(\"should get random composition when called.\", async() => {\n const query: Partial = {\n players: bulkCreateFakeCreateGamePlayerDto(40, [\n { name: \"1\" },\n { name: \"2\" },\n { name: \"3\" },\n { name: \"4\" },\n { name: \"5\" },\n { name: \"6\" },\n { name: \"7\" },\n { name: \"8\" },\n { name: \"9\" },\n { name: \"10\" },\n { name: \"11\" },\n { name: \"12\" },\n { name: \"13\" },\n { name: \"14\" },\n { name: \"15\" },\n { name: \"16\" },\n { name: \"17\" },\n { name: \"18\" },\n { name: \"19\" },\n { name: \"20\" },\n { name: \"21\" },\n { name: \"22\" },\n { name: \"23\" },\n { name: \"24\" },\n { name: \"25\" },\n { name: \"26\" },\n { name: \"27\" },\n { name: \"28\" },\n { name: \"29\" },\n { name: \"30\" },\n { name: \"31\" },\n { name: \"32\" },\n { name: \"33\" },\n { name: \"34\" },\n { name: \"35\" },\n { name: \"36\" },\n { name: \"37\" },\n { name: \"38\" },\n { name: \"39\" },\n { name: \"40\" },\n ]), arePowerfulVillagerRolesPrioritized: false,\n };\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/random-composition\",\n query: stringify(query),\n });\n const players = response.json();\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(players).toSatisfyAll(({ role, side }) =>\n role.current !== undefined && role.current === role.original &&\n side.current !== undefined && side.current === side.original);\n });\n });\n\n describe(\"GET /game/:id\", () => {\n it(\"should get a bad request error when id is not mongoId.\", async() => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/123\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it(\"should get a not found error when id doesn't exist in base.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${unknownId}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should get a game when id exists in base.\", async() => {\n const game = createFakeGameWithCurrentPlay();\n await models.game.create(game);\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${game._id.toString()}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(game) as Game,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n });\n\n describe(\"POST /games\", () => {\n it.each<{ payload: CreateGameDto; test: string; errorMessage: string }>([\n {\n payload: createFakeCreateGameDto({}, { players: undefined }),\n test: \"no players are provided\",\n errorMessage: \"players must be an array\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(3) }),\n test: \"the minimum of players is not reached\",\n errorMessage: \"players must contain at least 4 elements\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(45) }),\n test: \"the maximum of players is reached\",\n errorMessage: \"players must contain no more than 40 elements\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: \"\" }]) }),\n test: \"one of the player name is too short\",\n errorMessage: \"players.0.name must be longer than or equal to 1 characters\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: faker.string.sample(31) }]) }),\n test: \"one of the player name is too long\",\n errorMessage: \"players.0.name must be shorter than or equal to 30 characters\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { name: \"John\", role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { name: \"John\" },\n ]),\n }),\n test: \"two players have the same name\",\n errorMessage: \"players.name must be unique\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.SEER } },\n ]),\n }),\n test: \"there is only one brother in the same game\",\n errorMessage: \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WITCH } },\n ]),\n }),\n test: \"there is two witches in the same game\",\n errorMessage: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]),\n }),\n test: \"there is no villager in game's composition\",\n errorMessage: \"one of the players.role must have at least one role from `villagers` side\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n ]),\n }),\n test: \"there is no werewolf in game's composition\",\n errorMessage: \"one of the players.role must have at least one role from `werewolves` side\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(4, [{ position: -1 }]) }),\n test: \"one of the player position is lower than 0\",\n errorMessage: \"players.0.position must not be less than 0\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.PIED_PIPER }, position: 1 },\n { role: { name: ROLE_NAMES.WITCH }, position: 2 },\n { role: { name: ROLE_NAMES.SEER }, position: 666 },\n ]),\n }),\n test: \"one of the player position is not consistent faced to others\",\n errorMessage: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n }),\n test: \"thief is in the game but additional cards are not set\",\n errorMessage: \"additionalCards must be set if there is a player with role `thief`\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n ],\n }),\n test: \"thief is not in the game but additional cards are set\",\n errorMessage: \"additionalCards can't be set if there is no player with role `thief`\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n ],\n }),\n test: \"thief additional cards are more than the expected default limit\",\n errorMessage: \"additionalCards length must be equal to options.roles.thief.additionalCardsCount\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n ],\n options: createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 4 }) }) }),\n }),\n test: \"thief additional cards are less than the expected limit defined in options\",\n errorMessage: \"additionalCards length must be equal to options.roles.thief.additionalCardsCount\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.THIEF, recipient: ROLE_NAMES.THIEF }),\n ],\n }),\n test: \"one thief additional card is the thief himself\",\n errorMessage: `additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`,\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.TWO_SISTERS, recipient: ROLE_NAMES.THIEF }),\n ],\n }),\n test: \"one thief additional card is is not available for thief\",\n errorMessage: `additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`,\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.DOG_WOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.DOG_WOLF, recipient: ROLE_NAMES.THIEF }),\n ],\n }),\n test: \"two thief additional role cards exceed the maximum occurrences in game possible\",\n errorMessage: \"additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.THIEF } },\n ]),\n additionalCards: [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n ],\n }),\n test: \"one thief additional role card exceeds the maximum occurrences in game possible because another player has it\",\n errorMessage: \"additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\",\n },\n ])(\"should not allow game creation when $test [#$#].\", async({\n payload,\n errorMessage,\n }) => {\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toContainEqual(errorMessage);\n });\n\n it(`should create game when called.`, async() => {\n const payload = createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(6, [\n { role: { name: ROLE_NAMES.VILLAGER }, name: \"Antoine\" },\n { role: { name: ROLE_NAMES.WEREWOLF }, name: \"Mathis\" },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER }, name: \"Virgil\" },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF }, name: \"JB\" },\n { role: { name: ROLE_NAMES.CUPID }, name: \"Doudou\" },\n { role: { name: ROLE_NAMES.SEER }, name: \"Juju\" },\n ]),\n }, { options: undefined });\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n const expectedPlayers = payload.players.map((player, index) => ({\n _id: expect.any(String) as Types.ObjectId,\n name: player.name,\n role: {\n current: player.role.name,\n original: player.role.name,\n isRevealed: player.role.name === ROLE_NAMES.VILLAGER_VILLAGER,\n },\n side: {\n current: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES,\n original: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES,\n },\n attributes: [],\n position: index,\n isAlive: true,\n }));\n const expectedGame: Game = {\n _id: expect.any(String) as Types.ObjectId,\n phase: GAME_PHASES.NIGHT,\n status: GAME_STATUSES.PLAYING,\n turn: 1,\n tick: 1,\n players: expectedPlayers,\n currentPlay: {\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n source: { name: PLAYER_GROUPS.ALL, players: expectedPlayers },\n },\n upcomingPlays: toJSON([\n createFakeGamePlayCupidCharms(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayLoversMeetEachOther(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlayWhiteWerewolfEats(),\n ]) as GamePlay[],\n options: defaultGameOptions,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n };\n\n expect(response.statusCode).toBe(HttpStatus.CREATED);\n expect(response.json()).toStrictEqual(expectedGame);\n });\n \n it(`should create game with additional cards when thief is in the game.`, async() => {\n const payload = createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(6, [\n { role: { name: ROLE_NAMES.THIEF }, name: \"Antoine\" },\n { role: { name: ROLE_NAMES.WEREWOLF }, name: \"Mathis\" },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER }, name: \"Virgil\" },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF }, name: \"JB\" },\n { role: { name: ROLE_NAMES.CUPID }, name: \"Doudou\" },\n { role: { name: ROLE_NAMES.SEER }, name: \"Juju\" },\n ]),\n additionalCards: [\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF, recipient: ROLE_NAMES.THIEF }),\n createFakeGameAdditionalCard({ roleName: ROLE_NAMES.VILE_FATHER_OF_WOLVES, recipient: ROLE_NAMES.THIEF }),\n ],\n }, { options: undefined });\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n const expectedPlayers = payload.players.map((player, index) => ({\n _id: expect.any(String) as Types.ObjectId,\n name: player.name,\n role: {\n current: player.role.name,\n original: player.role.name,\n isRevealed: player.role.name === ROLE_NAMES.VILLAGER_VILLAGER,\n },\n side: {\n current: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER, ROLE_NAMES.THIEF].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES,\n original: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER, ROLE_NAMES.THIEF].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES,\n },\n attributes: [],\n position: index,\n isAlive: true,\n }));\n const expectedGameAdditionalCards = payload.additionalCards?.map(additionalCard => ({\n _id: expect.any(String) as Types.ObjectId,\n roleName: additionalCard.roleName,\n recipient: additionalCard.recipient,\n isUsed: false,\n }));\n const expectedGame: Game = {\n _id: expect.any(String) as Types.ObjectId,\n phase: GAME_PHASES.NIGHT,\n status: GAME_STATUSES.PLAYING,\n turn: 1,\n tick: 1,\n players: expectedPlayers,\n currentPlay: {\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n source: { name: PLAYER_GROUPS.ALL, players: expectedPlayers },\n },\n upcomingPlays: toJSON([\n createFakeGamePlayThiefChoosesCard(),\n createFakeGamePlayCupidCharms(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayLoversMeetEachOther(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlayWhiteWerewolfEats(),\n ]) as GamePlay[],\n additionalCards: expectedGameAdditionalCards,\n options: defaultGameOptions,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n };\n\n expect(response.statusCode).toBe(HttpStatus.CREATED);\n expect(response.json()).toStrictEqual(expectedGame);\n });\n\n it(`should create game with different options when called with options specified and some omitted.`, async() => {\n const options: Partial = {\n roles: {\n areRevealedOnDeath: false,\n doSkipCallIfNoTarget: true,\n sheriff: {\n isEnabled: false,\n electedAt: {\n turn: 5,\n phase: GAME_PHASES.DAY,\n },\n hasDoubledVote: false,\n },\n bigBadWolf: { isPowerlessIfWerewolfDies: false },\n whiteWerewolf: { wakingUpInterval: 5 },\n seer: {\n isTalkative: false,\n canSeeRoles: false,\n },\n littleGirl: { isProtectedByGuard: true },\n guard: { canProtectTwice: true },\n ancient: {\n livesCountAgainstWerewolves: 1,\n doesTakeHisRevenge: false,\n },\n idiot: { doesDieOnAncientDeath: false },\n twoSisters: { wakingUpInterval: 0 },\n threeBrothers: { wakingUpInterval: 5 },\n fox: { isPowerlessIfMissesWerewolf: false },\n bearTamer: { doesGrowlIfInfected: false },\n stutteringJudge: { voteRequestsCount: 3 },\n wildChild: { isTransformationRevealed: true },\n dogWolf: { isChosenSideRevealed: true },\n thief: {\n mustChooseBetweenWerewolves: false,\n additionalCardsCount: 4,\n },\n piedPiper: {\n charmedPeopleCountPerNight: 1,\n isPowerlessIfInfected: false,\n },\n raven: { markPenalty: 5 },\n },\n };\n const payload = createFakeCreateGameWithPlayersDto({}, { options });\n const expectedOptions = createFakeGameOptionsDto({\n ...options,\n composition: createFakeCompositionGameOptions({ isHidden: defaultGameOptions.composition.isHidden }),\n votes: createFakeVotesGameOptions({ canBeSkipped: defaultGameOptions.votes.canBeSkipped }),\n });\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.CREATED);\n expect(response.json().options).toStrictEqual(toJSON(expectedOptions) as GameOptions);\n });\n });\n\n describe(\"DELETE /game/:id\", () => {\n it(\"should get a bad request error when id is not mongoId.\", async() => {\n const response = await app.inject({\n method: \"DELETE\",\n url: \"/games/123\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it(\"should get a not found error when id doesn't exist in base.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"DELETE\",\n url: `/games/${unknownId}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should get a bad request error when game doesn't have playing status.\", async() => {\n const game = createFakeGameWithCurrentPlay({ status: GAME_STATUSES.CANCELED });\n await models.game.create(game);\n const response = await app.inject({\n method: \"DELETE\",\n url: `/games/${game._id.toString()}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json()).toStrictEqual({\n statusCode: HttpStatus.BAD_REQUEST,\n message: `Bad mutation for Game with id \"${game._id.toString()}\"`,\n error: `Game doesn't have status with value \"playing\"`,\n });\n });\n\n it(\"should update game status to canceled when called.\", async() => {\n const game = createFakeGameWithCurrentPlay({ status: GAME_STATUSES.PLAYING });\n await models.game.create(game);\n const response = await app.inject({\n method: \"DELETE\",\n url: `/games/${game._id.toString()}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(game) as Game,\n status: GAME_STATUSES.CANCELED,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n });\n\n describe(\"POST /game/:id/play\", () => {\n it(\"should not allow game play when game id is not a mongo id.\", async() => {\n const response = await app.inject({\n method: \"POST\",\n url: `/games/123/play`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it.each<{ payload: MakeGamePlayDto; test: string; errorMessage: string }>([\n {\n payload: createFakeMakeGamePlayDto({ targets: [{ playerId: createObjectIdFromString(\"507f1f77bcf86cd799439011\") }, { playerId: createObjectIdFromString(\"507f1f77bcf86cd799439011\") }] }),\n test: \"player ids in targets must be unique\",\n errorMessage: \"targets.playerId must be unique\",\n },\n {\n payload: createFakeMakeGamePlayDto({\n votes: [\n { sourceId: createObjectIdFromString(\"507f1f77bcf86cd799439011\"), targetId: createObjectIdFromString(\"507f1f77bcf86cd799439012\") },\n { sourceId: createObjectIdFromString(\"507f1f77bcf86cd799439011\"), targetId: createObjectIdFromString(\"507f1f77bcf86cd799439012\") },\n ],\n }),\n test: \"player ids in targets must be unique\",\n errorMessage: \"votes.sourceId must be unique\",\n },\n ])(\"should not allow game play when $test [#$#].\", async({\n payload,\n errorMessage,\n }) => {\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${faker.database.mongodbObjectId()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toContainEqual(errorMessage);\n });\n\n it(\"should not allow game play when game id not found.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${unknownId}/play`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should not allow game play when payload contains unknown resources id.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({\n status: GAME_STATUSES.PLAYING,\n upcomingPlays: [createFakeGamePlayAllVote()],\n players,\n });\n await models.game.create(game);\n const unknownPlayerId = faker.database.mongodbObjectId();\n const payload = createFakeMakeGamePlayDto({ targets: [{ playerId: createObjectIdFromString(unknownPlayerId) }] });\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json()).toStrictEqual({\n statusCode: HttpStatus.NOT_FOUND,\n message: `Player with id \"${unknownPlayerId.toString()}\" not found`,\n error: \"Game Play - Player in `targets.player` is not in the game players\",\n });\n });\n\n it(\"should not allow game play when payload is not valid.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: false }) });\n const game = createFakeGame({\n status: GAME_STATUSES.PLAYING,\n currentPlay: createFakeGamePlayAllVote(),\n players,\n options,\n });\n await models.game.create(game);\n const payload = createFakeMakeGamePlayDto({});\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json()).toStrictEqual({\n statusCode: HttpStatus.BAD_REQUEST,\n message: `Bad game play payload`,\n error: \"`votes` is required on this current game's state\",\n });\n });\n\n it(\"should make a game play when called with votes.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({\n status: GAME_STATUSES.PLAYING,\n currentPlay: createFakeGamePlayAllVote({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players }) }),\n upcomingPlays: [\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayWerewolvesEat(),\n ],\n players,\n });\n await models.game.create(game);\n const payload = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: players[0]._id, targetId: players[1]._id },\n { sourceId: players[1]._id, targetId: players[0]._id },\n ],\n });\n const expectedCurrentPlay = createFakeGamePlayAllVote({\n cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES,\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players }),\n });\n const expectedGame = createFakeGame({\n ...game,\n tick: game.tick + 1,\n currentPlay: expectedCurrentPlay,\n });\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(expectedGame) as Game,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n \n it(\"should make a game play when called with targets.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({\n phase: GAME_PHASES.NIGHT,\n status: GAME_STATUSES.PLAYING,\n currentPlay: createFakeGamePlaySeerLooks({ source: createFakeGamePlaySource({ name: ROLE_NAMES.SEER, players: [players[1]] }) }),\n upcomingPlays: [createFakeGamePlayWerewolvesEat()],\n players,\n });\n await models.game.create(game);\n const payload = createFakeMakeGamePlayDto({ targets: [{ playerId: players[0]._id }] });\n const expectedCurrentPlay = createFakeGamePlayWerewolvesEat({\n source: createFakeGamePlaySource({\n name: PLAYER_GROUPS.WEREWOLVES,\n players: [createFakePlayer({ ...players[0], attributes: [createFakeSeenBySeerPlayerAttribute()] }), players[3]],\n }),\n });\n const expectedGame = createFakeGame({\n ...game,\n tick: game.tick + 1,\n currentPlay: expectedCurrentPlay,\n upcomingPlays: [],\n players: [\n createFakePlayer({ ...players[0], attributes: [createFakeSeenBySeerPlayerAttribute()] }),\n players[1],\n players[2],\n players[3],\n ],\n });\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(expectedGame) as Game,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n });\n\n describe(\"GET /games/:id/history\", () => {\n afterEach(async() => {\n await models.gameHistoryRecord.deleteMany();\n });\n\n it(\"should get a bad request error when id is not mongoId.\", async() => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/123/history\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it(\"should get a not found error when id doesn't exist in base.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${unknownId}/history`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should return no game history records when game doesn't have any.\", async() => {\n const game = createFakeGameWithCurrentPlay();\n const secondGame = createFakeGameWithCurrentPlay();\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n ];\n await models.game.insertMany([game, secondGame]);\n await models.gameHistoryRecord.insertMany(gameHistoryRecords);\n\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${secondGame._id.toString()}/history`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual([]);\n });\n\n it(\"should return 3 game history records when game have 3 records.\", async() => {\n const game = createFakeGameWithCurrentPlay();\n const secondGame = createFakeGameWithCurrentPlay();\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n ];\n await models.game.insertMany([game, secondGame]);\n await models.gameHistoryRecord.insertMany(gameHistoryRecords);\n\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${game._id.toString()}/history`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual([\n {\n ...toJSON(gameHistoryRecords[0]),\n createdAt: expect.any(String) as Date,\n },\n {\n ...toJSON(gameHistoryRecords[1]),\n createdAt: expect.any(String) as Date,\n },\n {\n ...toJSON(gameHistoryRecords[2]),\n createdAt: expect.any(String) as Date,\n },\n ] as GameHistoryRecord[]);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/helpers/game.helper.spec.ts": { + "tests": [ { - "id": "508", - "name": "Game Helper isGameSourceGroup should return true when source is group.", + "id": "536", + "name": "Game Helper getPlayerDtoWithRole should return player with role when a player has this role.", "location": { "start": { "column": 6, - "line": 455 + "line": 42 } } }, { - "id": "509", - "name": "Game Helper isGameSourceGroup should return false when source is role.", + "id": "537", + "name": "Game Helper getPlayerDtoWithRole should return undefined when player with role is not found.", "location": { "start": { "column": 6, - "line": 459 + "line": 46 } } }, { - "id": "510", - "name": "Game Helper getNonexistentPlayerId should return undefined when all candidate ids are found.", + "id": "538", + "name": "Game Helper getPlayerWithCurrentRole should return player with role when a player has this role.", "location": { "start": { "column": 6, - "line": 465 + "line": 62 } } }, { - "id": "511", - "name": "Game Helper getNonexistentPlayerId should return unknown id when one candidate id is not found.", + "id": "539", + "name": "Game Helper getPlayerWithCurrentRole should return undefined when player with role is not found.", "location": { "start": { "column": 6, - "line": 472 + "line": 66 } } }, { - "id": "512", - "name": "Game Helper getNonexistentPlayer should return undefined when all candidate ids are found.", + "id": "540", + "name": "Game Helper getPlayersWithCurrentRole should return players when they have this role.", "location": { "start": { "column": 6, - "line": 482 + "line": 82 } } }, { - "id": "513", - "name": "Game Helper getNonexistentPlayer should return unknown id when one candidate id is not found.", + "id": "541", + "name": "Game Helper getPlayersWithCurrentRole should return empty array when no one has the role.", "location": { "start": { "column": 6, - "line": 489 + "line": 86 } } }, { - "id": "514", - "name": "Game Helper getFoxSniffedPlayers should get 3 targets with left and right neighbors when called.", + "id": "542", + "name": "Game Helper getPlayersWithCurrentSide should return werewolves when they have this side.", "location": { "start": { "column": 6, - "line": 499 + "line": 102 } } }, { - "id": "515", - "name": "Game Helper getFoxSniffedPlayers should get 3 targets with left neighbor when right is dead.", + "id": "543", + "name": "Game Helper getPlayersWithCurrentSide should return villagers when they have this side.", "location": { "start": { "column": 6, - "line": 516 + "line": 106 } } }, { - "id": "516", - "name": "Game Helper getFoxSniffedPlayers should get 2 targets with left neighbor when all rights are dead.", + "id": "544", + "name": "Game Helper getPlayerWithId should get player with specific id when called with this id.", "location": { "start": { "column": 6, - "line": 533 + "line": 112 } } }, { - "id": "517", - "name": "Game Helper getFoxSniffedPlayers should get only 1 target when all neighbors.", + "id": "545", + "name": "Game Helper getPlayerWithId should return undefined when called with unknown id.", "location": { "start": { "column": 6, - "line": 549 + "line": 119 } } }, { - "id": "518", - "name": "Game Helper getFoxSniffedPlayers should throw error when player is not found in game.", + "id": "546", + "name": "Game Helper getPlayerWithIdOrThrow should get player with specific id when called with this id.", "location": { "start": { "column": 6, - "line": 562 + "line": 128 } } }, { - "id": "519", - "name": "Game Helper getNearestAliveNeighbor should throw error when player is not found in game.", + "id": "547", + "name": "Game Helper getPlayerWithIdOrThrow should throw error when called with unknown id.", "location": { "start": { "column": 6, - "line": 579 + "line": 137 } } }, { - "id": "520", - "name": "Game Helper getNearestAliveNeighbor should get the nearest right alive player when called with right direction.", + "id": "548", + "name": "Game Helper getPlayerWithName should get player with specific name when called with this name.", "location": { "start": { "column": 6, - "line": 597 + "line": 149 } } }, { - "id": "521", - "name": "Game Helper getNearestAliveNeighbor should get the nearest left alive player when called with left direction.", + "id": "549", + "name": "Game Helper getPlayerWithName should return undefined when called with unknown name.", "location": { "start": { "column": 6, - "line": 612 + "line": 156 } } }, { - "id": "522", - "name": "Game Helper getNearestAliveNeighbor should get the nearest left alive villager player when called with left direction and villager side.", + "id": "550", + "name": "Game Helper getPlayerWithNameOrThrow should get player with specific name when called with this id.", "location": { "start": { "column": 6, - "line": 627 + "line": 165 } } }, { - "id": "523", - "name": "Game Helper getNearestAliveNeighbor should get the nearest left alive werewolf player when called with left direction and werewolf side.", + "id": "551", + "name": "Game Helper getPlayerWithNameOrThrow should throw error when called with unknown name.", "location": { "start": { "column": 6, - "line": 642 + "line": 174 } } }, { - "id": "524", - "name": "Game Helper getNearestAliveNeighbor should return undefined when can't find player with conditions.", + "id": "552", + "name": "Game Helper getAdditionalCardWithId should get card with specific id when called with this id.", "location": { "start": { "column": 6, - "line": 657 + "line": 186 } } }, { - "id": "525", - "name": "Game Helper getNearestAliveNeighbor should return undefined when there are no alive players.", + "id": "553", + "name": "Game Helper getAdditionalCardWithId should return undefined when cards are undefined.", "location": { "start": { "column": 6, - "line": 672 + "line": 192 } } }, { - "id": "526", - "name": "Game Helper getExpectedPlayersToPlay should throw error when there is no current play.", + "id": "554", + "name": "Game Helper getAdditionalCardWithId should return undefined when called with unknown id.", "location": { "start": { "column": 6, - "line": 689 + "line": 196 } } }, { - "id": "527", - "name": "Game Helper getExpectedPlayersToPlay should return alive werewolves when source is group of werewolves.", + "id": "555", + "name": "Game Helper areAllWerewolvesAlive should return false when empty array is provided.", "location": { "start": { "column": 6, - "line": 703 + "line": 214 } } }, { - "id": "528", - "name": "Game Helper getExpectedPlayersToPlay should return alive two sisters when source is specific role.", + "id": "556", + "name": "Game Helper areAllWerewolvesAlive should return true when all werewolves are alive.", "location": { "start": { "column": 6, - "line": 718 + "line": 218 } } }, { - "id": "529", - "name": "Game Helper getExpectedPlayersToPlay should not return sheriff when source is sheriff but action is not DELEGATE and sheriff is dead.", + "id": "557", + "name": "Game Helper areAllWerewolvesAlive should return true when at least one werewolf is dead.", "location": { "start": { "column": 6, - "line": 732 + "line": 222 } } }, { - "id": "530", - "name": "Game Helper getExpectedPlayersToPlay should return sheriff when source is sheriff and action is DELEGATE even if he is dying.", + "id": "558", + "name": "Game Helper areAllVillagersAlive should return false when empty array is provided.", "location": { "start": { "column": 6, - "line": 746 + "line": 240 } } }, { - "id": "531", - "name": "Game Helper getExpectedPlayersToPlay should return hunter when source is hunter and action is SHOOT even if he is dying.", + "id": "559", + "name": "Game Helper areAllVillagersAlive should return true when all villagers are alive.", "location": { "start": { "column": 6, - "line": 760 + "line": 244 } } }, { - "id": "532", - "name": "Game Helper getExpectedPlayersToPlay should return scapegoat when source is scapegoat and action is BAN_VOTING even if he is dying.", + "id": "560", + "name": "Game Helper areAllVillagersAlive should return true when at least one villager is dead.", "location": { "start": { "column": 6, - "line": 774 + "line": 248 } } - } - ], - "source": "import { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../src/modules/game/enums/player.enum\";\nimport { areAllPlayersDead, areAllVillagersAlive, areAllWerewolvesAlive, getAdditionalCardWithId, getAlivePlayers, getAliveVillagerSidedPlayers, getAliveWerewolfSidedPlayers, getExpectedPlayersToPlay, getFoxSniffedPlayers, getGroupOfPlayers, getLeftToCharmByPiedPiperPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getNearestAliveNeighbor, getNonexistentPlayer, getNonexistentPlayerId, getPlayerDtoWithRole, getPlayersWithActiveAttributeName, getPlayersWithCurrentRole, getPlayersWithCurrentSide, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole, getPlayerWithId, getPlayerWithIdOrThrow, getPlayerWithName, getPlayerWithNameOrThrow, isGameSourceGroup, isGameSourceRole } from \"../../../../../../src/modules/game/helpers/game.helper\";\nimport type { Player } from \"../../../../../../src/modules/game/schemas/player/player.schema\";\nimport type { GetNearestPlayerOptions } from \"../../../../../../src/modules/game/types/game.type\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../src/modules/role/enums/role.enum\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../../../../../../src/shared/exception/enums/unexpected-exception.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport type { ExceptionInterpolations } from \"../../../../../../src/shared/exception/types/exception.type\";\nimport { UnexpectedException } from \"../../../../../../src/shared/exception/types/unexpected-exception.type\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards } from \"../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGamePlayHunterShoots, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayTwoSistersMeetEachOther, createFakeGamePlayWerewolvesEat } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCharmedByPiedPiperPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute, createFakeInLoveByCupidPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeHunterAlivePlayer, createFakePiedPiperAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeTwoSistersAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWhiteWerewolfAlivePlayer } from \"../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../factories/shared/mongoose/mongoose.factory\";\n\ndescribe(\"Game Helper\", () => {\n let mocks: {\n unexpectedExceptionFactory: {\n createNoCurrentGamePlayUnexpectedException: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n mocks = { unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() } };\n });\n \n describe(\"getPlayerDtoWithRole\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(6, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.IDIOT } },\n ]);\n const game = createFakeCreateGameDto({ players });\n\n it(\"should return player with role when a player has this role.\", () => {\n expect(getPlayerDtoWithRole(game, ROLE_NAMES.WEREWOLF)).toStrictEqual(game.players[2]);\n });\n\n it(\"should return undefined when player with role is not found.\", () => {\n expect(getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)).toBeUndefined();\n });\n });\n\n describe(\"getPlayerWithCurrentRole\", () => {\n const players = bulkCreateFakePlayers(6, [\n { role: { current: ROLE_NAMES.WITCH, original: ROLE_NAMES.WITCH, isRevealed: false } },\n { role: { current: ROLE_NAMES.SEER, original: ROLE_NAMES.SEER, isRevealed: false } },\n { role: { current: ROLE_NAMES.WEREWOLF, original: ROLE_NAMES.WEREWOLF, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT, isRevealed: false } },\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return player with role when a player has this role.\", () => {\n expect(getPlayerWithCurrentRole(game, ROLE_NAMES.SEER)).toStrictEqual(players[1]);\n });\n\n it(\"should return undefined when player with role is not found.\", () => {\n expect(getPlayerWithCurrentRole(game, ROLE_NAMES.BIG_BAD_WOLF)).toBeUndefined();\n });\n });\n\n describe(\"getPlayersWithCurrentRole\", () => {\n const players = bulkCreateFakePlayers(6, [\n { role: { current: ROLE_NAMES.THREE_BROTHERS, original: ROLE_NAMES.WITCH, isRevealed: false } },\n { role: { current: ROLE_NAMES.THREE_BROTHERS, original: ROLE_NAMES.SEER, isRevealed: false } },\n { role: { current: ROLE_NAMES.THREE_BROTHERS, original: ROLE_NAMES.WEREWOLF, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT, isRevealed: false } },\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return players when they have this role.\", () => {\n expect(getPlayersWithCurrentRole(game, ROLE_NAMES.THREE_BROTHERS)).toStrictEqual([players[0], players[1], players[2]]);\n });\n\n it(\"should return empty array when no one has the role.\", () => {\n expect(getPlayersWithCurrentRole(game, ROLE_NAMES.WEREWOLF)).toStrictEqual([]);\n });\n });\n\n describe(\"getPlayersWithCurrentSide\", () => {\n const players = bulkCreateFakePlayers(6, [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return werewolves when they have this side.\", () => {\n expect(getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES)).toStrictEqual([players[0], players[1], players[4], players[5]]);\n });\n\n it(\"should return villagers when they have this side.\", () => {\n expect(getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS)).toStrictEqual([players[2], players[3]]);\n });\n });\n\n describe(\"getPlayerWithId\", () => {\n it(\"should get player with specific id when called with this id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getPlayerWithId(game, players[2]._id)).toStrictEqual(players[2]);\n });\n \n it(\"should return undefined when called with unknown id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getPlayerWithId(game, createFakeObjectId())).toBeUndefined();\n });\n });\n\n describe(\"getPlayerWithIdOrThrow\", () => {\n it(\"should get player with specific id when called with this id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: players[2]._id.toString() };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n \n expect(getPlayerWithIdOrThrow(players[2]._id, game, exception)).toStrictEqual(players[2]);\n });\n\n it(\"should throw error when called with unknown id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const unknownPlayerId = createFakeObjectId();\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerId.toString() };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n \n expect(() => getPlayerWithIdOrThrow(unknownPlayerId, game, exception)).toThrow(exception);\n });\n });\n\n describe(\"getPlayerWithName\", () => {\n it(\"should get player with specific name when called with this name.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithName(game, players[2].name)).toStrictEqual(players[2]);\n });\n\n it(\"should return undefined when called with unknown name.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithName(game, \"i-cant-be-a-valid-name-that-is-bad\")).toBeUndefined();\n });\n });\n\n describe(\"getPlayerWithNameOrThrow\", () => {\n it(\"should get player with specific name when called with this id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: players[2].name };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n\n expect(getPlayerWithNameOrThrow(players[2].name, game, exception)).toStrictEqual(players[2]);\n });\n\n it(\"should throw error when called with unknown name.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const unknownPlayerName = \"i-cant-be-a-valid-name-that-is-bad\";\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerName };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n\n expect(() => getPlayerWithNameOrThrow(unknownPlayerName, game, exception)).toThrow(exception);\n });\n });\n\n describe(\"getAdditionalCardWithId\", () => {\n it(\"should get card with specific id when called with this id.\", () => {\n const cards = bulkCreateFakeGameAdditionalCards(6);\n \n expect(getAdditionalCardWithId(cards, cards[3]._id)).toStrictEqual(cards[3]);\n });\n\n it(\"should return undefined when cards are undefined.\", () => {\n expect(getAdditionalCardWithId(undefined, createFakeObjectId())).toBeUndefined();\n });\n\n it(\"should return undefined when called with unknown id.\", () => {\n const cards = bulkCreateFakeGameAdditionalCards(6);\n \n expect(getAdditionalCardWithId(cards, createFakeObjectId())).toBeUndefined();\n });\n });\n\n describe(\"areAllWerewolvesAlive\", () => {\n const players = bulkCreateFakePlayers(6, [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return false when empty array is provided.\", () => {\n expect(areAllWerewolvesAlive(createFakeGame())).toBe(false);\n });\n\n it(\"should return true when all werewolves are alive.\", () => {\n expect(areAllWerewolvesAlive(game)).toBe(true);\n });\n\n it(\"should return true when at least one werewolf is dead.\", () => {\n const notAllAlivePlayers = players.map(player => createFakePlayer(player));\n notAllAlivePlayers[0].isAlive = false;\n const notAllAliveGame = createFakeGame({ players: notAllAlivePlayers });\n \n expect(areAllWerewolvesAlive(notAllAliveGame)).toBe(false);\n });\n });\n\n describe(\"areAllVillagersAlive\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return false when empty array is provided.\", () => {\n expect(areAllVillagersAlive(createFakeGame())).toBe(false);\n });\n\n it(\"should return true when all villagers are alive.\", () => {\n expect(areAllVillagersAlive(game)).toBe(true);\n });\n\n it(\"should return true when at least one villager is dead.\", () => {\n const notAllAlivePlayers = players.map(player => createFakePlayer(player));\n notAllAlivePlayers[1].isAlive = false;\n const notAllAliveGame = createFakeGame({ players: notAllAlivePlayers });\n \n expect(areAllVillagersAlive(notAllAliveGame)).toBe(false);\n });\n });\n\n describe(\"areAllPlayersDead\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakePlayer({ isAlive: false }),\n createFakePlayer({ isAlive: false }),\n createFakePlayer({ isAlive: true }),\n createFakePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return false when empty array is provided.\", () => {\n expect(areAllPlayersDead(createFakeGame())).toBe(false);\n });\n\n it(\"should return false when at least one player is alive.\", () => {\n expect(areAllPlayersDead(game)).toBe(false);\n });\n\n it(\"should return true when all players are dead.\", () => {\n game.players[2].isAlive = false;\n \n expect(areAllPlayersDead(game)).toBe(true);\n });\n });\n\n describe(\"getPlayerWithActiveAttributeName\", () => {\n it(\"should return first player with attribute when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n { attributes: [] },\n { attributes: [createFakeEatenByWerewolvesPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n ]);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.CHARMED)).toStrictEqual(players[2]);\n });\n\n it(\"should return undefined when player with attribute is not found.\", () => {\n const players = bulkCreateFakePlayers(4, [\n { attributes: [] },\n { attributes: [createFakeEatenByWerewolvesPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n ]);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SEEN)).toBeUndefined();\n });\n });\n\n describe(\"getPlayersWithActiveAttributeName\", () => {\n const players = bulkCreateFakePlayers(4, [\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [createFakeEatenByWerewolvesPlayerAttribute()] },\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return players when they have the attribute.\", () => {\n expect(getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.CHARMED)).toStrictEqual([players[0], players[2]]);\n });\n\n it(\"should return empty array when none has the attribute.\", () => {\n expect(getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SEEN)).toStrictEqual([]);\n });\n });\n\n describe(\"getAlivePlayers\", () => {\n it(\"should get all alive players when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(getAlivePlayers(game)).toStrictEqual([players[0], players[1], players[3]]);\n });\n });\n\n describe(\"getAliveVillagerSidedPlayers\", () => {\n it(\"should get all alive villager sided players when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(getAliveVillagerSidedPlayers(game)).toStrictEqual([players[1]]);\n });\n });\n\n describe(\"getAliveWerewolfSidedPlayers\", () => {\n it(\"should get all alive werewolf sided players when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n \n expect(getAliveWerewolfSidedPlayers(game)).toStrictEqual([players[0]]);\n });\n });\n\n describe(\"getLeftToCharmByPiedPiperPlayers\", () => {\n it(\"should get left to charm by pied piper players when called.\", () => {\n const players = bulkCreateFakePlayers(5, [\n createFakeWerewolfAlivePlayer({ attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakePiedPiperAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false, attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(getLeftToCharmByPiedPiperPlayers(game)).toStrictEqual([players[2], players[4]]);\n });\n });\n\n describe(\"getLeftToEatByWerewolvesPlayers\", () => {\n it(\"should return left to eat by werewolves players when called.\", () => {\n const players = bulkCreateFakePlayers(5, [\n createFakeWerewolfAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n expect(getLeftToEatByWerewolvesPlayers(game)).toStrictEqual([players[1]]);\n });\n });\n\n describe(\"getLeftToEatByWhiteWerewolfPlayers\", () => {\n it(\"should return left to eat by white werewolf players when called.\", () => {\n const players = bulkCreateFakePlayers(5, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n expect(getLeftToEatByWhiteWerewolfPlayers(game)).toStrictEqual([players[4]]);\n });\n });\n\n describe(\"getGroupOfPlayers\", () => {\n const players = bulkCreateFakePlayers(6, [\n createFakeVillagerAlivePlayer({ attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWhiteWerewolfAlivePlayer({ attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return all players when group is all.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.ALL)).toStrictEqual(players);\n });\n\n it(\"should return players in love when group is lovers.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.LOVERS)).toStrictEqual([players[2], players[5]]);\n });\n\n it(\"should return charmed players when group is charmed.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.CHARMED)).toStrictEqual([players[0], players[3]]);\n });\n\n it(\"should return villagers when group is villagers.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.VILLAGERS)).toStrictEqual([players[0], players[2], players[4]]);\n });\n\n it(\"should return werewolves when group is werewolves.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.WEREWOLVES)).toStrictEqual([players[1], players[3], players[5]]);\n });\n });\n\n describe(\"isGameSourceRole\", () => {\n it(\"should return true when source is role.\", () => {\n expect(isGameSourceRole(ROLE_NAMES.WITCH)).toBe(true);\n });\n\n it(\"should return false when source is group.\", () => {\n expect(isGameSourceRole(PLAYER_GROUPS.ALL)).toBe(false);\n });\n });\n\n describe(\"isGameSourceGroup\", () => {\n it(\"should return true when source is group.\", () => {\n expect(isGameSourceGroup(PLAYER_GROUPS.WEREWOLVES)).toBe(true);\n });\n\n it(\"should return false when source is role.\", () => {\n expect(isGameSourceGroup(ROLE_NAMES.SEER)).toBe(false);\n });\n });\n\n describe(\"getNonexistentPlayerId\", () => {\n it(\"should return undefined when all candidate ids are found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayerId(game, players.map(player => player._id))).toBeUndefined();\n });\n\n it(\"should return unknown id when one candidate id is not found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const unknownId = createFakeObjectId();\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayerId(game, [...players.map(player => player._id), unknownId])).toStrictEqual(unknownId);\n });\n });\n\n describe(\"getNonexistentPlayer\", () => {\n it(\"should return undefined when all candidate ids are found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayer(game, players)).toBeUndefined();\n });\n\n it(\"should return unknown id when one candidate id is not found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const otherPlayer = createFakePlayer();\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayer(game, [...players, otherPlayer])).toStrictEqual(otherPlayer);\n });\n });\n\n describe(\"getFoxSniffedPlayers\", () => {\n it(\"should get 3 targets with left and right neighbors when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n createFakePlayer(players[0]),\n ];\n\n expect(getFoxSniffedPlayers(players[3]._id, game)).toStrictEqual(expectedPlayers);\n });\n\n it(\"should get 3 targets with left neighbor when right is dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n createFakePlayer(players[1]),\n ];\n\n expect(getFoxSniffedPlayers(players[3]._id, game)).toStrictEqual(expectedPlayers);\n });\n\n it(\"should get 2 targets with left neighbor when all rights are dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ];\n\n expect(getFoxSniffedPlayers(players[3]._id, game)).toStrictEqual(expectedPlayers);\n });\n \n it(\"should get only 1 target when all neighbors.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [createFakePlayer(players[2])];\n\n expect(getFoxSniffedPlayers(players[2]._id, game)).toStrictEqual(expectedPlayers);\n });\n\n it(\"should throw error when player is not found in game.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const unknownPlayerId = createFakeObjectId();\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerId.toString() };\n const exception = new UnexpectedException(\"getFoxSniffedTargets\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n\n expect(() => getFoxSniffedPlayers(unknownPlayerId, game)).toThrow(exception);\n });\n });\n\n describe(\"getNearestAliveNeighbor\", () => {\n it(\"should throw error when player is not found in game.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeVillagerAlivePlayer({ position: 5 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"right\" };\n const unknownPlayerId = createFakeObjectId();\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerId.toString() };\n const exception = new UnexpectedException(\"getNearestAliveNeighbor\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n \n expect(() => getNearestAliveNeighbor(unknownPlayerId, game, options)).toThrow(exception);\n });\n\n it(\"should get the nearest right alive player when called with right direction.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"right\" };\n \n expect(getNearestAliveNeighbor(players[5]._id, game, options)).toStrictEqual(players[1]);\n });\n\n it(\"should get the nearest left alive player when called with left direction.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\" };\n \n expect(getNearestAliveNeighbor(players[5]._id, game, options)).toStrictEqual(players[4]);\n });\n\n it(\"should get the nearest left alive villager player when called with left direction and villager side.\", () => {\n const players = [\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.VILLAGERS };\n \n expect(getNearestAliveNeighbor(players[3]._id, game, options)).toStrictEqual(players[1]);\n });\n\n it(\"should get the nearest left alive werewolf player when called with left direction and werewolf side.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES };\n \n expect(getNearestAliveNeighbor(players[1]._id, game, options)).toStrictEqual(players[0]);\n });\n\n it(\"should return undefined when can't find player with conditions.\", () => {\n const players = [\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeWerewolfAlivePlayer({ position: 2, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES };\n \n expect(getNearestAliveNeighbor(players[4]._id, game, options)).toBeUndefined();\n });\n\n it(\"should return undefined when there are no alive players.\", () => {\n const players = [\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 4, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 2, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES };\n \n expect(getNearestAliveNeighbor(players[4]._id, game, options)).toBeUndefined();\n });\n });\n\n describe(\"getExpectedPlayersToPlay\", () => {\n it(\"should throw error when there is no current play.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players });\n const interpolations = { gameId: game._id };\n \n expect(() => getExpectedPlayersToPlay(game)).toThrow(undefined);\n expect(mocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"getExpectedPlayersToPlay\", interpolations);\n });\n\n it(\"should return alive werewolves when source is group of werewolves.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayWerewolvesEat() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([\n players[0],\n players[2],\n ]);\n });\n \n it(\"should return alive two sisters when source is specific role.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayTwoSistersMeetEachOther() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[3]]);\n });\n\n it(\"should not return sheriff when source is sheriff but action is not DELEGATE and sheriff is dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([]);\n });\n\n it(\"should return sheriff when source is sheriff and action is DELEGATE even if he is dying.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlaySheriffDelegates() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[5]]);\n });\n\n it(\"should return hunter when source is hunter and action is SHOOT even if he is dying.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeHunterAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayHunterShoots() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[5]]);\n });\n\n it(\"should return scapegoat when source is scapegoat and action is BAN_VOTING even if he is dying.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeScapegoatAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayScapegoatBansVoting() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[5]]);\n });\n });\n});" - }, - "tests/e2e/specs/modules/game/controllers/game.controller.e2e-spec.ts": { - "tests": [ + }, { - "id": "533", - "name": "Game Controller GET /games should get no games when no populate yet.", + "id": "561", + "name": "Game Helper areAllPlayersDead should return false when empty array is provided.", "location": { "start": { "column": 6, - "line": 69 + "line": 266 } } }, { - "id": "534", - "name": "Game Controller GET /games should get 3 games when 3 games were created.", + "id": "562", + "name": "Game Helper areAllPlayersDead should return false when at least one player is alive.", "location": { "start": { "column": 6, - "line": 79 + "line": 270 } } }, { - "id": "535", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when there is not enough players [#0].", + "id": "563", + "name": "Game Helper areAllPlayersDead should return true when all players are dead.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 274 } } }, { - "id": "536", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when there is not enough players [#1].", + "id": "564", + "name": "Game Helper getPlayerWithActiveAttributeName should return first player with attribute when called.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 282 } } }, { - "id": "537", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when the maximum of players is reached [#2].", + "id": "565", + "name": "Game Helper getPlayerWithActiveAttributeName should return undefined when player with attribute is not found.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 294 } } }, { - "id": "538", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when one of the player name is too short [#3].", + "id": "566", + "name": "Game Helper getPlayersWithActiveAttributeName should return players when they have the attribute.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 316 } } }, { - "id": "539", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when one of the player name is too long [#4].", + "id": "567", + "name": "Game Helper getPlayersWithActiveAttributeName should return empty array when none has the attribute.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 320 } } }, { - "id": "540", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when two players have the same name [#5].", + "id": "568", + "name": "Game Helper getAlivePlayers should get all alive players when called.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 326 } } }, { - "id": "541", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when werewolf is in excluded roles [#6].", + "id": "569", + "name": "Game Helper getAliveVillagerSidedPlayers should get all alive villager sided players when called.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 340 } } }, { - "id": "542", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when villager is in excluded roles [#7].", + "id": "570", + "name": "Game Helper getAliveWerewolfSidedPlayers should get all alive werewolf sided players when called.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 354 } } }, { - "id": "543", - "name": "Game Controller GET /games/random-composition should not allow getting random game composition when there is twice the same excluded role [#8].", + "id": "571", + "name": "Game Helper getLeftToCharmByPiedPiperPlayers should get left to charm by pied piper players when called.", "location": { "start": { - "column": 8, - "line": 157 + "column": 6, + "line": 368 } } }, { - "id": "544", - "name": "Game Controller GET /games/random-composition should get random composition when called.", + "id": "572", + "name": "Game Helper getLeftToEatByWerewolvesPlayers should return left to eat by werewolves players when called.", "location": { "start": { "column": 6, - "line": 171 + "line": 383 } } }, { - "id": "545", - "name": "Game Controller GET /game/:id should get a bad request error when id is not mongoId.", + "id": "573", + "name": "Game Helper getLeftToEatByWhiteWerewolfPlayers should return left to eat by white werewolf players when called.", "location": { "start": { "column": 6, - "line": 231 + "line": 398 } } }, { - "id": "546", - "name": "Game Controller GET /game/:id should get a not found error when id doesn't exist in base.", + "id": "574", + "name": "Game Helper getGroupOfPlayers should return all players when group is all.", "location": { "start": { "column": 6, - "line": 241 + "line": 423 } } }, { - "id": "547", - "name": "Game Controller GET /game/:id should get a game when id exists in base.", + "id": "575", + "name": "Game Helper getGroupOfPlayers should return players in love when group is lovers.", "location": { "start": { "column": 6, - "line": 252 + "line": 427 } } }, { - "id": "548", - "name": "Game Controller POST /games should not allow game creation when no players are provided [#0].", + "id": "576", + "name": "Game Helper getGroupOfPlayers should return charmed players when group is charmed.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 431 } } }, { - "id": "549", - "name": "Game Controller POST /games should not allow game creation when the minimum of players is not reached [#1].", + "id": "577", + "name": "Game Helper getGroupOfPlayers should return villagers when group is villagers.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 435 } } }, { - "id": "550", - "name": "Game Controller POST /games should not allow game creation when the maximum of players is reached [#2].", + "id": "578", + "name": "Game Helper getGroupOfPlayers should return werewolves when group is werewolves.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 439 } } }, { - "id": "551", - "name": "Game Controller POST /games should not allow game creation when one of the player name is too short [#3].", + "id": "579", + "name": "Game Helper isGameSourceRole should return true when source is role.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 445 } } }, { - "id": "552", - "name": "Game Controller POST /games should not allow game creation when one of the player name is too long [#4].", + "id": "580", + "name": "Game Helper isGameSourceRole should return false when source is group.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 449 } } }, { - "id": "553", - "name": "Game Controller POST /games should not allow game creation when two players have the same name [#5].", + "id": "581", + "name": "Game Helper isGameSourceGroup should return true when source is group.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 455 } } }, { - "id": "554", - "name": "Game Controller POST /games should not allow game creation when there is only one brother in the same game [#6].", + "id": "582", + "name": "Game Helper isGameSourceGroup should return false when source is role.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 459 } } }, { - "id": "555", - "name": "Game Controller POST /games should not allow game creation when there is two witches in the same game [#7].", + "id": "583", + "name": "Game Helper getNonexistentPlayerId should return undefined when all candidate ids are found.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 465 } } }, { - "id": "556", - "name": "Game Controller POST /games should not allow game creation when there is no villager in game's composition [#8].", + "id": "584", + "name": "Game Helper getNonexistentPlayerId should return unknown id when one candidate id is not found.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 472 } } }, { - "id": "557", - "name": "Game Controller POST /games should not allow game creation when there is no werewolf in game's composition [#9].", + "id": "585", + "name": "Game Helper getNonexistentPlayer should return undefined when all candidate ids are found.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 482 } } }, { - "id": "558", - "name": "Game Controller POST /games should not allow game creation when one of the player position is lower than 0 [#10].", + "id": "586", + "name": "Game Helper getNonexistentPlayer should return unknown id when one candidate id is not found.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 489 } } }, { - "id": "559", - "name": "Game Controller POST /games should not allow game creation when one of the player position is not consistent faced to others [#11].", + "id": "587", + "name": "Game Helper getFoxSniffedPlayers should get 3 targets with left and right neighbors when called.", "location": { "start": { - "column": 8, - "line": 369 + "column": 6, + "line": 499 } } }, { - "id": "560", - "name": "Game Controller POST /games should create game when called.", + "id": "588", + "name": "Game Helper getFoxSniffedPlayers should get 3 targets with left neighbor when right is dead.", "location": { "start": { "column": 6, - "line": 383 + "line": 516 } } }, { - "id": "561", - "name": "Game Controller POST /games should create game with different options when called with options specified and some omitted.", + "id": "589", + "name": "Game Helper getFoxSniffedPlayers should get 2 targets with left neighbor when all rights are dead.", "location": { "start": { "column": 6, - "line": 442 + "line": 533 } } }, { - "id": "562", - "name": "Game Controller DELETE /game/:id should get a bad request error when id is not mongoId.", + "id": "590", + "name": "Game Helper getFoxSniffedPlayers should get only 1 target when all neighbors.", "location": { "start": { "column": 6, - "line": 504 + "line": 549 } } }, { - "id": "563", - "name": "Game Controller DELETE /game/:id should get a not found error when id doesn't exist in base.", + "id": "591", + "name": "Game Helper getFoxSniffedPlayers should throw error when player is not found in game.", "location": { "start": { "column": 6, - "line": 514 + "line": 562 } } }, { - "id": "564", - "name": "Game Controller DELETE /game/:id should get a bad request error when game doesn't have playing status.", + "id": "592", + "name": "Game Helper getNearestAliveNeighbor should throw error when player is not found in game.", "location": { "start": { "column": 6, - "line": 525 + "line": 579 } } }, { - "id": "565", - "name": "Game Controller DELETE /game/:id should update game status to canceled when called.", + "id": "593", + "name": "Game Helper getNearestAliveNeighbor should get the nearest right alive player when called with right direction.", "location": { "start": { "column": 6, - "line": 541 + "line": 597 } } }, { - "id": "566", - "name": "Game Controller POST /game/:id/play should not allow game play when game id is not a mongo id.", + "id": "594", + "name": "Game Helper getNearestAliveNeighbor should get the nearest left alive player when called with left direction.", "location": { "start": { "column": 6, - "line": 560 + "line": 612 } } }, { - "id": "567", - "name": "Game Controller POST /game/:id/play should not allow game play when player ids in targets must be unique [#0].", + "id": "595", + "name": "Game Helper getNearestAliveNeighbor should get the nearest left alive villager player when called with left direction and villager side.", "location": { "start": { - "column": 8, - "line": 586 + "column": 6, + "line": 627 } } }, { - "id": "568", - "name": "Game Controller POST /game/:id/play should not allow game play when player ids in targets must be unique [#1].", + "id": "596", + "name": "Game Helper getNearestAliveNeighbor should get the nearest left alive werewolf player when called with left direction and werewolf side.", "location": { "start": { - "column": 8, - "line": 586 + "column": 6, + "line": 642 } } }, { - "id": "569", - "name": "Game Controller POST /game/:id/play should not allow game play when game id not found.", + "id": "597", + "name": "Game Helper getNearestAliveNeighbor should return undefined when can't find player with conditions.", "location": { "start": { "column": 6, - "line": 600 + "line": 657 } } }, { - "id": "570", - "name": "Game Controller POST /game/:id/play should not allow game play when payload contains unknown resources id.", + "id": "598", + "name": "Game Helper getNearestAliveNeighbor should return undefined when there are no alive players.", "location": { "start": { "column": 6, - "line": 611 + "line": 672 } } }, { - "id": "571", - "name": "Game Controller POST /game/:id/play should not allow game play when payload is not valid.", + "id": "599", + "name": "Game Helper getExpectedPlayersToPlay should throw error when there is no current play.", "location": { "start": { "column": 6, - "line": 640 + "line": 689 } } }, { - "id": "572", - "name": "Game Controller POST /game/:id/play should make a game play when called with votes.", + "id": "600", + "name": "Game Helper getExpectedPlayersToPlay should return alive werewolves when source is group of werewolves.", "location": { "start": { "column": 6, - "line": 670 + "line": 703 } } }, { - "id": "573", - "name": "Game Controller POST /game/:id/play should make a game play when called with targets.", + "id": "601", + "name": "Game Helper getExpectedPlayersToPlay should return alive two sisters when source is specific role.", "location": { "start": { "column": 6, - "line": 713 + "line": 718 } } }, { - "id": "574", - "name": "Game Controller GET /games/:id/history should get a bad request error when id is not mongoId.", + "id": "602", + "name": "Game Helper getExpectedPlayersToPlay should not return sheriff when source is sheriff but action is not DELEGATE and sheriff is dead.", "location": { "start": { "column": 6, - "line": 766 + "line": 732 } } }, { - "id": "575", - "name": "Game Controller GET /games/:id/history should get a not found error when id doesn't exist in base.", + "id": "603", + "name": "Game Helper getExpectedPlayersToPlay should return sheriff when source is sheriff and action is DELEGATE even if he is dying.", "location": { "start": { "column": 6, - "line": 776 + "line": 746 } } }, { - "id": "576", - "name": "Game Controller GET /games/:id/history should return no game history records when game doesn't have any.", + "id": "604", + "name": "Game Helper getExpectedPlayersToPlay should return hunter when source is hunter and action is SHOOT even if he is dying.", "location": { "start": { "column": 6, - "line": 787 + "line": 760 } } }, { - "id": "577", - "name": "Game Controller GET /games/:id/history should return 3 game history records when game have 3 records.", + "id": "605", + "name": "Game Helper getExpectedPlayersToPlay should return scapegoat when source is scapegoat and action is BAN_VOTING even if he is dying.", "location": { "start": { "column": 6, - "line": 807 + "line": 774 } } } ], - "source": "import { faker } from \"@faker-js/faker\";\nimport type { BadRequestException, NotFoundException } from \"@nestjs/common\";\nimport { HttpStatus } from \"@nestjs/common\";\nimport { getModelToken } from \"@nestjs/mongoose\";\nimport type { NestFastifyApplication } from \"@nestjs/platform-fastify\";\nimport type { Model, Types } from \"mongoose\";\nimport { stringify } from \"qs\";\nimport { defaultGameOptions } from \"../../../../../../src/modules/game/constants/game-options/game-options.constant\";\nimport type { CreateGamePlayerDto } from \"../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player.dto\";\nimport type { CreateGameDto } from \"../../../../../../src/modules/game/dto/create-game/create-game.dto\";\nimport type { GetGameRandomCompositionDto } from \"../../../../../../src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto\";\nimport type { MakeGamePlayDto } from \"../../../../../../src/modules/game/dto/make-game-play/make-game-play.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES } from \"../../../../../../src/modules/game/enums/game-play.enum\";\nimport { GAME_PHASES, GAME_STATUSES } from \"../../../../../../src/modules/game/enums/game.enum\";\nimport { PLAYER_GROUPS } from \"../../../../../../src/modules/game/enums/player.enum\";\nimport { GameHistoryRecord } from \"../../../../../../src/modules/game/schemas/game-history-record/game-history-record.schema\";\nimport type { GameOptions } from \"../../../../../../src/modules/game/schemas/game-options/game-options.schema\";\nimport type { GamePlay } from \"../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport { Game } from \"../../../../../../src/modules/game/schemas/game.schema\";\nimport type { Player } from \"../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeGameOptionsDto } from \"../../../../../factories/game/dto/create-game/create-game-options/create-game-options.dto.factory\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto, createFakeCreateGameWithPlayersDto } from \"../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeMakeGamePlayDto } from \"../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory\";\nimport { createFakeGameHistoryRecord } from \"../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory\";\nimport { createFakeCompositionGameOptions } from \"../../../../../factories/game/schemas/game-options/composition-game-options.schema.factory\";\nimport { createFakeGameOptions } from \"../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeVotesGameOptions } from \"../../../../../factories/game/schemas/game-options/votes-game-options.schema.factory\";\nimport { createFakeGamePlaySource } from \"../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlayAllVote, createFakeGamePlayCupidCharms, createFakeGamePlayLoversMeetEachOther, createFakeGamePlaySeerLooks, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeSeenBySeerPlayerAttribute } from \"../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createObjectIdFromString } from \"../../../../../helpers/mongoose/mongoose.helper\";\nimport { toJSON } from \"../../../../../helpers/object/object.helper\";\nimport type { ExceptionResponse } from \"../../../../../types/exception/exception.types\";\nimport { initNestApp } from \"../../../../helpers/nest-app.helper\";\n\ndescribe(\"Game Controller\", () => {\n let app: NestFastifyApplication;\n let models: {\n game: Model;\n gameHistoryRecord: Model;\n };\n\n beforeAll(async() => {\n const { app: server, module } = await initNestApp();\n app = server;\n models = {\n game: module.get>(getModelToken(Game.name)),\n gameHistoryRecord: module.get>(getModelToken(GameHistoryRecord.name)),\n };\n });\n\n afterEach(async() => {\n await Promise.all([\n models.game.deleteMany(),\n models.gameHistoryRecord.deleteMany(),\n ]);\n });\n\n afterAll(async() => {\n await app.close();\n });\n\n describe(\"GET /games\", () => {\n it(\"should get no games when no populate yet.\", async() => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual([]);\n });\n\n it(\"should get 3 games when 3 games were created.\", async() => {\n const games = [\n createFakeGameWithCurrentPlay(),\n createFakeGameWithCurrentPlay(),\n createFakeGameWithCurrentPlay(),\n ];\n await models.game.create(games);\n const response = await app.inject({\n method: \"GET\",\n url: \"/games\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toHaveLength(3);\n });\n });\n\n describe(\"GET /games/random-composition\", () => {\n it.each<{ query: Record; test: string; errorMessage: string }>([\n {\n query: { players: undefined },\n test: \"there is not enough players\",\n errorMessage: \"players must contain at least 4 elements\",\n },\n {\n query: { players: [{ name: \"Antoine\" }] },\n test: \"there is not enough players\",\n errorMessage: \"players must contain at least 4 elements\",\n },\n {\n query: { players: bulkCreateFakeCreateGamePlayerDto(45) },\n test: \"the maximum of players is reached\",\n errorMessage: \"players must contain no more than 40 elements\",\n },\n {\n query: { players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: \"\" }]) },\n test: \"one of the player name is too short\",\n errorMessage: \"players.0.name must be longer than or equal to 1 characters\",\n },\n {\n query: { players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: faker.string.sample(31) }]) },\n test: \"one of the player name is too long\",\n errorMessage: \"players.0.name must be shorter than or equal to 30 characters\",\n },\n {\n query: {\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { name: \"John\" },\n { name: \"John\" },\n ]),\n },\n test: \"two players have the same name\",\n errorMessage: \"players.name must be unique\",\n },\n {\n query: {\n \"players\": bulkCreateFakeCreateGamePlayerDto(4),\n \"excluded-roles\": [ROLE_NAMES.WEREWOLF, ROLE_NAMES.SEER],\n },\n test: \"werewolf is in excluded roles\",\n errorMessage: \"excludedRoles should not contain villager, werewolf values\",\n },\n {\n query: {\n players: bulkCreateFakeCreateGamePlayerDto(4),\n excludedRoles: [ROLE_NAMES.VILLAGER, ROLE_NAMES.SEER],\n },\n test: \"villager is in excluded roles\",\n errorMessage: \"excludedRoles should not contain villager, werewolf values\",\n },\n {\n query: {\n players: bulkCreateFakeCreateGamePlayerDto(4),\n excludedRoles: [ROLE_NAMES.SEER, ROLE_NAMES.SEER],\n },\n test: \"there is twice the same excluded role\",\n errorMessage: \"excluded roles must be unique\",\n },\n ])(\"should not allow getting random game composition when $test [#$#].\", async({\n query,\n errorMessage,\n }) => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/random-composition\",\n query: stringify(query),\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toContainEqual(errorMessage);\n });\n\n it(\"should get random composition when called.\", async() => {\n const query: Partial = {\n players: bulkCreateFakeCreateGamePlayerDto(40, [\n { name: \"1\" },\n { name: \"2\" },\n { name: \"3\" },\n { name: \"4\" },\n { name: \"5\" },\n { name: \"6\" },\n { name: \"7\" },\n { name: \"8\" },\n { name: \"9\" },\n { name: \"10\" },\n { name: \"11\" },\n { name: \"12\" },\n { name: \"13\" },\n { name: \"14\" },\n { name: \"15\" },\n { name: \"16\" },\n { name: \"17\" },\n { name: \"18\" },\n { name: \"19\" },\n { name: \"20\" },\n { name: \"21\" },\n { name: \"22\" },\n { name: \"23\" },\n { name: \"24\" },\n { name: \"25\" },\n { name: \"26\" },\n { name: \"27\" },\n { name: \"28\" },\n { name: \"29\" },\n { name: \"30\" },\n { name: \"31\" },\n { name: \"32\" },\n { name: \"33\" },\n { name: \"34\" },\n { name: \"35\" },\n { name: \"36\" },\n { name: \"37\" },\n { name: \"38\" },\n { name: \"39\" },\n { name: \"40\" },\n ]), arePowerfulVillagerRolesPrioritized: false,\n };\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/random-composition\",\n query: stringify(query),\n });\n const players = response.json();\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(players).toSatisfyAll(({ role, side }) =>\n role.current !== undefined && role.current === role.original &&\n side.current !== undefined && side.current === side.original);\n });\n });\n\n describe(\"GET /game/:id\", () => {\n it(\"should get a bad request error when id is not mongoId.\", async() => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/123\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it(\"should get a not found error when id doesn't exist in base.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${unknownId}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should get a game when id exists in base.\", async() => {\n const game = createFakeGameWithCurrentPlay();\n await models.game.create(game);\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${game._id.toString()}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(game) as Game,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n });\n\n describe(\"POST /games\", () => {\n it.each<{ payload: CreateGameDto; test: string; errorMessage: string }>([\n {\n payload: createFakeCreateGameDto({}, { players: undefined }),\n test: \"no players are provided\",\n errorMessage: \"players must be an array\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(3) }),\n test: \"the minimum of players is not reached\",\n errorMessage: \"players must contain at least 4 elements\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(45) }),\n test: \"the maximum of players is reached\",\n errorMessage: \"players must contain no more than 40 elements\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: \"\" }]) }),\n test: \"one of the player name is too short\",\n errorMessage: \"players.0.name must be longer than or equal to 1 characters\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(4, [{ name: faker.string.sample(31) }]) }),\n test: \"one of the player name is too long\",\n errorMessage: \"players.0.name must be shorter than or equal to 30 characters\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { name: \"John\", role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { name: \"John\" },\n ]),\n }),\n test: \"two players have the same name\",\n errorMessage: \"players.name must be unique\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.SEER } },\n ]),\n }),\n test: \"there is only one brother in the same game\",\n errorMessage: \"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WITCH } },\n ]),\n }),\n test: \"there is two witches in the same game\",\n errorMessage: \"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]),\n }),\n test: \"there is no villager in game's composition\",\n errorMessage: \"one of the players.role must have at least one role from `villagers` side\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.PIED_PIPER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n ]),\n }),\n test: \"there is no werewolf in game's composition\",\n errorMessage: \"one of the players.role must have at least one role from `werewolves` side\",\n },\n {\n payload: createFakeCreateGameDto({ players: bulkCreateFakeCreateGamePlayerDto(4, [{ position: -1 }]) }),\n test: \"one of the player position is lower than 0\",\n errorMessage: \"players.0.position must not be less than 0\",\n },\n {\n payload: createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.PIED_PIPER }, position: 1 },\n { role: { name: ROLE_NAMES.WITCH }, position: 2 },\n { role: { name: ROLE_NAMES.SEER }, position: 666 },\n ]),\n }),\n test: \"one of the player position is not consistent faced to others\",\n errorMessage: \"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\",\n },\n ])(\"should not allow game creation when $test [#$#].\", async({\n payload,\n errorMessage,\n }) => {\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toContainEqual(errorMessage);\n });\n\n it(`should create game when called.`, async() => {\n const payload = createFakeCreateGameDto({\n players: bulkCreateFakeCreateGamePlayerDto(6, [\n { role: { name: ROLE_NAMES.VILLAGER }, name: \"Antoine\" },\n { role: { name: ROLE_NAMES.WEREWOLF }, name: \"Mathis\" },\n { role: { name: ROLE_NAMES.VILLAGER_VILLAGER }, name: \"Virgil\" },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF }, name: \"JB\" },\n { role: { name: ROLE_NAMES.CUPID }, name: \"Doudou\" },\n { role: { name: ROLE_NAMES.SEER }, name: \"Juju\" },\n ]),\n }, { options: undefined });\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n const expectedPlayers = payload.players.map((player, index) => ({\n _id: expect.any(String) as Types.ObjectId,\n name: player.name,\n role: {\n current: player.role.name,\n original: player.role.name,\n isRevealed: player.role.name === ROLE_NAMES.VILLAGER_VILLAGER,\n },\n side: {\n current: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES,\n original: [ROLE_NAMES.VILLAGER, ROLE_NAMES.VILLAGER_VILLAGER, ROLE_NAMES.CUPID, ROLE_NAMES.SEER].includes(player.role.name) ? ROLE_SIDES.VILLAGERS : ROLE_SIDES.WEREWOLVES,\n },\n attributes: [],\n position: index,\n isAlive: true,\n }));\n const expectedGame: Game = {\n _id: expect.any(String) as Types.ObjectId,\n phase: GAME_PHASES.NIGHT,\n status: GAME_STATUSES.PLAYING,\n turn: 1,\n tick: 1,\n players: expectedPlayers,\n currentPlay: {\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n source: { name: PLAYER_GROUPS.ALL, players: expectedPlayers },\n },\n upcomingPlays: toJSON([\n createFakeGamePlayCupidCharms(),\n createFakeGamePlaySeerLooks(),\n createFakeGamePlayLoversMeetEachOther(),\n createFakeGamePlayWerewolvesEat(),\n createFakeGamePlayWhiteWerewolfEats(),\n ]) as GamePlay[],\n options: defaultGameOptions,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n };\n\n expect(response.statusCode).toBe(HttpStatus.CREATED);\n expect(response.json()).toStrictEqual(expectedGame);\n });\n\n it(`should create game with different options when called with options specified and some omitted.`, async() => {\n const options: Partial = {\n roles: {\n areRevealedOnDeath: false,\n doSkipCallIfNoTarget: true,\n sheriff: {\n isEnabled: false,\n electedAt: {\n turn: 5,\n phase: GAME_PHASES.DAY,\n },\n hasDoubledVote: false,\n },\n bigBadWolf: { isPowerlessIfWerewolfDies: false },\n whiteWerewolf: { wakingUpInterval: 5 },\n seer: {\n isTalkative: false,\n canSeeRoles: false,\n },\n littleGirl: { isProtectedByGuard: true },\n guard: { canProtectTwice: true },\n ancient: {\n livesCountAgainstWerewolves: 1,\n doesTakeHisRevenge: false,\n },\n idiot: { doesDieOnAncientDeath: false },\n twoSisters: { wakingUpInterval: 0 },\n threeBrothers: { wakingUpInterval: 5 },\n fox: { isPowerlessIfMissesWerewolf: false },\n bearTamer: { doesGrowlIfInfected: false },\n stutteringJudge: { voteRequestsCount: 3 },\n wildChild: { isTransformationRevealed: true },\n dogWolf: { isChosenSideRevealed: true },\n thief: {\n mustChooseBetweenWerewolves: false,\n additionalCardsCount: 4,\n },\n piedPiper: {\n charmedPeopleCountPerNight: 1,\n isPowerlessIfInfected: false,\n },\n raven: { markPenalty: 5 },\n },\n };\n const payload = createFakeCreateGameWithPlayersDto({}, { options });\n const expectedOptions = createFakeGameOptionsDto({\n ...options,\n composition: createFakeCompositionGameOptions({ isHidden: defaultGameOptions.composition.isHidden }),\n votes: createFakeVotesGameOptions({ canBeSkipped: defaultGameOptions.votes.canBeSkipped }),\n });\n const response = await app.inject({\n method: \"POST\",\n url: \"/games\",\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.CREATED);\n expect(response.json().options).toStrictEqual(toJSON(expectedOptions) as GameOptions);\n });\n });\n\n describe(\"DELETE /game/:id\", () => {\n it(\"should get a bad request error when id is not mongoId.\", async() => {\n const response = await app.inject({\n method: \"DELETE\",\n url: \"/games/123\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it(\"should get a not found error when id doesn't exist in base.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"DELETE\",\n url: `/games/${unknownId}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should get a bad request error when game doesn't have playing status.\", async() => {\n const game = createFakeGameWithCurrentPlay({ status: GAME_STATUSES.CANCELED });\n await models.game.create(game);\n const response = await app.inject({\n method: \"DELETE\",\n url: `/games/${game._id.toString()}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json()).toStrictEqual({\n statusCode: HttpStatus.BAD_REQUEST,\n message: `Bad mutation for Game with id \"${game._id.toString()}\"`,\n error: `Game doesn't have status with value \"playing\"`,\n });\n });\n\n it(\"should update game status to canceled when called.\", async() => {\n const game = createFakeGameWithCurrentPlay({ status: GAME_STATUSES.PLAYING });\n await models.game.create(game);\n const response = await app.inject({\n method: \"DELETE\",\n url: `/games/${game._id.toString()}`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(game) as Game,\n status: GAME_STATUSES.CANCELED,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n });\n\n describe(\"POST /game/:id/play\", () => {\n it(\"should not allow game play when game id is not a mongo id.\", async() => {\n const response = await app.inject({\n method: \"POST\",\n url: `/games/123/play`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it.each<{ payload: MakeGamePlayDto; test: string; errorMessage: string }>([\n {\n payload: createFakeMakeGamePlayDto({ targets: [{ playerId: createObjectIdFromString(\"507f1f77bcf86cd799439011\") }, { playerId: createObjectIdFromString(\"507f1f77bcf86cd799439011\") }] }),\n test: \"player ids in targets must be unique\",\n errorMessage: \"targets.playerId must be unique\",\n },\n {\n payload: createFakeMakeGamePlayDto({\n votes: [\n { sourceId: createObjectIdFromString(\"507f1f77bcf86cd799439011\"), targetId: createObjectIdFromString(\"507f1f77bcf86cd799439012\") },\n { sourceId: createObjectIdFromString(\"507f1f77bcf86cd799439011\"), targetId: createObjectIdFromString(\"507f1f77bcf86cd799439012\") },\n ],\n }),\n test: \"player ids in targets must be unique\",\n errorMessage: \"votes.sourceId must be unique\",\n },\n ])(\"should not allow game play when $test [#$#].\", async({\n payload,\n errorMessage,\n }) => {\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${faker.database.mongodbObjectId()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toContainEqual(errorMessage);\n });\n\n it(\"should not allow game play when game id not found.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${unknownId}/play`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should not allow game play when payload contains unknown resources id.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGameWithCurrentPlay({\n status: GAME_STATUSES.PLAYING,\n upcomingPlays: [createFakeGamePlayAllVote()],\n players,\n });\n await models.game.create(game);\n const unknownPlayerId = faker.database.mongodbObjectId();\n const payload = createFakeMakeGamePlayDto({ targets: [{ playerId: createObjectIdFromString(unknownPlayerId) }] });\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json()).toStrictEqual({\n statusCode: HttpStatus.NOT_FOUND,\n message: `Player with id \"${unknownPlayerId.toString()}\" not found`,\n error: \"Game Play - Player in `targets.player` is not in the game players\",\n });\n });\n\n it(\"should not allow game play when payload is not valid.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const options = createFakeGameOptions({ votes: createFakeVotesGameOptions({ canBeSkipped: false }) });\n const game = createFakeGame({\n status: GAME_STATUSES.PLAYING,\n currentPlay: createFakeGamePlayAllVote(),\n players,\n options,\n });\n await models.game.create(game);\n const payload = createFakeMakeGamePlayDto({});\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json()).toStrictEqual({\n statusCode: HttpStatus.BAD_REQUEST,\n message: `Bad game play payload`,\n error: \"`votes` is required on this current game's state\",\n });\n });\n\n it(\"should make a game play when called with votes.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({\n status: GAME_STATUSES.PLAYING,\n currentPlay: createFakeGamePlayAllVote({ source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players }) }),\n upcomingPlays: [createFakeGamePlaySeerLooks()],\n players,\n });\n await models.game.create(game);\n const payload = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: players[0]._id, targetId: players[1]._id },\n { sourceId: players[1]._id, targetId: players[0]._id },\n ],\n });\n const expectedCurrentPlay = createFakeGamePlayAllVote({\n cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES,\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL, players }),\n });\n const expectedGame = createFakeGame({\n ...game,\n tick: game.tick + 1,\n currentPlay: expectedCurrentPlay,\n });\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(expectedGame) as Game,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n \n it(\"should make a game play when called with targets.\", async() => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({\n status: GAME_STATUSES.PLAYING,\n currentPlay: createFakeGamePlaySeerLooks({ source: createFakeGamePlaySource({ name: ROLE_NAMES.SEER, players: [players[1]] }) }),\n upcomingPlays: [createFakeGamePlayWerewolvesEat()],\n players,\n });\n await models.game.create(game);\n const payload = createFakeMakeGamePlayDto({ targets: [{ playerId: players[0]._id }] });\n const expectedCurrentPlay = createFakeGamePlayWerewolvesEat({\n source: createFakeGamePlaySource({\n name: PLAYER_GROUPS.WEREWOLVES,\n players: [createFakePlayer({ ...players[0], attributes: [createFakeSeenBySeerPlayerAttribute()] }), players[3]],\n }),\n });\n const expectedGame = createFakeGame({\n ...game,\n tick: game.tick + 1,\n currentPlay: expectedCurrentPlay,\n upcomingPlays: [],\n players: [\n createFakePlayer({ ...players[0], attributes: [createFakeSeenBySeerPlayerAttribute()] }),\n players[1],\n players[2],\n players[3],\n ],\n });\n const response = await app.inject({\n method: \"POST\",\n url: `/games/${game._id.toString()}/play`,\n payload,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual({\n ...toJSON(expectedGame) as Game,\n createdAt: expect.any(String) as Date,\n updatedAt: expect.any(String) as Date,\n });\n });\n });\n\n describe(\"GET /games/:id/history\", () => {\n afterEach(async() => {\n await models.gameHistoryRecord.deleteMany();\n });\n\n it(\"should get a bad request error when id is not mongoId.\", async() => {\n const response = await app.inject({\n method: \"GET\",\n url: \"/games/123/history\",\n });\n\n expect(response.statusCode).toBe(HttpStatus.BAD_REQUEST);\n expect(response.json().message).toBe(\"Validation failed (Mongo ObjectId is expected)\");\n });\n\n it(\"should get a not found error when id doesn't exist in base.\", async() => {\n const unknownId = faker.database.mongodbObjectId();\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${unknownId}/history`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.NOT_FOUND);\n expect(response.json().message).toBe(`Game with id \"${unknownId}\" not found`);\n });\n\n it(\"should return no game history records when game doesn't have any.\", async() => {\n const game = createFakeGameWithCurrentPlay();\n const secondGame = createFakeGameWithCurrentPlay();\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n ];\n await models.game.insertMany([game, secondGame]);\n await models.gameHistoryRecord.insertMany(gameHistoryRecords);\n\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${secondGame._id.toString()}/history`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual([]);\n });\n\n it(\"should return 3 game history records when game have 3 records.\", async() => {\n const game = createFakeGameWithCurrentPlay();\n const secondGame = createFakeGameWithCurrentPlay();\n const gameHistoryRecords = [\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n createFakeGameHistoryRecord({ gameId: game._id }),\n ];\n await models.game.insertMany([game, secondGame]);\n await models.gameHistoryRecord.insertMany(gameHistoryRecords);\n\n const response = await app.inject({\n method: \"GET\",\n url: `/games/${game._id.toString()}/history`,\n });\n\n expect(response.statusCode).toBe(HttpStatus.OK);\n expect(response.json()).toStrictEqual([\n {\n ...toJSON(gameHistoryRecords[0]),\n createdAt: expect.any(String) as Date,\n },\n {\n ...toJSON(gameHistoryRecords[1]),\n createdAt: expect.any(String) as Date,\n },\n {\n ...toJSON(gameHistoryRecords[2]),\n createdAt: expect.any(String) as Date,\n },\n ] as GameHistoryRecord[]);\n });\n });\n});" + "source": "import { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../src/modules/game/enums/player.enum\";\nimport { areAllPlayersDead, areAllVillagersAlive, areAllWerewolvesAlive, getAdditionalCardWithId, getAlivePlayers, getAliveVillagerSidedPlayers, getAliveWerewolfSidedPlayers, getExpectedPlayersToPlay, getFoxSniffedPlayers, getGroupOfPlayers, getLeftToCharmByPiedPiperPlayers, getLeftToEatByWerewolvesPlayers, getLeftToEatByWhiteWerewolfPlayers, getNearestAliveNeighbor, getNonexistentPlayer, getNonexistentPlayerId, getPlayerDtoWithRole, getPlayersWithActiveAttributeName, getPlayersWithCurrentRole, getPlayersWithCurrentSide, getPlayerWithActiveAttributeName, getPlayerWithCurrentRole, getPlayerWithId, getPlayerWithIdOrThrow, getPlayerWithName, getPlayerWithNameOrThrow, isGameSourceGroup, isGameSourceRole } from \"../../../../../../src/modules/game/helpers/game.helper\";\nimport type { Player } from \"../../../../../../src/modules/game/schemas/player/player.schema\";\nimport type { GetNearestPlayerOptions } from \"../../../../../../src/modules/game/types/game.type\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../src/modules/role/enums/role.enum\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../../../../../../src/shared/exception/enums/unexpected-exception.enum\";\nimport * as UnexpectedExceptionFactory from \"../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport type { ExceptionInterpolations } from \"../../../../../../src/shared/exception/types/exception.type\";\nimport { UnexpectedException } from \"../../../../../../src/shared/exception/types/unexpected-exception.type\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards } from \"../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGamePlayHunterShoots, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayTwoSistersMeetEachOther, createFakeGamePlayWerewolvesEat } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCharmedByPiedPiperPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute, createFakeInLoveByCupidPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeHunterAlivePlayer, createFakePiedPiperAlivePlayer, createFakeScapegoatAlivePlayer, createFakeSeerAlivePlayer, createFakeTwoSistersAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer, createFakeWhiteWerewolfAlivePlayer } from \"../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../factories/shared/mongoose/mongoose.factory\";\n\ndescribe(\"Game Helper\", () => {\n let mocks: {\n unexpectedExceptionFactory: {\n createNoCurrentGamePlayUnexpectedException: jest.SpyInstance;\n };\n };\n \n beforeEach(() => {\n mocks = { unexpectedExceptionFactory: { createNoCurrentGamePlayUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, \"createNoCurrentGamePlayUnexpectedException\").mockImplementation() } };\n });\n \n describe(\"getPlayerDtoWithRole\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(6, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.IDIOT } },\n ]);\n const game = createFakeCreateGameDto({ players });\n\n it(\"should return player with role when a player has this role.\", () => {\n expect(getPlayerDtoWithRole(game, ROLE_NAMES.WEREWOLF)).toStrictEqual(game.players[2]);\n });\n\n it(\"should return undefined when player with role is not found.\", () => {\n expect(getPlayerDtoWithRole(game, ROLE_NAMES.THREE_BROTHERS)).toBeUndefined();\n });\n });\n\n describe(\"getPlayerWithCurrentRole\", () => {\n const players = bulkCreateFakePlayers(6, [\n { role: { current: ROLE_NAMES.WITCH, original: ROLE_NAMES.WITCH, isRevealed: false } },\n { role: { current: ROLE_NAMES.SEER, original: ROLE_NAMES.SEER, isRevealed: false } },\n { role: { current: ROLE_NAMES.WEREWOLF, original: ROLE_NAMES.WEREWOLF, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT, isRevealed: false } },\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return player with role when a player has this role.\", () => {\n expect(getPlayerWithCurrentRole(game, ROLE_NAMES.SEER)).toStrictEqual(players[1]);\n });\n\n it(\"should return undefined when player with role is not found.\", () => {\n expect(getPlayerWithCurrentRole(game, ROLE_NAMES.BIG_BAD_WOLF)).toBeUndefined();\n });\n });\n\n describe(\"getPlayersWithCurrentRole\", () => {\n const players = bulkCreateFakePlayers(6, [\n { role: { current: ROLE_NAMES.THREE_BROTHERS, original: ROLE_NAMES.WITCH, isRevealed: false } },\n { role: { current: ROLE_NAMES.THREE_BROTHERS, original: ROLE_NAMES.SEER, isRevealed: false } },\n { role: { current: ROLE_NAMES.THREE_BROTHERS, original: ROLE_NAMES.WEREWOLF, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.TWO_SISTERS, original: ROLE_NAMES.TWO_SISTERS, isRevealed: false } },\n { role: { current: ROLE_NAMES.IDIOT, original: ROLE_NAMES.IDIOT, isRevealed: false } },\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return players when they have this role.\", () => {\n expect(getPlayersWithCurrentRole(game, ROLE_NAMES.THREE_BROTHERS)).toStrictEqual([players[0], players[1], players[2]]);\n });\n\n it(\"should return empty array when no one has the role.\", () => {\n expect(getPlayersWithCurrentRole(game, ROLE_NAMES.WEREWOLF)).toStrictEqual([]);\n });\n });\n\n describe(\"getPlayersWithCurrentSide\", () => {\n const players = bulkCreateFakePlayers(6, [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return werewolves when they have this side.\", () => {\n expect(getPlayersWithCurrentSide(game, ROLE_SIDES.WEREWOLVES)).toStrictEqual([players[0], players[1], players[4], players[5]]);\n });\n\n it(\"should return villagers when they have this side.\", () => {\n expect(getPlayersWithCurrentSide(game, ROLE_SIDES.VILLAGERS)).toStrictEqual([players[2], players[3]]);\n });\n });\n\n describe(\"getPlayerWithId\", () => {\n it(\"should get player with specific id when called with this id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getPlayerWithId(game, players[2]._id)).toStrictEqual(players[2]);\n });\n \n it(\"should return undefined when called with unknown id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getPlayerWithId(game, createFakeObjectId())).toBeUndefined();\n });\n });\n\n describe(\"getPlayerWithIdOrThrow\", () => {\n it(\"should get player with specific id when called with this id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: players[2]._id.toString() };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n \n expect(getPlayerWithIdOrThrow(players[2]._id, game, exception)).toStrictEqual(players[2]);\n });\n\n it(\"should throw error when called with unknown id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const unknownPlayerId = createFakeObjectId();\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerId.toString() };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n \n expect(() => getPlayerWithIdOrThrow(unknownPlayerId, game, exception)).toThrow(exception);\n });\n });\n\n describe(\"getPlayerWithName\", () => {\n it(\"should get player with specific name when called with this name.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithName(game, players[2].name)).toStrictEqual(players[2]);\n });\n\n it(\"should return undefined when called with unknown name.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithName(game, \"i-cant-be-a-valid-name-that-is-bad\")).toBeUndefined();\n });\n });\n\n describe(\"getPlayerWithNameOrThrow\", () => {\n it(\"should get player with specific name when called with this id.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: players[2].name };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n\n expect(getPlayerWithNameOrThrow(players[2].name, game, exception)).toStrictEqual(players[2]);\n });\n\n it(\"should throw error when called with unknown name.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n const unknownPlayerName = \"i-cant-be-a-valid-name-that-is-bad\";\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerName };\n const exception = new UnexpectedException(\"killPlayer\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n\n expect(() => getPlayerWithNameOrThrow(unknownPlayerName, game, exception)).toThrow(exception);\n });\n });\n\n describe(\"getAdditionalCardWithId\", () => {\n it(\"should get card with specific id when called with this id.\", () => {\n const cards = bulkCreateFakeGameAdditionalCards(6);\n \n expect(getAdditionalCardWithId(cards, cards[3]._id)).toStrictEqual(cards[3]);\n });\n\n it(\"should return undefined when cards are undefined.\", () => {\n expect(getAdditionalCardWithId(undefined, createFakeObjectId())).toBeUndefined();\n });\n\n it(\"should return undefined when called with unknown id.\", () => {\n const cards = bulkCreateFakeGameAdditionalCards(6);\n \n expect(getAdditionalCardWithId(cards, createFakeObjectId())).toBeUndefined();\n });\n });\n\n describe(\"areAllWerewolvesAlive\", () => {\n const players = bulkCreateFakePlayers(6, [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return false when empty array is provided.\", () => {\n expect(areAllWerewolvesAlive(createFakeGame())).toBe(false);\n });\n\n it(\"should return true when all werewolves are alive.\", () => {\n expect(areAllWerewolvesAlive(game)).toBe(true);\n });\n\n it(\"should return true when at least one werewolf is dead.\", () => {\n const notAllAlivePlayers = players.map(player => createFakePlayer(player));\n notAllAlivePlayers[0].isAlive = false;\n const notAllAliveGame = createFakeGame({ players: notAllAlivePlayers });\n \n expect(areAllWerewolvesAlive(notAllAliveGame)).toBe(false);\n });\n });\n\n describe(\"areAllVillagersAlive\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return false when empty array is provided.\", () => {\n expect(areAllVillagersAlive(createFakeGame())).toBe(false);\n });\n\n it(\"should return true when all villagers are alive.\", () => {\n expect(areAllVillagersAlive(game)).toBe(true);\n });\n\n it(\"should return true when at least one villager is dead.\", () => {\n const notAllAlivePlayers = players.map(player => createFakePlayer(player));\n notAllAlivePlayers[1].isAlive = false;\n const notAllAliveGame = createFakeGame({ players: notAllAlivePlayers });\n \n expect(areAllVillagersAlive(notAllAliveGame)).toBe(false);\n });\n });\n\n describe(\"areAllPlayersDead\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakePlayer({ isAlive: false }),\n createFakePlayer({ isAlive: false }),\n createFakePlayer({ isAlive: true }),\n createFakePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return false when empty array is provided.\", () => {\n expect(areAllPlayersDead(createFakeGame())).toBe(false);\n });\n\n it(\"should return false when at least one player is alive.\", () => {\n expect(areAllPlayersDead(game)).toBe(false);\n });\n\n it(\"should return true when all players are dead.\", () => {\n game.players[2].isAlive = false;\n \n expect(areAllPlayersDead(game)).toBe(true);\n });\n });\n\n describe(\"getPlayerWithActiveAttributeName\", () => {\n it(\"should return first player with attribute when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n { attributes: [] },\n { attributes: [createFakeEatenByWerewolvesPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n ]);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.CHARMED)).toStrictEqual(players[2]);\n });\n\n it(\"should return undefined when player with attribute is not found.\", () => {\n const players = bulkCreateFakePlayers(4, [\n { attributes: [] },\n { attributes: [createFakeEatenByWerewolvesPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n ]);\n const game = createFakeGame({ players });\n\n expect(getPlayerWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SEEN)).toBeUndefined();\n });\n });\n\n describe(\"getPlayersWithActiveAttributeName\", () => {\n const players = bulkCreateFakePlayers(4, [\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [] },\n { attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] },\n { attributes: [createFakeEatenByWerewolvesPlayerAttribute()] },\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return players when they have the attribute.\", () => {\n expect(getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.CHARMED)).toStrictEqual([players[0], players[2]]);\n });\n\n it(\"should return empty array when none has the attribute.\", () => {\n expect(getPlayersWithActiveAttributeName(game, PLAYER_ATTRIBUTE_NAMES.SEEN)).toStrictEqual([]);\n });\n });\n\n describe(\"getAlivePlayers\", () => {\n it(\"should get all alive players when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(getAlivePlayers(game)).toStrictEqual([players[0], players[1], players[3]]);\n });\n });\n\n describe(\"getAliveVillagerSidedPlayers\", () => {\n it(\"should get all alive villager sided players when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(getAliveVillagerSidedPlayers(game)).toStrictEqual([players[1]]);\n });\n });\n\n describe(\"getAliveWerewolfSidedPlayers\", () => {\n it(\"should get all alive werewolf sided players when called.\", () => {\n const players = bulkCreateFakePlayers(4, [\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n ]);\n const game = createFakeGame({ players });\n \n expect(getAliveWerewolfSidedPlayers(game)).toStrictEqual([players[0]]);\n });\n });\n\n describe(\"getLeftToCharmByPiedPiperPlayers\", () => {\n it(\"should get left to charm by pied piper players when called.\", () => {\n const players = bulkCreateFakePlayers(5, [\n createFakeWerewolfAlivePlayer({ attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakePiedPiperAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer({ isAlive: false, attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n \n expect(getLeftToCharmByPiedPiperPlayers(game)).toStrictEqual([players[2], players[4]]);\n });\n });\n\n describe(\"getLeftToEatByWerewolvesPlayers\", () => {\n it(\"should return left to eat by werewolves players when called.\", () => {\n const players = bulkCreateFakePlayers(5, [\n createFakeWerewolfAlivePlayer(),\n createFakePiedPiperAlivePlayer(),\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeVillagerAlivePlayer({ isAlive: false }),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n expect(getLeftToEatByWerewolvesPlayers(game)).toStrictEqual([players[1]]);\n });\n });\n\n describe(\"getLeftToEatByWhiteWerewolfPlayers\", () => {\n it(\"should return left to eat by white werewolf players when called.\", () => {\n const players = bulkCreateFakePlayers(5, [\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeVillagerAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n ]);\n const game = createFakeGame({ players });\n\n expect(getLeftToEatByWhiteWerewolfPlayers(game)).toStrictEqual([players[4]]);\n });\n });\n\n describe(\"getGroupOfPlayers\", () => {\n const players = bulkCreateFakePlayers(6, [\n createFakeVillagerAlivePlayer({ attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n createFakeWhiteWerewolfAlivePlayer({ attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeEatenByWerewolvesPlayerAttribute()] }),\n createFakeWerewolfAlivePlayer({ attributes: [createFakeInLoveByCupidPlayerAttribute()] }),\n ]);\n const game = createFakeGame({ players });\n\n it(\"should return all players when group is all.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.ALL)).toStrictEqual(players);\n });\n\n it(\"should return players in love when group is lovers.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.LOVERS)).toStrictEqual([players[2], players[5]]);\n });\n\n it(\"should return charmed players when group is charmed.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.CHARMED)).toStrictEqual([players[0], players[3]]);\n });\n\n it(\"should return villagers when group is villagers.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.VILLAGERS)).toStrictEqual([players[0], players[2], players[4]]);\n });\n\n it(\"should return werewolves when group is werewolves.\", () => {\n expect(getGroupOfPlayers(game, PLAYER_GROUPS.WEREWOLVES)).toStrictEqual([players[1], players[3], players[5]]);\n });\n });\n\n describe(\"isGameSourceRole\", () => {\n it(\"should return true when source is role.\", () => {\n expect(isGameSourceRole(ROLE_NAMES.WITCH)).toBe(true);\n });\n\n it(\"should return false when source is group.\", () => {\n expect(isGameSourceRole(PLAYER_GROUPS.ALL)).toBe(false);\n });\n });\n\n describe(\"isGameSourceGroup\", () => {\n it(\"should return true when source is group.\", () => {\n expect(isGameSourceGroup(PLAYER_GROUPS.WEREWOLVES)).toBe(true);\n });\n\n it(\"should return false when source is role.\", () => {\n expect(isGameSourceGroup(ROLE_NAMES.SEER)).toBe(false);\n });\n });\n\n describe(\"getNonexistentPlayerId\", () => {\n it(\"should return undefined when all candidate ids are found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayerId(game, players.map(player => player._id))).toBeUndefined();\n });\n\n it(\"should return unknown id when one candidate id is not found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const unknownId = createFakeObjectId();\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayerId(game, [...players.map(player => player._id), unknownId])).toStrictEqual(unknownId);\n });\n });\n\n describe(\"getNonexistentPlayer\", () => {\n it(\"should return undefined when all candidate ids are found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayer(game, players)).toBeUndefined();\n });\n\n it(\"should return unknown id when one candidate id is not found.\", () => {\n const players = bulkCreateFakePlayers(6);\n const otherPlayer = createFakePlayer();\n const game = createFakeGame({ players });\n \n expect(getNonexistentPlayer(game, [...players, otherPlayer])).toStrictEqual(otherPlayer);\n });\n });\n\n describe(\"getFoxSniffedPlayers\", () => {\n it(\"should get 3 targets with left and right neighbors when called.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n createFakePlayer(players[0]),\n ];\n\n expect(getFoxSniffedPlayers(players[3]._id, game)).toStrictEqual(expectedPlayers);\n });\n\n it(\"should get 3 targets with left neighbor when right is dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n createFakePlayer(players[1]),\n ];\n\n expect(getFoxSniffedPlayers(players[3]._id, game)).toStrictEqual(expectedPlayers);\n });\n\n it(\"should get 2 targets with left neighbor when all rights are dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [\n createFakePlayer(players[2]),\n createFakePlayer(players[3]),\n ];\n\n expect(getFoxSniffedPlayers(players[3]._id, game)).toStrictEqual(expectedPlayers);\n });\n \n it(\"should get only 1 target when all neighbors.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const expectedPlayers = [createFakePlayer(players[2])];\n\n expect(getFoxSniffedPlayers(players[2]._id, game)).toStrictEqual(expectedPlayers);\n });\n\n it(\"should throw error when player is not found in game.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n ];\n const game = createFakeGame({ players });\n const unknownPlayerId = createFakeObjectId();\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerId.toString() };\n const exception = new UnexpectedException(\"getFoxSniffedTargets\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n\n expect(() => getFoxSniffedPlayers(unknownPlayerId, game)).toThrow(exception);\n });\n });\n\n describe(\"getNearestAliveNeighbor\", () => {\n it(\"should throw error when player is not found in game.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeVillagerAlivePlayer({ position: 5 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"right\" };\n const unknownPlayerId = createFakeObjectId();\n const exceptionInterpolations: ExceptionInterpolations = { gameId: game._id.toString(), playerId: unknownPlayerId.toString() };\n const exception = new UnexpectedException(\"getNearestAliveNeighbor\", UNEXPECTED_EXCEPTION_REASONS.CANT_FIND_PLAYER_WITH_ID_IN_GAME, exceptionInterpolations);\n \n expect(() => getNearestAliveNeighbor(unknownPlayerId, game, options)).toThrow(exception);\n });\n\n it(\"should get the nearest right alive player when called with right direction.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"right\" };\n \n expect(getNearestAliveNeighbor(players[5]._id, game, options)).toStrictEqual(players[1]);\n });\n\n it(\"should get the nearest left alive player when called with left direction.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\" };\n \n expect(getNearestAliveNeighbor(players[5]._id, game, options)).toStrictEqual(players[4]);\n });\n\n it(\"should get the nearest left alive villager player when called with left direction and villager side.\", () => {\n const players = [\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.VILLAGERS };\n \n expect(getNearestAliveNeighbor(players[3]._id, game, options)).toStrictEqual(players[1]);\n });\n\n it(\"should get the nearest left alive werewolf player when called with left direction and werewolf side.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer({ position: 0 }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 2 }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES };\n \n expect(getNearestAliveNeighbor(players[1]._id, game, options)).toStrictEqual(players[0]);\n });\n\n it(\"should return undefined when can't find player with conditions.\", () => {\n const players = [\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3 }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1 }),\n createFakeWerewolfAlivePlayer({ position: 4 }),\n createFakeWerewolfAlivePlayer({ position: 2, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES };\n \n expect(getNearestAliveNeighbor(players[4]._id, game, options)).toBeUndefined();\n });\n\n it(\"should return undefined when there are no alive players.\", () => {\n const players = [\n createFakeVillagerAlivePlayer({ position: 5, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 3, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 0, isAlive: false }),\n createFakeVillagerAlivePlayer({ position: 1, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 4, isAlive: false }),\n createFakeWerewolfAlivePlayer({ position: 2, isAlive: false }),\n ];\n const game = createFakeGame({ players });\n const options: GetNearestPlayerOptions = { direction: \"left\", playerSide: ROLE_SIDES.WEREWOLVES };\n \n expect(getNearestAliveNeighbor(players[4]._id, game, options)).toBeUndefined();\n });\n });\n\n describe(\"getExpectedPlayersToPlay\", () => {\n it(\"should throw error when there is no current play.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players });\n const interpolations = { gameId: game._id };\n \n expect(() => getExpectedPlayersToPlay(game)).toThrow(undefined);\n expect(mocks.unexpectedExceptionFactory.createNoCurrentGamePlayUnexpectedException).toHaveBeenCalledExactlyOnceWith(\"getExpectedPlayersToPlay\", interpolations);\n });\n\n it(\"should return alive werewolves when source is group of werewolves.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayWerewolvesEat() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([\n players[0],\n players[2],\n ]);\n });\n \n it(\"should return alive two sisters when source is specific role.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayTwoSistersMeetEachOther() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[3]]);\n });\n\n it(\"should not return sheriff when source is sheriff but action is not DELEGATE and sheriff is dead.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlaySheriffSettlesVotes() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([]);\n });\n\n it(\"should return sheriff when source is sheriff and action is DELEGATE even if he is dying.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeVillagerAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlaySheriffDelegates() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[5]]);\n });\n\n it(\"should return hunter when source is hunter and action is SHOOT even if he is dying.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeHunterAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayHunterShoots() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[5]]);\n });\n\n it(\"should return scapegoat when source is scapegoat and action is BAN_VOTING even if he is dying.\", () => {\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer({ isAlive: false }),\n createFakeWhiteWerewolfAlivePlayer(),\n createFakeTwoSistersAlivePlayer(),\n createFakeTwoSistersAlivePlayer({ isAlive: false }),\n createFakeScapegoatAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()], isAlive: false }),\n ];\n const game = createFakeGame({ players, currentPlay: createFakeGamePlayScapegoatBansVoting() });\n\n expect(getExpectedPlayersToPlay(game)).toStrictEqual([players[5]]);\n });\n });\n});" }, "tests/e2e/specs/modules/game/providers/repositories/game-history-record.repository.e2e-spec.ts": { "tests": [ { - "id": "578", + "id": "606", "name": "Game History Record Repository getGameHistory should get nothing when there are no record.", "location": { "start": { @@ -94567,7 +103996,7 @@ } }, { - "id": "579", + "id": "607", "name": "Game History Record Repository getGameHistory should get records when called with gameId with records.", "location": { "start": { @@ -94577,7 +104006,7 @@ } }, { - "id": "580", + "id": "608", "name": "Game History Record Repository create should not create history record when turn is lower than 1 [#0].", "location": { "start": { @@ -94587,7 +104016,7 @@ } }, { - "id": "581", + "id": "609", "name": "Game History Record Repository create should not create history record when tick is lower than 1 [#1].", "location": { "start": { @@ -94597,7 +104026,7 @@ } }, { - "id": "582", + "id": "610", "name": "Game History Record Repository create should not create history record when phase is not in enum [#2].", "location": { "start": { @@ -94607,7 +104036,7 @@ } }, { - "id": "583", + "id": "611", "name": "Game History Record Repository create should not create history record when players in play's source is empty [#3].", "location": { "start": { @@ -94617,7 +104046,7 @@ } }, { - "id": "584", + "id": "612", "name": "Game History Record Repository create should not create history record when source in play's source is not in enum [#4].", "location": { "start": { @@ -94627,7 +104056,7 @@ } }, { - "id": "585", + "id": "613", "name": "Game History Record Repository create should not create history record when potion in play's target is not in enum [#5].", "location": { "start": { @@ -94637,7 +104066,7 @@ } }, { - "id": "586", + "id": "614", "name": "Game History Record Repository create should not create history record when voting result is not in enum [#6].", "location": { "start": { @@ -94647,7 +104076,7 @@ } }, { - "id": "587", + "id": "615", "name": "Game History Record Repository create should not create history record when chosen side is not in enum [#7].", "location": { "start": { @@ -94657,7 +104086,7 @@ } }, { - "id": "588", + "id": "616", "name": "Game History Record Repository create should create history record when called.", "location": { "start": { @@ -94667,7 +104096,7 @@ } }, { - "id": "589", + "id": "617", "name": "Game History Record Repository getLastGameHistoryGuardProtectsRecord should return no record when there is no guard play in the history.", "location": { "start": { @@ -94677,7 +104106,7 @@ } }, { - "id": "590", + "id": "618", "name": "Game History Record Repository getLastGameHistoryGuardProtectsRecord should return no record when there gameId is not the good one.", "location": { "start": { @@ -94687,7 +104116,7 @@ } }, { - "id": "591", + "id": "619", "name": "Game History Record Repository getLastGameHistoryGuardProtectsRecord should return the last guard game history play record when called.", "location": { "start": { @@ -94697,7 +104126,7 @@ } }, { - "id": "592", + "id": "620", "name": "Game History Record Repository getLastGameHistoryTieInVotesRecord should return no record when there is no vote play in the history.", "location": { "start": { @@ -94707,7 +104136,7 @@ } }, { - "id": "593", + "id": "621", "name": "Game History Record Repository getLastGameHistoryTieInVotesRecord should return no record when there is no tie in vote play in the history.", "location": { "start": { @@ -94717,7 +104146,7 @@ } }, { - "id": "594", + "id": "622", "name": "Game History Record Repository getLastGameHistoryTieInVotesRecord should return no record when there gameId is not the good one.", "location": { "start": { @@ -94727,7 +104156,7 @@ } }, { - "id": "595", + "id": "623", "name": "Game History Record Repository getLastGameHistoryTieInVotesRecord should return the last tie in vote game history play record when called.", "location": { "start": { @@ -94737,7 +104166,7 @@ } }, { - "id": "596", + "id": "624", "name": "Game History Record Repository getGameHistoryWitchUsesSpecificPotionRecords should get no record when there are no witch play.", "location": { "start": { @@ -94747,7 +104176,7 @@ } }, { - "id": "597", + "id": "625", "name": "Game History Record Repository getGameHistoryWitchUsesSpecificPotionRecords should get no record when there are no witch using life potion play.", "location": { "start": { @@ -94757,7 +104186,7 @@ } }, { - "id": "598", + "id": "626", "name": "Game History Record Repository getGameHistoryWitchUsesSpecificPotionRecords should get records of witch using life potion for this gameId when called.", "location": { "start": { @@ -94767,7 +104196,7 @@ } }, { - "id": "599", + "id": "627", "name": "Game History Record Repository getGameHistoryWitchUsesSpecificPotionRecords should get no record when there are no witch using death potion play.", "location": { "start": { @@ -94777,7 +104206,7 @@ } }, { - "id": "600", + "id": "628", "name": "Game History Record Repository getGameHistoryWitchUsesSpecificPotionRecords should get records of witch using death potion for this gameId when called.", "location": { "start": { @@ -94787,7 +104216,7 @@ } }, { - "id": "601", + "id": "629", "name": "Game History Record Repository getGameHistoryVileFatherOfWolvesInfectedRecords should get no record when there are no eat play.", "location": { "start": { @@ -94797,7 +104226,7 @@ } }, { - "id": "602", + "id": "630", "name": "Game History Record Repository getGameHistoryVileFatherOfWolvesInfectedRecords should get records of vile father of wolves infected for this gameId when called.", "location": { "start": { @@ -94807,7 +104236,7 @@ } }, { - "id": "603", + "id": "631", "name": "Game History Record Repository getGameHistoryJudgeRequestRecords should get no record when there are no vote with judge request play.", "location": { "start": { @@ -94817,7 +104246,7 @@ } }, { - "id": "604", + "id": "632", "name": "Game History Record Repository getGameHistoryJudgeRequestRecords should get records of stuttering judge requesting another vote for this gameId when called.", "location": { "start": { @@ -94827,7 +104256,7 @@ } }, { - "id": "605", + "id": "633", "name": "Game History Record Repository getGameHistoryWerewolvesEatAncientRecords should get no record when there are no eat play.", "location": { "start": { @@ -94837,7 +104266,7 @@ } }, { - "id": "606", + "id": "634", "name": "Game History Record Repository getGameHistoryWerewolvesEatAncientRecords should get records of ancient eaten by any kind of werewolves for this gameId when called.", "location": { "start": { @@ -94847,7 +104276,7 @@ } }, { - "id": "607", + "id": "635", "name": "Game History Record Repository getGameHistoryAncientProtectedFromWerewolvesRecords should get game history where ancient is protected from werewolves records for gameId when called.", "location": { "start": { @@ -94857,7 +104286,7 @@ } }, { - "id": "608", + "id": "636", "name": "Game History Record Repository getPreviousGameHistoryRecord should get no record when game doesn't have history yet.", "location": { "start": { @@ -94867,7 +104296,7 @@ } }, { - "id": "609", + "id": "637", "name": "Game History Record Repository getPreviousGameHistoryRecord should get previous game history record for gameId when called.", "location": { "start": { @@ -94882,7 +104311,7 @@ "tests/unit/specs/modules/game/helpers/game-victory/game-victory.helper.spec.ts": { "tests": [ { - "id": "610", + "id": "638", "name": "Game Victory Helper doWerewolvesWin should return false when there are no players provided.", "location": { "start": { @@ -94892,7 +104321,7 @@ } }, { - "id": "611", + "id": "639", "name": "Game Victory Helper doWerewolvesWin should return false when there are no werewolves among players.", "location": { "start": { @@ -94902,7 +104331,7 @@ } }, { - "id": "612", + "id": "640", "name": "Game Victory Helper doWerewolvesWin should return false when there are at least one alive villager among players.", "location": { "start": { @@ -94912,7 +104341,7 @@ } }, { - "id": "613", + "id": "641", "name": "Game Victory Helper doWerewolvesWin should return true when all villagers are dead.", "location": { "start": { @@ -94922,7 +104351,7 @@ } }, { - "id": "614", + "id": "642", "name": "Game Victory Helper doVillagersWin should return false when there are no players provided.", "location": { "start": { @@ -94932,7 +104361,7 @@ } }, { - "id": "615", + "id": "643", "name": "Game Victory Helper doVillagersWin should return false when there are no villagers among players.", "location": { "start": { @@ -94942,7 +104371,7 @@ } }, { - "id": "616", + "id": "644", "name": "Game Victory Helper doVillagersWin should return false when there are at least one alive werewolf among players.", "location": { "start": { @@ -94952,7 +104381,7 @@ } }, { - "id": "617", + "id": "645", "name": "Game Victory Helper doVillagersWin should return true when all werewolves are dead.", "location": { "start": { @@ -94962,7 +104391,7 @@ } }, { - "id": "618", + "id": "646", "name": "Game Victory Helper doLoversWin should return false when no players are provided.", "location": { "start": { @@ -94972,7 +104401,7 @@ } }, { - "id": "619", + "id": "647", "name": "Game Victory Helper doLoversWin should return false when there are no lovers among players.", "location": { "start": { @@ -94982,7 +104411,7 @@ } }, { - "id": "620", + "id": "648", "name": "Game Victory Helper doLoversWin should return false when at least one non-lover player is alive.", "location": { "start": { @@ -94992,7 +104421,7 @@ } }, { - "id": "621", + "id": "649", "name": "Game Victory Helper doLoversWin should return false when at least one lover player is dead.", "location": { "start": { @@ -95002,7 +104431,7 @@ } }, { - "id": "622", + "id": "650", "name": "Game Victory Helper doLoversWin should return true when lovers are the last survivors.", "location": { "start": { @@ -95012,7 +104441,7 @@ } }, { - "id": "623", + "id": "651", "name": "Game Victory Helper doesWhiteWerewolfWin should return false when no players are provided.", "location": { "start": { @@ -95022,7 +104451,7 @@ } }, { - "id": "624", + "id": "652", "name": "Game Victory Helper doesWhiteWerewolfWin should return false when there is no white werewolf among players.", "location": { "start": { @@ -95032,7 +104461,7 @@ } }, { - "id": "625", + "id": "653", "name": "Game Victory Helper doesWhiteWerewolfWin should return false when there is at least one alive players among players except white werewolf himself.", "location": { "start": { @@ -95042,7 +104471,7 @@ } }, { - "id": "626", + "id": "654", "name": "Game Victory Helper doesWhiteWerewolfWin should return false when all players are dead even white werewolf himself.", "location": { "start": { @@ -95052,7 +104481,7 @@ } }, { - "id": "627", + "id": "655", "name": "Game Victory Helper doesWhiteWerewolfWin should return true when all players are dead except white werewolf.", "location": { "start": { @@ -95062,7 +104491,7 @@ } }, { - "id": "628", + "id": "656", "name": "Game Victory Helper doesPiedPiperWin should return false when no players are provided.", "location": { "start": { @@ -95072,7 +104501,7 @@ } }, { - "id": "629", + "id": "657", "name": "Game Victory Helper doesPiedPiperWin should return false when there is no pied piper among players.", "location": { "start": { @@ -95082,7 +104511,7 @@ } }, { - "id": "630", + "id": "658", "name": "Game Victory Helper doesPiedPiperWin should return false when pied piper is dead but all are charmed.", "location": { "start": { @@ -95092,7 +104521,7 @@ } }, { - "id": "631", + "id": "659", "name": "Game Victory Helper doesPiedPiperWin should return false when pied piper is powerless but all are charmed.", "location": { "start": { @@ -95102,7 +104531,7 @@ } }, { - "id": "632", + "id": "660", "name": "Game Victory Helper doesPiedPiperWin should return false when there are still left to charm players.", "location": { "start": { @@ -95112,7 +104541,7 @@ } }, { - "id": "633", + "id": "661", "name": "Game Victory Helper doesPiedPiperWin should return false when all are charmed but pied piper is powerless because infected.", "location": { "start": { @@ -95122,7 +104551,7 @@ } }, { - "id": "634", + "id": "662", "name": "Game Victory Helper doesPiedPiperWin should return true when all are charmed but pied piper is not powerless because infected.", "location": { "start": { @@ -95132,7 +104561,7 @@ } }, { - "id": "635", + "id": "663", "name": "Game Victory Helper doesPiedPiperWin should return true when all are charmed and pied piper is not infected anyway.", "location": { "start": { @@ -95142,7 +104571,7 @@ } }, { - "id": "636", + "id": "664", "name": "Game Victory Helper doesAngelWin should return false when no players provided.", "location": { "start": { @@ -95152,7 +104581,7 @@ } }, { - "id": "637", + "id": "665", "name": "Game Victory Helper doesAngelWin should return false when there is no angel among players.", "location": { "start": { @@ -95162,7 +104591,7 @@ } }, { - "id": "638", + "id": "666", "name": "Game Victory Helper doesAngelWin should return false when angel is still alive.", "location": { "start": { @@ -95172,7 +104601,7 @@ } }, { - "id": "639", + "id": "667", "name": "Game Victory Helper doesAngelWin should return false when angel is dead but has no death cause.", "location": { "start": { @@ -95182,7 +104611,7 @@ } }, { - "id": "640", + "id": "668", "name": "Game Victory Helper doesAngelWin should return false when angel is dead but powerless.", "location": { "start": { @@ -95192,7 +104621,7 @@ } }, { - "id": "641", + "id": "669", "name": "Game Victory Helper doesAngelWin should return false when it's not first turn of the game.", "location": { "start": { @@ -95202,7 +104631,7 @@ } }, { - "id": "642", + "id": "670", "name": "Game Victory Helper doesAngelWin should return false when angel is not dead from vote or eaten cause.", "location": { "start": { @@ -95212,7 +104641,7 @@ } }, { - "id": "643", + "id": "671", "name": "Game Victory Helper doesAngelWin should return true when angel is dead from eaten cause.", "location": { "start": { @@ -95222,7 +104651,7 @@ } }, { - "id": "644", + "id": "672", "name": "Game Victory Helper doesAngelWin should return true when angel is dead from vote cause.", "location": { "start": { @@ -95232,7 +104661,7 @@ } }, { - "id": "645", + "id": "673", "name": "Game Victory Helper isGameOver should throw error when game's current play is not set.", "location": { "start": { @@ -95242,7 +104671,7 @@ } }, { - "id": "646", + "id": "674", "name": "Game Victory Helper isGameOver should return true when all players are dead.", "location": { "start": { @@ -95252,7 +104681,7 @@ } }, { - "id": "647", + "id": "675", "name": "Game Victory Helper isGameOver should return false when there is a incoming shoot by hunter play.", "location": { "start": { @@ -95262,7 +104691,7 @@ } }, { - "id": "648", + "id": "676", "name": "Game Victory Helper isGameOver should return false when current play is shoot by hunter play.", "location": { "start": { @@ -95272,7 +104701,7 @@ } }, { - "id": "649", + "id": "677", "name": "Game Victory Helper isGameOver should return true when werewolves win.", "location": { "start": { @@ -95282,7 +104711,7 @@ } }, { - "id": "650", + "id": "678", "name": "Game Victory Helper isGameOver should return true when villagers win.", "location": { "start": { @@ -95292,7 +104721,7 @@ } }, { - "id": "651", + "id": "679", "name": "Game Victory Helper isGameOver should return true when lovers win.", "location": { "start": { @@ -95302,7 +104731,7 @@ } }, { - "id": "652", + "id": "680", "name": "Game Victory Helper isGameOver should return true when white werewolf wins.", "location": { "start": { @@ -95312,7 +104741,7 @@ } }, { - "id": "653", + "id": "681", "name": "Game Victory Helper isGameOver should return true when pied piper wins.", "location": { "start": { @@ -95322,7 +104751,7 @@ } }, { - "id": "654", + "id": "682", "name": "Game Victory Helper isGameOver should return true when angel wins.", "location": { "start": { @@ -95332,7 +104761,7 @@ } }, { - "id": "655", + "id": "683", "name": "Game Victory Helper generateGameVictoryData should return no winners when all players are dead.", "location": { "start": { @@ -95342,7 +104771,7 @@ } }, { - "id": "656", + "id": "684", "name": "Game Victory Helper generateGameVictoryData should return angel victory when angel wins.", "location": { "start": { @@ -95352,7 +104781,7 @@ } }, { - "id": "657", + "id": "685", "name": "Game Victory Helper generateGameVictoryData should return lovers victory when lovers win.", "location": { "start": { @@ -95362,7 +104791,7 @@ } }, { - "id": "658", + "id": "686", "name": "Game Victory Helper generateGameVictoryData should return pied piper victory when pied piper wins.", "location": { "start": { @@ -95372,7 +104801,7 @@ } }, { - "id": "659", + "id": "687", "name": "Game Victory Helper generateGameVictoryData should return white werewolf victory when white werewolf wins.", "location": { "start": { @@ -95382,7 +104811,7 @@ } }, { - "id": "660", + "id": "688", "name": "Game Victory Helper generateGameVictoryData should return werewolves victory when werewolves win.", "location": { "start": { @@ -95392,7 +104821,7 @@ } }, { - "id": "661", + "id": "689", "name": "Game Victory Helper generateGameVictoryData should return villagers victory when villagers win.", "location": { "start": { @@ -95402,7 +104831,7 @@ } }, { - "id": "662", + "id": "690", "name": "Game Victory Helper generateGameVictoryData should return undefined when no victory can't be generated.", "location": { "start": { @@ -95417,7 +104846,7 @@ "tests/unit/specs/modules/game/providers/services/game.service.spec.ts": { "tests": [ { - "id": "663", + "id": "691", "name": "Game Service getGames should get all games when called.", "location": { "start": { @@ -95427,7 +104856,7 @@ } }, { - "id": "664", + "id": "692", "name": "Game Service createGame should throw error when can't generate upcoming plays.", "location": { "start": { @@ -95437,7 +104866,7 @@ } }, { - "id": "665", + "id": "693", "name": "Game Service createGame should call createGame repository method when called.", "location": { "start": { @@ -95447,7 +104876,7 @@ } }, { - "id": "666", + "id": "694", "name": "Game Service createGame should call updateGame repository method when called.", "location": { "start": { @@ -95457,7 +104886,7 @@ } }, { - "id": "667", + "id": "695", "name": "Game Service cancelGame should throw error when game is not playing.", "location": { "start": { @@ -95467,7 +104896,7 @@ } }, { - "id": "668", + "id": "696", "name": "Game Service cancelGame should call update method when game can be canceled.", "location": { "start": { @@ -95477,7 +104906,7 @@ } }, { - "id": "669", + "id": "697", "name": "Game Service makeGamePlay should throw an error when game is not playing.", "location": { "start": { @@ -95487,7 +104916,7 @@ } }, { - "id": "670", + "id": "698", "name": "Game Service makeGamePlay should call play validator method when called.", "location": { "start": { @@ -95497,7 +104926,7 @@ } }, { - "id": "671", + "id": "699", "name": "Game Service makeGamePlay should call play maker method when called.", "location": { "start": { @@ -95507,7 +104936,7 @@ } }, { - "id": "672", + "id": "700", "name": "Game Service makeGamePlay should call remove obsolete upcoming plays method when called.", "location": { "start": { @@ -95517,7 +104946,7 @@ } }, { - "id": "673", + "id": "701", "name": "Game Service makeGamePlay should call proceed to next game play method when called.", "location": { "start": { @@ -95527,7 +104956,7 @@ } }, { - "id": "674", + "id": "702", "name": "Game Service makeGamePlay should call handle game phase completion method when phase is ending.", "location": { "start": { @@ -95537,7 +104966,7 @@ } }, { - "id": "675", + "id": "703", "name": "Game Service makeGamePlay should call generate current game history record method when called.", "location": { "start": { @@ -95547,7 +104976,7 @@ } }, { - "id": "676", + "id": "704", "name": "Game Service makeGamePlay should call createGameHistoryRecord method when called.", "location": { "start": { @@ -95557,7 +104986,7 @@ } }, { - "id": "677", + "id": "705", "name": "Game Service makeGamePlay should call update method when called.", "location": { "start": { @@ -95567,7 +104996,7 @@ } }, { - "id": "678", + "id": "706", "name": "Game Service makeGamePlay should call set game over method when the game is done.", "location": { "start": { @@ -95577,7 +105006,7 @@ } }, { - "id": "679", + "id": "707", "name": "Game Service handleGamePhaseCompletion should call apply ending phase outcomes method when called.", "location": { "start": { @@ -95587,7 +105016,7 @@ } }, { - "id": "680", + "id": "708", "name": "Game Service handleGamePhaseCompletion should call decrease remaining phases attributes to players method when called.", "location": { "start": { @@ -95597,7 +105026,7 @@ } }, { - "id": "681", + "id": "709", "name": "Game Service handleGamePhaseCompletion should call switch phase method when called.", "location": { "start": { @@ -95607,7 +105036,7 @@ } }, { - "id": "682", + "id": "710", "name": "Game Service handleGamePhaseCompletion should call proceed to next game play method when called.", "location": { "start": { @@ -95617,7 +105046,7 @@ } }, { - "id": "683", + "id": "711", "name": "Game Service updateGame should throw an error when game not found by update repository method.", "location": { "start": { @@ -95627,7 +105056,7 @@ } }, { - "id": "684", + "id": "712", "name": "Game Service updateGame should return updated game when called.", "location": { "start": { @@ -95637,7 +105066,7 @@ } }, { - "id": "685", + "id": "713", "name": "Game Service setGameAsOver should set game as over when called.", "location": { "start": { @@ -95647,12 +105076,12 @@ } } ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { GAME_STATUSES } from \"../../../../../../../src/modules/game/enums/game.enum\";\nimport * as GamePhaseHelper from \"../../../../../../../src/modules/game/helpers/game-phase/game-phase.helper\";\nimport * as GamePlayHelper from \"../../../../../../../src/modules/game/helpers/game-play/game-play.helper\";\nimport * as GameVictoryHelper from \"../../../../../../../src/modules/game/helpers/game-victory/game-victory.helper\";\nimport * as GameHelper from \"../../../../../../../src/modules/game/helpers/game.helper\";\nimport { GameHistoryRecordRepository } from \"../../../../../../../src/modules/game/providers/repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { GameHistoryRecordService } from \"../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePhaseService } from \"../../../../../../../src/modules/game/providers/services/game-phase/game-phase.service\";\nimport { GamePlayMakerService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play-maker.service\";\nimport { GamePlayValidatorService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play-validator.service\";\nimport { GamePlayVoteService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service\";\nimport { GamePlayService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play.service\";\nimport { GameService } from \"../../../../../../../src/modules/game/providers/services/game.service\";\nimport { PlayerAttributeService } from \"../../../../../../../src/modules/game/providers/services/player/player-attribute.service\";\nimport type { Game } from \"../../../../../../../src/modules/game/schemas/game.schema\";\nimport { API_RESOURCES } from \"../../../../../../../src/shared/api/enums/api.enum\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../../../../../../../src/shared/exception/enums/unexpected-exception.enum\";\nimport { BadResourceMutationException } from \"../../../../../../../src/shared/exception/types/bad-resource-mutation-exception.type\";\nimport { ResourceNotFoundException } from \"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { UnexpectedException } from \"../../../../../../../src/shared/exception/types/unexpected-exception.type\";\nimport { createFakeCreateGameDto } from \"../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory\";\nimport { createFakeGamePlayAllVote } from \"../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGameVictory } from \"../../../../../../factories/game/schemas/game-victory/game-victory.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakeGameHistoryRecordToInsert } from \"../../../../../../factories/game/types/game-history-record/game-history-record.type.factory\";\nimport { createFakeObjectId } from \"../../../../../../factories/shared/mongoose/mongoose.factory\";\n\njest.mock(\"../../../../../../../src/shared/exception/types/bad-resource-mutation-exception.type\");\njest.mock(\"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\");\n\ndescribe(\"Game Service\", () => {\n let mocks: {\n gameRepository: {\n find: jest.SpyInstance;\n findOne: jest.SpyInstance;\n create: jest.SpyInstance;\n updateOne: jest.SpyInstance;\n };\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordToInsert: jest.SpyInstance;\n createGameHistoryRecord: jest.SpyInstance;\n };\n gamePlayService: {\n getUpcomingNightPlays: jest.SpyInstance;\n proceedToNextGamePlay: jest.SpyInstance;\n removeObsoleteUpcomingPlays: jest.SpyInstance;\n };\n gamePlayValidatorService: { validateGamePlayWithRelationsDto: jest.SpyInstance };\n gamePlayMakerService: { makeGamePlay: jest.SpyInstance };\n gamePhaseService: {\n applyEndingGamePhasePlayerAttributesOutcomesToPlayers: jest.SpyInstance;\n switchPhaseAndAppendGamePhaseUpcomingPlays: jest.SpyInstance;\n };\n playerAttributeService: {\n decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes: jest.SpyInstance;\n };\n gameHelper: { getExpectedPlayersToPlay: jest.SpyInstance };\n gamePhaseHelper: { isGamePhaseOver: jest.SpyInstance };\n gamePlayHelper: { createMakeGamePlayDtoWithRelations: jest.SpyInstance };\n gameVictoryHelper: { isGameOver: jest.SpyInstance };\n\n };\n let services: { game: GameService };\n let repositories: { game: GameRepository };\n\n beforeEach(async() => {\n mocks = {\n gameRepository: {\n find: jest.fn(),\n findOne: jest.fn(),\n create: jest.fn(),\n updateOne: jest.fn(),\n },\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordToInsert: jest.fn(),\n createGameHistoryRecord: jest.fn(),\n },\n gamePlayService: {\n getUpcomingNightPlays: jest.fn(),\n proceedToNextGamePlay: jest.fn(),\n removeObsoleteUpcomingPlays: jest.fn(),\n },\n gamePlayValidatorService: { validateGamePlayWithRelationsDto: jest.fn() },\n gamePlayMakerService: { makeGamePlay: jest.fn() },\n gamePhaseService: {\n applyEndingGamePhasePlayerAttributesOutcomesToPlayers: jest.fn(),\n switchPhaseAndAppendGamePhaseUpcomingPlays: jest.fn(),\n },\n playerAttributeService: { decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes: jest.fn() },\n gameHelper: { getExpectedPlayersToPlay: jest.spyOn(GameHelper, \"getExpectedPlayersToPlay\").mockReturnValue([]) },\n gamePhaseHelper: { isGamePhaseOver: jest.spyOn(GamePhaseHelper, \"isGamePhaseOver\").mockImplementation() },\n gamePlayHelper: { createMakeGamePlayDtoWithRelations: jest.spyOn(GamePlayHelper, \"createMakeGamePlayDtoWithRelations\").mockImplementation() },\n gameVictoryHelper: { isGameOver: jest.spyOn(GameVictoryHelper, \"isGameOver\").mockImplementation() },\n };\n\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n {\n provide: GamePlayService,\n useValue: mocks.gamePlayService,\n },\n {\n provide: GamePlayValidatorService,\n useValue: mocks.gamePlayValidatorService,\n },\n {\n provide: GamePlayMakerService,\n useValue: mocks.gamePlayMakerService,\n },\n {\n provide: GamePhaseService,\n useValue: mocks.gamePhaseService,\n },\n {\n provide: PlayerAttributeService,\n useValue: mocks.playerAttributeService,\n },\n {\n provide: GameHistoryRecordRepository,\n useValue: {},\n },\n GamePlayVoteService,\n GameService,\n ],\n }).compile();\n\n services = { game: module.get(GameService) };\n repositories = { game: module.get(GameRepository) };\n });\n\n describe(\"getGames\", () => {\n it(\"should get all games when called.\", async() => {\n await services.game.getGames();\n\n expect(repositories.game.find).toHaveBeenCalledExactlyOnceWith();\n });\n });\n\n describe(\"createGame\", () => {\n let localMocks: { gameService: { updateGame: jest.SpyInstance } };\n const createdGame = createFakeGameWithCurrentPlay();\n \n beforeEach(() => {\n mocks.gameRepository.create.mockResolvedValue(createdGame);\n localMocks = { gameService: { updateGame: jest.spyOn(services.game as unknown as { updateGame }, \"updateGame\").mockResolvedValue(createdGame) } };\n });\n\n it(\"should throw error when can't generate upcoming plays.\", async() => {\n mocks.gamePlayService.getUpcomingNightPlays.mockReturnValue([]);\n const toCreateGame = createFakeCreateGameDto();\n const exception = new UnexpectedException(\"createGame\", UNEXPECTED_EXCEPTION_REASONS.CANT_GENERATE_GAME_PLAYS);\n\n await expect(services.game.createGame(toCreateGame)).rejects.toThrow(exception);\n });\n\n it(\"should call createGame repository method when called.\", async() => {\n const toCreateGame = createFakeCreateGameDto();\n mocks.gamePlayService.getUpcomingNightPlays.mockReturnValue([createFakeGamePlayAllVote()]);\n await services.game.createGame(toCreateGame);\n const expectedGame = createFakeCreateGameDto({\n ...toCreateGame,\n currentPlay: createFakeGamePlayAllVote(),\n upcomingPlays: [],\n });\n\n expect(repositories.game.create).toHaveBeenCalledExactlyOnceWith(expectedGame);\n });\n\n it(\"should call updateGame repository method when called.\", async() => {\n const toCreateGame = createFakeCreateGameDto();\n mocks.gamePlayService.getUpcomingNightPlays.mockReturnValue([createFakeGamePlayAllVote()]);\n const expectedPlayersToPlay = [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n mocks.gameHelper.getExpectedPlayersToPlay.mockReturnValue(expectedPlayersToPlay);\n await services.game.createGame(toCreateGame);\n const expectedGame = createFakeGameWithCurrentPlay(createdGame);\n expectedGame.currentPlay.source.players = expectedPlayersToPlay;\n\n expect(localMocks.gameService.updateGame).toHaveBeenCalledWith(createdGame._id, expectedGame);\n });\n });\n\n describe(\"cancelGame\", () => {\n let localMocks: { gameService: { updateGame: jest.SpyInstance } };\n const existingPlayingGame = createFakeGame({ status: GAME_STATUSES.PLAYING });\n\n beforeEach(() => {\n localMocks = { gameService: { updateGame: jest.spyOn(services.game as unknown as { updateGame }, \"updateGame\").mockReturnValue(existingPlayingGame) } };\n });\n\n it(\"should throw error when game is not playing.\", async() => {\n const canceledGame = createFakeGame({ status: GAME_STATUSES.CANCELED });\n\n await expect(services.game.cancelGame(canceledGame)).toReject();\n expect(BadResourceMutationException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAMES, canceledGame._id.toString(), `Game doesn't have status with value \"playing\"`);\n });\n\n it(\"should call update method when game can be canceled.\", async() => {\n await services.game.cancelGame(existingPlayingGame);\n\n expect(localMocks.gameService.updateGame).toHaveBeenCalledExactlyOnceWith(existingPlayingGame._id, { status: GAME_STATUSES.CANCELED });\n });\n });\n\n describe(\"makeGamePlay\", () => {\n let localMocks: {\n gameService: {\n handleGamePhaseCompletion: jest.SpyInstance ;\n updateGame: jest.SpyInstance;\n setGameAsOver: jest.SpyInstance;\n };\n };\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ status: GAME_STATUSES.PLAYING, players, currentPlay: createFakeGamePlayAllVote() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n\n beforeEach(() => {\n mocks.gamePlayHelper.createMakeGamePlayDtoWithRelations.mockReturnValue(play);\n mocks.gamePlayMakerService.makeGamePlay.mockResolvedValue(game);\n mocks.gamePlayService.removeObsoleteUpcomingPlays.mockReturnValue(game);\n mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game);\n mocks.gameVictoryHelper.isGameOver.mockReturnValue(false);\n localMocks = {\n gameService: {\n handleGamePhaseCompletion: jest.spyOn(services.game as unknown as { handleGamePhaseCompletion }, \"handleGamePhaseCompletion\").mockResolvedValue(game),\n updateGame: jest.spyOn(services.game as unknown as { updateGame }, \"updateGame\").mockReturnValue(game),\n setGameAsOver: jest.spyOn(services.game as unknown as { setGameAsOver }, \"setGameAsOver\").mockReturnValue(game),\n },\n };\n });\n\n it(\"should throw an error when game is not playing.\", async() => {\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n const canceledGame = createFakeGame({ status: GAME_STATUSES.CANCELED });\n\n await expect(services.game.makeGamePlay(canceledGame, makeGamePlayDto)).toReject();\n expect(BadResourceMutationException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAMES, canceledGame._id.toString(), `Game doesn't have status with value \"playing\"`);\n });\n\n it(\"should call play validator method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayValidatorService.validateGamePlayWithRelationsDto).toHaveBeenCalledExactlyOnceWith(play, clonedGame);\n });\n\n it(\"should call play maker method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayMakerService.makeGamePlay).toHaveBeenCalledExactlyOnceWith(play, clonedGame);\n });\n\n it(\"should call remove obsolete upcoming plays method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayService.removeObsoleteUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call proceed to next game play method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayService.proceedToNextGamePlay).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call handle game phase completion method when phase is ending.\", async() => {\n const clonedGame = createFakeGame(game);\n mocks.gamePhaseHelper.isGamePhaseOver.mockReturnValue(true);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(localMocks.gameService.handleGamePhaseCompletion).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call generate current game history record method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gameHistoryRecordService.generateCurrentGameHistoryRecordToInsert).toHaveBeenCalledExactlyOnceWith(clonedGame, game, play);\n });\n\n it(\"should call createGameHistoryRecord method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n const currentGameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n mocks.gameHistoryRecordService.generateCurrentGameHistoryRecordToInsert.mockReturnValue(currentGameHistoryRecordToInsert);\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gameHistoryRecordService.createGameHistoryRecord).toHaveBeenCalledExactlyOnceWith(currentGameHistoryRecordToInsert);\n });\n\n it(\"should call update method when called.\", async() => {\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(game, makeGamePlayDto);\n\n expect(localMocks.gameService.updateGame).toHaveBeenCalledExactlyOnceWith(game._id, game);\n });\n\n it(\"should call set game over method when the game is done.\", async() => {\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n const gameVictoryData = createFakeGameVictory();\n jest.spyOn(GameVictoryHelper, \"generateGameVictoryData\").mockReturnValue(gameVictoryData);\n mocks.gameVictoryHelper.isGameOver.mockReturnValue(true);\n mocks.gamePlayMakerService.makeGamePlay.mockReturnValue(game);\n mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game);\n mocks.gamePlayService.removeObsoleteUpcomingPlays.mockReturnValue(game.upcomingPlays);\n await services.game.makeGamePlay(game, makeGamePlayDto);\n\n expect(localMocks.gameService.setGameAsOver).toHaveBeenCalledExactlyOnceWith(game);\n });\n });\n\n describe(\"handleGamePhaseCompletion\", () => {\n const game = createFakeGame();\n\n beforeEach(() => {\n mocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayers.mockResolvedValue(game);\n mocks.playerAttributeService.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes.mockReturnValue(game);\n mocks.gamePhaseService.switchPhaseAndAppendGamePhaseUpcomingPlays.mockReturnValue(game);\n mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game);\n });\n\n it(\"should call apply ending phase outcomes method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayers).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call decrease remaining phases attributes to players method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.playerAttributeService.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call switch phase method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.gamePhaseService.switchPhaseAndAppendGamePhaseUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call proceed to next game play method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.gamePlayService.proceedToNextGamePlay).toHaveBeenCalledExactlyOnceWith(game);\n });\n });\n\n describe(\"updateGame\", () => {\n it(\"should throw an error when game not found by update repository method.\", async() => {\n const unknownObjectId = createFakeObjectId();\n mocks.gameRepository.updateOne.mockResolvedValue(null);\n\n await expect(services.game[\"updateGame\"](unknownObjectId, { status: GAME_STATUSES.OVER })).toReject();\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAMES, unknownObjectId.toString());\n });\n\n it(\"should return updated game when called.\", async() => {\n const game = createFakeGame();\n const gameDataToUpdate: Partial = { status: GAME_STATUSES.OVER };\n mocks.gameRepository.updateOne.mockResolvedValue(game);\n\n await expect(services.game[\"updateGame\"](game._id, gameDataToUpdate)).resolves.toStrictEqual(game);\n expect(mocks.gameRepository.updateOne).toHaveBeenCalledExactlyOnceWith({ _id: game._id }, gameDataToUpdate);\n });\n });\n\n describe(\"setGameAsOver\", () => {\n it(\"should set game as over when called.\", () => {\n const game = createFakeGame({ status: GAME_STATUSES.PLAYING });\n const gameVictoryData = createFakeGameVictory();\n jest.spyOn(GameVictoryHelper, \"generateGameVictoryData\").mockReturnValue(gameVictoryData);\n const expectedGame = createFakeGame({\n ...game,\n status: GAME_STATUSES.OVER,\n victory: gameVictoryData,\n });\n\n expect(services.game[\"setGameAsOver\"](game)).toStrictEqual(expectedGame);\n });\n });\n});" + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { GAME_STATUSES } from \"../../../../../../../src/modules/game/enums/game.enum\";\nimport * as GamePhaseHelper from \"../../../../../../../src/modules/game/helpers/game-phase/game-phase.helper\";\nimport * as GamePlayHelper from \"../../../../../../../src/modules/game/helpers/game-play/game-play.helper\";\nimport * as GameVictoryHelper from \"../../../../../../../src/modules/game/helpers/game-victory/game-victory.helper\";\nimport * as GameHelper from \"../../../../../../../src/modules/game/helpers/game.helper\";\nimport { GameHistoryRecordRepository } from \"../../../../../../../src/modules/game/providers/repositories/game-history-record.repository\";\nimport { GameRepository } from \"../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { GameHistoryRecordService } from \"../../../../../../../src/modules/game/providers/services/game-history/game-history-record.service\";\nimport { GamePhaseService } from \"../../../../../../../src/modules/game/providers/services/game-phase/game-phase.service\";\nimport { GamePlayMakerService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play-maker.service\";\nimport { GamePlayValidatorService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play-validator.service\";\nimport { GamePlayVoteService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service\";\nimport { GamePlayService } from \"../../../../../../../src/modules/game/providers/services/game-play/game-play.service\";\nimport { GameService } from \"../../../../../../../src/modules/game/providers/services/game.service\";\nimport { PlayerAttributeService } from \"../../../../../../../src/modules/game/providers/services/player/player-attribute.service\";\nimport type { Game } from \"../../../../../../../src/modules/game/schemas/game.schema\";\nimport { API_RESOURCES } from \"../../../../../../../src/shared/api/enums/api.enum\";\nimport { UNEXPECTED_EXCEPTION_REASONS } from \"../../../../../../../src/shared/exception/enums/unexpected-exception.enum\";\nimport { BadResourceMutationException } from \"../../../../../../../src/shared/exception/types/bad-resource-mutation-exception.type\";\nimport { ResourceNotFoundException } from \"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { UnexpectedException } from \"../../../../../../../src/shared/exception/types/unexpected-exception.type\";\nimport { createFakeCreateGameDto } from \"../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory\";\nimport { createFakeGamePlayAllVote } from \"../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGameVictory } from \"../../../../../../factories/game/schemas/game-victory/game-victory.schema.factory\";\nimport { createFakeGame, createFakeGameWithCurrentPlay } from \"../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeSeerAlivePlayer, createFakeVillagerAlivePlayer, createFakeWerewolfAlivePlayer } from \"../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakeGameHistoryRecordToInsert } from \"../../../../../../factories/game/types/game-history-record/game-history-record.type.factory\";\nimport { createFakeObjectId } from \"../../../../../../factories/shared/mongoose/mongoose.factory\";\n\njest.mock(\"../../../../../../../src/shared/exception/types/bad-resource-mutation-exception.type\");\njest.mock(\"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\");\n\ndescribe(\"Game Service\", () => {\n let mocks: {\n gameRepository: {\n find: jest.SpyInstance;\n findOne: jest.SpyInstance;\n create: jest.SpyInstance;\n updateOne: jest.SpyInstance;\n };\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordToInsert: jest.SpyInstance;\n createGameHistoryRecord: jest.SpyInstance;\n };\n gamePlayService: {\n getUpcomingNightPlays: jest.SpyInstance;\n proceedToNextGamePlay: jest.SpyInstance;\n refreshUpcomingPlays: jest.SpyInstance;\n };\n gamePlayValidatorService: { validateGamePlayWithRelationsDto: jest.SpyInstance };\n gamePlayMakerService: { makeGamePlay: jest.SpyInstance };\n gamePhaseService: {\n applyEndingGamePhasePlayerAttributesOutcomesToPlayers: jest.SpyInstance;\n switchPhaseAndAppendGamePhaseUpcomingPlays: jest.SpyInstance;\n };\n playerAttributeService: {\n decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes: jest.SpyInstance;\n };\n gameHelper: { getExpectedPlayersToPlay: jest.SpyInstance };\n gamePhaseHelper: { isGamePhaseOver: jest.SpyInstance };\n gamePlayHelper: { createMakeGamePlayDtoWithRelations: jest.SpyInstance };\n gameVictoryHelper: { isGameOver: jest.SpyInstance };\n\n };\n let services: { game: GameService };\n let repositories: { game: GameRepository };\n\n beforeEach(async() => {\n mocks = {\n gameRepository: {\n find: jest.fn(),\n findOne: jest.fn(),\n create: jest.fn(),\n updateOne: jest.fn(),\n },\n gameHistoryRecordService: {\n generateCurrentGameHistoryRecordToInsert: jest.fn(),\n createGameHistoryRecord: jest.fn(),\n },\n gamePlayService: {\n getUpcomingNightPlays: jest.fn(),\n proceedToNextGamePlay: jest.fn(),\n refreshUpcomingPlays: jest.fn(),\n },\n gamePlayValidatorService: { validateGamePlayWithRelationsDto: jest.fn() },\n gamePlayMakerService: { makeGamePlay: jest.fn() },\n gamePhaseService: {\n applyEndingGamePhasePlayerAttributesOutcomesToPlayers: jest.fn(),\n switchPhaseAndAppendGamePhaseUpcomingPlays: jest.fn(),\n },\n playerAttributeService: { decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes: jest.fn() },\n gameHelper: { getExpectedPlayersToPlay: jest.spyOn(GameHelper, \"getExpectedPlayersToPlay\").mockReturnValue([]) },\n gamePhaseHelper: { isGamePhaseOver: jest.spyOn(GamePhaseHelper, \"isGamePhaseOver\").mockImplementation() },\n gamePlayHelper: { createMakeGamePlayDtoWithRelations: jest.spyOn(GamePlayHelper, \"createMakeGamePlayDtoWithRelations\").mockImplementation() },\n gameVictoryHelper: { isGameOver: jest.spyOn(GameVictoryHelper, \"isGameOver\").mockImplementation() },\n };\n\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n {\n provide: GameHistoryRecordService,\n useValue: mocks.gameHistoryRecordService,\n },\n {\n provide: GamePlayService,\n useValue: mocks.gamePlayService,\n },\n {\n provide: GamePlayValidatorService,\n useValue: mocks.gamePlayValidatorService,\n },\n {\n provide: GamePlayMakerService,\n useValue: mocks.gamePlayMakerService,\n },\n {\n provide: GamePhaseService,\n useValue: mocks.gamePhaseService,\n },\n {\n provide: PlayerAttributeService,\n useValue: mocks.playerAttributeService,\n },\n {\n provide: GameHistoryRecordRepository,\n useValue: {},\n },\n GamePlayVoteService,\n GameService,\n ],\n }).compile();\n\n services = { game: module.get(GameService) };\n repositories = { game: module.get(GameRepository) };\n });\n\n describe(\"getGames\", () => {\n it(\"should get all games when called.\", async() => {\n await services.game.getGames();\n\n expect(repositories.game.find).toHaveBeenCalledExactlyOnceWith();\n });\n });\n\n describe(\"createGame\", () => {\n let localMocks: { gameService: { updateGame: jest.SpyInstance } };\n const createdGame = createFakeGameWithCurrentPlay();\n \n beforeEach(() => {\n mocks.gameRepository.create.mockResolvedValue(createdGame);\n localMocks = { gameService: { updateGame: jest.spyOn(services.game as unknown as { updateGame }, \"updateGame\").mockResolvedValue(createdGame) } };\n });\n\n it(\"should throw error when can't generate upcoming plays.\", async() => {\n mocks.gamePlayService.getUpcomingNightPlays.mockReturnValue([]);\n const toCreateGame = createFakeCreateGameDto();\n const exception = new UnexpectedException(\"createGame\", UNEXPECTED_EXCEPTION_REASONS.CANT_GENERATE_GAME_PLAYS);\n\n await expect(services.game.createGame(toCreateGame)).rejects.toThrow(exception);\n });\n\n it(\"should call createGame repository method when called.\", async() => {\n const toCreateGame = createFakeCreateGameDto();\n mocks.gamePlayService.getUpcomingNightPlays.mockReturnValue([createFakeGamePlayAllVote()]);\n await services.game.createGame(toCreateGame);\n const expectedGame = createFakeCreateGameDto({\n ...toCreateGame,\n currentPlay: createFakeGamePlayAllVote(),\n upcomingPlays: [],\n });\n\n expect(repositories.game.create).toHaveBeenCalledExactlyOnceWith(expectedGame);\n });\n\n it(\"should call updateGame repository method when called.\", async() => {\n const toCreateGame = createFakeCreateGameDto();\n mocks.gamePlayService.getUpcomingNightPlays.mockReturnValue([createFakeGamePlayAllVote()]);\n const expectedPlayersToPlay = [\n createFakeWerewolfAlivePlayer(),\n createFakeSeerAlivePlayer(),\n ];\n mocks.gameHelper.getExpectedPlayersToPlay.mockReturnValue(expectedPlayersToPlay);\n await services.game.createGame(toCreateGame);\n const expectedGame = createFakeGameWithCurrentPlay(createdGame);\n expectedGame.currentPlay.source.players = expectedPlayersToPlay;\n\n expect(localMocks.gameService.updateGame).toHaveBeenCalledWith(createdGame._id, expectedGame);\n });\n });\n\n describe(\"cancelGame\", () => {\n let localMocks: { gameService: { updateGame: jest.SpyInstance } };\n const existingPlayingGame = createFakeGame({ status: GAME_STATUSES.PLAYING });\n\n beforeEach(() => {\n localMocks = { gameService: { updateGame: jest.spyOn(services.game as unknown as { updateGame }, \"updateGame\").mockReturnValue(existingPlayingGame) } };\n });\n\n it(\"should throw error when game is not playing.\", async() => {\n const canceledGame = createFakeGame({ status: GAME_STATUSES.CANCELED });\n\n await expect(services.game.cancelGame(canceledGame)).toReject();\n expect(BadResourceMutationException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAMES, canceledGame._id.toString(), `Game doesn't have status with value \"playing\"`);\n });\n\n it(\"should call update method when game can be canceled.\", async() => {\n await services.game.cancelGame(existingPlayingGame);\n\n expect(localMocks.gameService.updateGame).toHaveBeenCalledExactlyOnceWith(existingPlayingGame._id, { status: GAME_STATUSES.CANCELED });\n });\n });\n\n describe(\"makeGamePlay\", () => {\n let localMocks: {\n gameService: {\n handleGamePhaseCompletion: jest.SpyInstance ;\n updateGame: jest.SpyInstance;\n setGameAsOver: jest.SpyInstance;\n };\n };\n const players = [\n createFakeWerewolfAlivePlayer(),\n createFakeWerewolfAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n createFakeVillagerAlivePlayer(),\n ];\n const game = createFakeGame({ status: GAME_STATUSES.PLAYING, players, currentPlay: createFakeGamePlayAllVote() });\n const play = createFakeMakeGamePlayWithRelationsDto();\n\n beforeEach(() => {\n mocks.gamePlayHelper.createMakeGamePlayDtoWithRelations.mockReturnValue(play);\n mocks.gamePlayMakerService.makeGamePlay.mockResolvedValue(game);\n mocks.gamePlayService.refreshUpcomingPlays.mockReturnValue(game);\n mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game);\n mocks.gameVictoryHelper.isGameOver.mockReturnValue(false);\n localMocks = {\n gameService: {\n handleGamePhaseCompletion: jest.spyOn(services.game as unknown as { handleGamePhaseCompletion }, \"handleGamePhaseCompletion\").mockResolvedValue(game),\n updateGame: jest.spyOn(services.game as unknown as { updateGame }, \"updateGame\").mockReturnValue(game),\n setGameAsOver: jest.spyOn(services.game as unknown as { setGameAsOver }, \"setGameAsOver\").mockReturnValue(game),\n },\n };\n });\n\n it(\"should throw an error when game is not playing.\", async() => {\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n const canceledGame = createFakeGame({ status: GAME_STATUSES.CANCELED });\n\n await expect(services.game.makeGamePlay(canceledGame, makeGamePlayDto)).toReject();\n expect(BadResourceMutationException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAMES, canceledGame._id.toString(), `Game doesn't have status with value \"playing\"`);\n });\n\n it(\"should call play validator method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayValidatorService.validateGamePlayWithRelationsDto).toHaveBeenCalledExactlyOnceWith(play, clonedGame);\n });\n\n it(\"should call play maker method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayMakerService.makeGamePlay).toHaveBeenCalledExactlyOnceWith(play, clonedGame);\n });\n\n it(\"should call remove obsolete upcoming plays method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayService.refreshUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call proceed to next game play method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gamePlayService.proceedToNextGamePlay).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call handle game phase completion method when phase is ending.\", async() => {\n const clonedGame = createFakeGame(game);\n mocks.gamePhaseHelper.isGamePhaseOver.mockReturnValue(true);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(localMocks.gameService.handleGamePhaseCompletion).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call generate current game history record method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gameHistoryRecordService.generateCurrentGameHistoryRecordToInsert).toHaveBeenCalledExactlyOnceWith(clonedGame, game, play);\n });\n\n it(\"should call createGameHistoryRecord method when called.\", async() => {\n const clonedGame = createFakeGame(game);\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n const currentGameHistoryRecordToInsert = createFakeGameHistoryRecordToInsert();\n mocks.gameHistoryRecordService.generateCurrentGameHistoryRecordToInsert.mockReturnValue(currentGameHistoryRecordToInsert);\n await services.game.makeGamePlay(clonedGame, makeGamePlayDto);\n\n expect(mocks.gameHistoryRecordService.createGameHistoryRecord).toHaveBeenCalledExactlyOnceWith(currentGameHistoryRecordToInsert);\n });\n\n it(\"should call update method when called.\", async() => {\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n await services.game.makeGamePlay(game, makeGamePlayDto);\n\n expect(localMocks.gameService.updateGame).toHaveBeenCalledExactlyOnceWith(game._id, game);\n });\n\n it(\"should call set game over method when the game is done.\", async() => {\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n const gameVictoryData = createFakeGameVictory();\n jest.spyOn(GameVictoryHelper, \"generateGameVictoryData\").mockReturnValue(gameVictoryData);\n mocks.gameVictoryHelper.isGameOver.mockReturnValue(true);\n mocks.gamePlayMakerService.makeGamePlay.mockReturnValue(game);\n mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game);\n mocks.gamePlayService.refreshUpcomingPlays.mockReturnValue(game.upcomingPlays);\n await services.game.makeGamePlay(game, makeGamePlayDto);\n\n expect(localMocks.gameService.setGameAsOver).toHaveBeenCalledExactlyOnceWith(game);\n });\n });\n\n describe(\"handleGamePhaseCompletion\", () => {\n const game = createFakeGame();\n\n beforeEach(() => {\n mocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayers.mockResolvedValue(game);\n mocks.playerAttributeService.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes.mockReturnValue(game);\n mocks.gamePhaseService.switchPhaseAndAppendGamePhaseUpcomingPlays.mockReturnValue(game);\n mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game);\n });\n\n it(\"should call apply ending phase outcomes method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayers).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call decrease remaining phases attributes to players method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.playerAttributeService.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call switch phase method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.gamePhaseService.switchPhaseAndAppendGamePhaseUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game);\n });\n\n it(\"should call proceed to next game play method when called.\", async() => {\n await services.game[\"handleGamePhaseCompletion\"](game);\n\n expect(mocks.gamePlayService.proceedToNextGamePlay).toHaveBeenCalledExactlyOnceWith(game);\n });\n });\n\n describe(\"updateGame\", () => {\n it(\"should throw an error when game not found by update repository method.\", async() => {\n const unknownObjectId = createFakeObjectId();\n mocks.gameRepository.updateOne.mockResolvedValue(null);\n\n await expect(services.game[\"updateGame\"](unknownObjectId, { status: GAME_STATUSES.OVER })).toReject();\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAMES, unknownObjectId.toString());\n });\n\n it(\"should return updated game when called.\", async() => {\n const game = createFakeGame();\n const gameDataToUpdate: Partial = { status: GAME_STATUSES.OVER };\n mocks.gameRepository.updateOne.mockResolvedValue(game);\n\n await expect(services.game[\"updateGame\"](game._id, gameDataToUpdate)).resolves.toStrictEqual(game);\n expect(mocks.gameRepository.updateOne).toHaveBeenCalledExactlyOnceWith({ _id: game._id }, gameDataToUpdate);\n });\n });\n\n describe(\"setGameAsOver\", () => {\n it(\"should set game as over when called.\", () => {\n const game = createFakeGame({ status: GAME_STATUSES.PLAYING });\n const gameVictoryData = createFakeGameVictory();\n jest.spyOn(GameVictoryHelper, \"generateGameVictoryData\").mockReturnValue(gameVictoryData);\n const expectedGame = createFakeGame({\n ...game,\n status: GAME_STATUSES.OVER,\n victory: gameVictoryData,\n });\n\n expect(services.game[\"setGameAsOver\"](game)).toStrictEqual(expectedGame);\n });\n });\n});" }, "tests/unit/specs/modules/game/providers/services/game-play/game-play-vote/game-play-vote.service.spec.ts": { "tests": [ { - "id": "686", + "id": "714", "name": "Game Play Vote Service getNominatedPlayers should get nominated players when called.", "location": { "start": { @@ -95662,7 +105091,7 @@ } }, { - "id": "687", + "id": "715", "name": "Game Play Vote Service getPlayerVoteCounts should get player vote counts with only simple votes when there is no sheriff.", "location": { "start": { @@ -95672,7 +105101,7 @@ } }, { - "id": "688", + "id": "716", "name": "Game Play Vote Service getPlayerVoteCounts should get player vote counts with only simple votes when sheriff doesn't have double vote.", "location": { "start": { @@ -95682,7 +105111,7 @@ } }, { - "id": "689", + "id": "717", "name": "Game Play Vote Service getPlayerVoteCounts should get player vote counts with simple only votes when game play is not vote.", "location": { "start": { @@ -95692,7 +105121,7 @@ } }, { - "id": "690", + "id": "718", "name": "Game Play Vote Service getPlayerVoteCounts should get player vote counts with simple votes and one doubled vote when sheriff has double vote.", "location": { "start": { @@ -95702,7 +105131,7 @@ } }, { - "id": "691", + "id": "719", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts as is when action is not vote.", "location": { "start": { @@ -95712,7 +105141,7 @@ } }, { - "id": "692", + "id": "720", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts as is when there is no raven player in the game.", "location": { "start": { @@ -95722,7 +105151,7 @@ } }, { - "id": "693", + "id": "721", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts as is when raven player is not alive.", "location": { "start": { @@ -95732,7 +105161,7 @@ } }, { - "id": "694", + "id": "722", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts as is when raven player is powerless.", "location": { "start": { @@ -95742,7 +105171,7 @@ } }, { - "id": "695", + "id": "723", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts as is when there are no raven mark.", "location": { "start": { @@ -95752,7 +105181,7 @@ } }, { - "id": "696", + "id": "724", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts as is when the raven target is dead.", "location": { "start": { @@ -95762,7 +105191,7 @@ } }, { - "id": "697", + "id": "725", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts with new player vote entry when raven target doesn't have vote.", "location": { "start": { @@ -95772,7 +105201,7 @@ } }, { - "id": "698", + "id": "726", "name": "Game Play Vote Service addRavenMarkVoteToPlayerVoteCounts should return player vote counts with updated player vote entry when raven target already has votes.", "location": { "start": { @@ -95787,7 +105216,7 @@ "tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts": { "tests": [ { - "id": "699", + "id": "727", "name": "Game Random Composition Service getGameRandomComposition should return random composition when called [#0].", "location": { "start": { @@ -95797,7 +105226,7 @@ } }, { - "id": "700", + "id": "728", "name": "Game Random Composition Service getGameRandomComposition should return random composition when called [#1].", "location": { "start": { @@ -95807,7 +105236,7 @@ } }, { - "id": "701", + "id": "729", "name": "Game Random Composition Service getGameRandomComposition should return random composition when called [#2].", "location": { "start": { @@ -95817,7 +105246,7 @@ } }, { - "id": "702", + "id": "730", "name": "Game Random Composition Service getGameRandomComposition should return random composition when called [#3].", "location": { "start": { @@ -95827,7 +105256,7 @@ } }, { - "id": "703", + "id": "731", "name": "Game Random Composition Service getGameRandomComposition should return random composition when called [#4].", "location": { "start": { @@ -95837,7 +105266,7 @@ } }, { - "id": "704", + "id": "732", "name": "Game Random Composition Service getRandomRolesForSide should get only werewolves when side is werewolves and no roles are available.", "location": { "start": { @@ -95847,7 +105276,7 @@ } }, { - "id": "705", + "id": "733", "name": "Game Random Composition Service getRandomRolesForSide should get only villagers when side is villagers and no roles are available.", "location": { "start": { @@ -95857,7 +105286,7 @@ } }, { - "id": "706", + "id": "734", "name": "Game Random Composition Service getRandomRolesForSide should get seer, witch, pied piper, and all others are villagers when side is villagers and only seer and witch are available.", "location": { "start": { @@ -95867,7 +105296,7 @@ } }, { - "id": "707", + "id": "735", "name": "Game Random Composition Service getRandomRolesForSide should not get fox when minInGame is too high for left to pick.", "location": { "start": { @@ -95877,7 +105306,7 @@ } }, { - "id": "708", + "id": "736", "name": "Game Random Composition Service getRandomRolesForSide should get three brothers when minInGame is exactly left to pick count.", "location": { "start": { @@ -95887,7 +105316,7 @@ } }, { - "id": "709", + "id": "737", "name": "Game Random Composition Service getRandomRolesForSide should get two sisters when minInGame is lower than left to pick count.", "location": { "start": { @@ -95897,7 +105326,7 @@ } }, { - "id": "710", + "id": "738", "name": "Game Random Composition Service getRandomRolesForSide should get full witches when maxInGame is equal to left to pick count.", "location": { "start": { @@ -95907,7 +105336,7 @@ } }, { - "id": "711", + "id": "739", "name": "Game Random Composition Service getWerewolfCountForComposition should return 1 when called with 4 players.", "location": { "start": { @@ -95917,7 +105346,7 @@ } }, { - "id": "712", + "id": "740", "name": "Game Random Composition Service getWerewolfCountForComposition should return 1 when called with 6 players.", "location": { "start": { @@ -95927,7 +105356,7 @@ } }, { - "id": "713", + "id": "741", "name": "Game Random Composition Service getWerewolfCountForComposition should return 2 when called with 7 players.", "location": { "start": { @@ -95937,7 +105366,7 @@ } }, { - "id": "714", + "id": "742", "name": "Game Random Composition Service getWerewolfCountForComposition should return 4 when called with 23 players.", "location": { "start": { @@ -95947,7 +105376,7 @@ } }, { - "id": "715", + "id": "743", "name": "Game Random Composition Service getWerewolfCountForComposition should return 4 when called with 24 players.", "location": { "start": { @@ -95957,7 +105386,7 @@ } }, { - "id": "716", + "id": "744", "name": "Game Random Composition Service getWerewolfCountForComposition should return 5 when called with 25 players.", "location": { "start": { @@ -95967,7 +105396,7 @@ } }, { - "id": "717", + "id": "745", "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should not include some roles when there are excluded.", "location": { "start": { @@ -95977,7 +105406,7 @@ } }, { - "id": "718", + "id": "746", "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should not include default villager role when powerful villager roles are prioritized.", "location": { "start": { @@ -95987,7 +105416,7 @@ } }, { - "id": "719", + "id": "747", "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should include default villager role when powerful villager roles are not prioritized.", "location": { "start": { @@ -95997,7 +105426,7 @@ } }, { - "id": "720", + "id": "748", "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should not include default werewolf role when powerful werewolf roles are prioritized.", "location": { "start": { @@ -96007,7 +105436,7 @@ } }, { - "id": "721", + "id": "749", "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should include default werewolf role when powerful werewolf roles are not prioritized.", "location": { "start": { @@ -96017,7 +105446,7 @@ } }, { - "id": "722", + "id": "750", "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should not include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true and not enough players.", "location": { "start": { @@ -96027,287 +105456,462 @@ } }, { - "id": "723", - "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true when enough players.", + "id": "751", + "name": "Game Random Composition Service getAvailableRolesForGameRandomComposition should include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true when enough players.", + "location": { + "start": { + "column": 6, + "line": 203 + } + } + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { doesCompositionHaveAtLeastOneVillager } from \"../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator\";\nimport { doesCompositionHaveAtLeastOneWerewolf } from \"../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator\";\nimport { areCompositionRolesMaxInGameRespected } from \"../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator\";\nimport { areCompositionRolesMinInGameRespected } from \"../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator\";\nimport type { CreateGamePlayerDto } from \"../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player.dto\";\nimport type { GetGameRandomCompositionDto } from \"../../../../../../../src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto\";\nimport { GameRandomCompositionService } from \"../../../../../../../src/modules/game/providers/services/game-random-composition.service\";\nimport { roles } from \"../../../../../../../src/modules/role/constants/role.constant\";\nimport { ROLE_NAMES, ROLE_SIDES, ROLE_TYPES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport type { Role } from \"../../../../../../../src/modules/role/types/role.type\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeGetGameRandomCompositionDto } from \"../../../../../../factories/game/dto/get-game-random-composition/get-game-random-composition.dto.factory\";\n\ndescribe(\"Game Random Composition Service\", () => {\n let services: { gameRandomComposition: GameRandomCompositionService };\n\n beforeEach(async() => {\n const module: TestingModule = await Test.createTestingModule({ providers: [GameRandomCompositionService] }).compile();\n\n services = { gameRandomComposition: module.get(GameRandomCompositionService) };\n });\n \n describe(\"getGameRandomComposition\", () => {\n it.each([\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(4) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(40) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(40) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(75) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(100) }),\n ])(\"should return random composition when called [#$#].\", getGameRandomCompositionDto => {\n const result = services.gameRandomComposition.getGameRandomComposition(getGameRandomCompositionDto);\n\n expect(result).toSatisfyAll(player => player.role.current === player.role.original);\n expect(doesCompositionHaveAtLeastOneWerewolf(result)).toBe(true);\n expect(doesCompositionHaveAtLeastOneVillager(result)).toBe(true);\n expect(areCompositionRolesMinInGameRespected(result)).toBe(true);\n expect(areCompositionRolesMaxInGameRespected(result)).toBe(true);\n });\n });\n \n describe(\"getRandomRolesForSide\", () => {\n it(\"should get only werewolves when side is werewolves and no roles are available.\", () => {\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"]([], 10, ROLE_SIDES.WEREWOLVES);\n\n expect(result).toHaveLength(10);\n expect(result.every(role => role.name === ROLE_NAMES.WEREWOLF)).toBe(true);\n });\n\n it(\"should get only villagers when side is villagers and no roles are available.\", () => {\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"]([], 24, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(24);\n expect(result.every(role => role.name === ROLE_NAMES.VILLAGER)).toBe(true);\n });\n\n it(\"should get seer, witch, pied piper, and all others are villagers when side is villagers and only seer and witch are available.\", () => {\n const availableRoles: Role[] = [\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.PIED_PIPER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n ];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 10, ROLE_SIDES.VILLAGERS);\n\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.PIED_PIPER, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n\n it(\"should not get fox when minInGame is too high for left to pick.\", () => {\n const availableRoles: Role[] = [\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.FOX, side: ROLE_SIDES.VILLAGERS, minInGame: 99, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n ];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 90, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(90);\n expect(result.find(role => role.name === ROLE_NAMES.FOX)).toBeUndefined();\n });\n\n it(\"should get three brothers when minInGame is exactly left to pick count.\", () => {\n const availableRoles: Role[] = [{ name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 3, type: ROLE_TYPES.VILLAGER }];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 3, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(3);\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n\n it(\"should get two sisters when minInGame is lower than left to pick count.\", () => {\n const availableRoles: Role[] = [\n { name: ROLE_NAMES.TWO_SISTERS, side: ROLE_SIDES.VILLAGERS, minInGame: 2, maxInGame: 2, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n ];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 4, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(4);\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.TWO_SISTERS, side: ROLE_SIDES.VILLAGERS, minInGame: 2, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.TWO_SISTERS, side: ROLE_SIDES.VILLAGERS, minInGame: 2, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n\n it(\"should get full witches when maxInGame is equal to left to pick count.\", () => {\n const availableRoles: Role[] = [{ name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 10, type: ROLE_TYPES.VILLAGER }];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 10, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(10);\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n });\n\n describe(\"getWerewolfCountForComposition\", () => {\n it.each<{ playersCount: number; expectedWerewolvesCount: number }>([\n { playersCount: 4, expectedWerewolvesCount: 1 },\n { playersCount: 6, expectedWerewolvesCount: 1 },\n { playersCount: 7, expectedWerewolvesCount: 2 },\n { playersCount: 23, expectedWerewolvesCount: 4 },\n { playersCount: 24, expectedWerewolvesCount: 4 },\n { playersCount: 25, expectedWerewolvesCount: 5 },\n ])(\"should return $expectedWerewolvesCount when called with $playersCount players.\", ({ playersCount, expectedWerewolvesCount }) => {\n expect(services.gameRandomComposition[\"getWerewolfCountForComposition\"](playersCount)).toBe(expectedWerewolvesCount);\n });\n });\n\n describe(\"getAvailableRolesForGameRandomComposition\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(60);\n it(\"should not include some roles when there are excluded.\", () => {\n const excludedRoles: ROLE_NAMES[] = [ROLE_NAMES.SEER, ROLE_NAMES.WITCH, ROLE_NAMES.PIED_PIPER, ROLE_NAMES.WHITE_WEREWOLF];\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](createFakeGetGameRandomCompositionDto({ players, excludedRoles }));\n\n expect(result.every(role => !excludedRoles.includes(role.name))).toBe(true);\n });\n\n it(\"should not include default villager role when powerful villager roles are prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulVillagerRolesPrioritized: false });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.VILLAGER)).toBe(true);\n });\n\n it(\"should include default villager role when powerful villager roles are not prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulVillagerRolesPrioritized: true });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.VILLAGER)).toBe(false);\n });\n\n it(\"should not include default werewolf role when powerful werewolf roles are prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulWerewolfRolesPrioritized: false });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.WEREWOLF)).toBe(true);\n });\n\n it(\"should include default werewolf role when powerful werewolf roles are not prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulWerewolfRolesPrioritized: true });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.WEREWOLF)).toBe(false);\n });\n\n it(\"should not include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true and not enough players.\", () => {\n const rolesWithoutRecommendedMinPlayers = roles.filter(role => role.recommendedMinPlayers === undefined);\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](createFakeGetGameRandomCompositionDto({\n players: bulkCreateFakeCreateGamePlayerDto(10),\n excludedRoles: rolesWithoutRecommendedMinPlayers.map(({ name }) => name),\n areRecommendedMinPlayersRespected: true,\n }));\n const expectedRoleNames = [ROLE_NAMES.VILLAGER, ROLE_NAMES.WEREWOLF];\n\n expect(result.every(role => expectedRoleNames.includes(role.name))).toBe(true);\n });\n\n it(\"should include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true when enough players.\", () => {\n const rolesWithoutRecommendedMinPlayers = roles.filter(role => role.recommendedMinPlayers === undefined);\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](createFakeGetGameRandomCompositionDto({\n players: bulkCreateFakeCreateGamePlayerDto(12),\n excludedRoles: rolesWithoutRecommendedMinPlayers.map(({ name }) => name),\n areRecommendedMinPlayersRespected: true,\n }));\n const expectedRoleNames = [\n ROLE_NAMES.WEREWOLF,\n ROLE_NAMES.PIED_PIPER,\n ROLE_NAMES.FOX,\n ROLE_NAMES.TWO_SISTERS,\n ROLE_NAMES.WHITE_WEREWOLF,\n ROLE_NAMES.VILE_FATHER_OF_WOLVES,\n ];\n\n expect(result).toHaveLength(6);\n expect(result.every(role => expectedRoleNames.includes(role.name))).toBe(true);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts": { + "tests": [ + { + "id": "752", + "name": "Game Play Factory createGamePlaySheriffSettlesVotes should create game play sheriff settles votes when called.", + "location": { + "start": { + "column": 6, + "line": 14 + } + } + }, + { + "id": "753", + "name": "Game Play Factory createGamePlaySheriffDelegates should create game play sheriff delegates when called.", + "location": { + "start": { + "column": 6, + "line": 25 + } + } + }, + { + "id": "754", + "name": "Game Play Factory createGamePlayAllVote should create game play all vote when called.", + "location": { + "start": { + "column": 6, + "line": 36 + } + } + }, + { + "id": "755", + "name": "Game Play Factory createGamePlayAllElectSheriff should create game play all elect sheriff when called.", + "location": { + "start": { + "column": 6, + "line": 47 + } + } + }, + { + "id": "756", + "name": "Game Play Factory createGamePlayThiefChoosesCard should create game play thief chooses card when called.", + "location": { + "start": { + "column": 6, + "line": 58 + } + } + }, + { + "id": "757", + "name": "Game Play Factory createGamePlayStutteringJudgeChoosesSign should create game play stuttering judge chooses sign when called.", + "location": { + "start": { + "column": 6, + "line": 69 + } + } + }, + { + "id": "758", + "name": "Game Play Factory createGamePlayScapegoatBansVoting should create game play scapegoat bans voting when called.", + "location": { + "start": { + "column": 6, + "line": 80 + } + } + }, + { + "id": "759", + "name": "Game Play Factory createGamePlayDogWolfChoosesSide should create game play dog wolf chooses side when called.", + "location": { + "start": { + "column": 6, + "line": 91 + } + } + }, + { + "id": "760", + "name": "Game Play Factory createGamePlayWildChildChoosesModel should create game play wild child chooses model when called.", + "location": { + "start": { + "column": 6, + "line": 102 + } + } + }, + { + "id": "761", + "name": "Game Play Factory createGamePlayFoxSniffs should create game play fox sniffs when called.", + "location": { + "start": { + "column": 6, + "line": 113 + } + } + }, + { + "id": "762", + "name": "Game Play Factory createGamePlayCharmedMeetEachOther should create game play charmed players meet each other when called.", + "location": { + "start": { + "column": 6, + "line": 124 + } + } + }, + { + "id": "763", + "name": "Game Play Factory createGamePlayLoversMeetEachOther should create game play lovers meet each other when called.", + "location": { + "start": { + "column": 6, + "line": 135 + } + } + }, + { + "id": "764", + "name": "Game Play Factory createGamePlayThreeBrothersMeetEachOther should create game play three brothers meet each other when called.", + "location": { + "start": { + "column": 6, + "line": 146 + } + } + }, + { + "id": "765", + "name": "Game Play Factory createGamePlayTwoSistersMeetEachOther should create game play two sisters meet each other when called.", + "location": { + "start": { + "column": 6, + "line": 157 + } + } + }, + { + "id": "766", + "name": "Game Play Factory createGamePlayRavenMarks should create game play raven marks when called.", + "location": { + "start": { + "column": 6, + "line": 168 + } + } + }, + { + "id": "767", + "name": "Game Play Factory createGamePlayGuardProtects should create game play guard protects when called.", + "location": { + "start": { + "column": 6, + "line": 179 + } + } + }, + { + "id": "768", + "name": "Game Play Factory createGamePlayHunterShoots should create game play hunter shoots when called.", "location": { "start": { "column": 6, - "line": 203 + "line": 190 } } - } - ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { doesCompositionHaveAtLeastOneVillager } from \"../../../../../../../src/modules/game/dto/base/decorators/composition-has-villager.decorator\";\nimport { doesCompositionHaveAtLeastOneWerewolf } from \"../../../../../../../src/modules/game/dto/base/decorators/composition-has-werewolf.decorator\";\nimport { areCompositionRolesMaxInGameRespected } from \"../../../../../../../src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator\";\nimport { areCompositionRolesMinInGameRespected } from \"../../../../../../../src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator\";\nimport type { CreateGamePlayerDto } from \"../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player.dto\";\nimport type { GetGameRandomCompositionDto } from \"../../../../../../../src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto\";\nimport { GameRandomCompositionService } from \"../../../../../../../src/modules/game/providers/services/game-random-composition.service\";\nimport { roles } from \"../../../../../../../src/modules/role/constants/role.constant\";\nimport { ROLE_NAMES, ROLE_SIDES, ROLE_TYPES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport type { Role } from \"../../../../../../../src/modules/role/types/role.type\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeGetGameRandomCompositionDto } from \"../../../../../../factories/game/dto/get-game-random-composition/get-game-random-composition.dto.factory\";\n\ndescribe(\"Game Random Composition Service\", () => {\n let services: { gameRandomComposition: GameRandomCompositionService };\n\n beforeEach(async() => {\n const module: TestingModule = await Test.createTestingModule({ providers: [GameRandomCompositionService] }).compile();\n\n services = { gameRandomComposition: module.get(GameRandomCompositionService) };\n });\n \n describe(\"getGameRandomComposition\", () => {\n it.each([\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(4) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(40) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(40) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(75) }),\n createFakeGetGameRandomCompositionDto({ players: bulkCreateFakeCreateGamePlayerDto(100) }),\n ])(\"should return random composition when called [#$#].\", getGameRandomCompositionDto => {\n const result = services.gameRandomComposition.getGameRandomComposition(getGameRandomCompositionDto);\n\n expect(result).toSatisfyAll(player => player.role.current === player.role.original);\n expect(doesCompositionHaveAtLeastOneWerewolf(result)).toBe(true);\n expect(doesCompositionHaveAtLeastOneVillager(result)).toBe(true);\n expect(areCompositionRolesMinInGameRespected(result)).toBe(true);\n expect(areCompositionRolesMaxInGameRespected(result)).toBe(true);\n });\n });\n \n describe(\"getRandomRolesForSide\", () => {\n it(\"should get only werewolves when side is werewolves and no roles are available.\", () => {\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"]([], 10, ROLE_SIDES.WEREWOLVES);\n\n expect(result).toHaveLength(10);\n expect(result.every(role => role.name === ROLE_NAMES.WEREWOLF)).toBe(true);\n });\n\n it(\"should get only villagers when side is villagers and no roles are available.\", () => {\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"]([], 24, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(24);\n expect(result.every(role => role.name === ROLE_NAMES.VILLAGER)).toBe(true);\n });\n\n it(\"should get seer, witch, pied piper, and all others are villagers when side is villagers and only seer and witch are available.\", () => {\n const availableRoles: Role[] = [\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.PIED_PIPER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n ];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 10, ROLE_SIDES.VILLAGERS);\n\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.PIED_PIPER, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.VILLAGER, side: ROLE_SIDES.VILLAGERS, maxInGame: 99, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n\n it(\"should not get fox when minInGame is too high for left to pick.\", () => {\n const availableRoles: Role[] = [\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.FOX, side: ROLE_SIDES.VILLAGERS, minInGame: 99, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n ];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 90, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(90);\n expect(result.find(role => role.name === ROLE_NAMES.FOX)).toBeUndefined();\n });\n\n it(\"should get three brothers when minInGame is exactly left to pick count.\", () => {\n const availableRoles: Role[] = [{ name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 3, type: ROLE_TYPES.VILLAGER }];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 3, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(3);\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.THREE_BROTHERS, side: ROLE_SIDES.VILLAGERS, minInGame: 3, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n\n it(\"should get two sisters when minInGame is lower than left to pick count.\", () => {\n const availableRoles: Role[] = [\n { name: ROLE_NAMES.TWO_SISTERS, side: ROLE_SIDES.VILLAGERS, minInGame: 2, maxInGame: 2, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 1, type: ROLE_TYPES.VILLAGER },\n ];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 4, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(4);\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.TWO_SISTERS, side: ROLE_SIDES.VILLAGERS, minInGame: 2, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.TWO_SISTERS, side: ROLE_SIDES.VILLAGERS, minInGame: 2, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.SEER, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n\n it(\"should get full witches when maxInGame is equal to left to pick count.\", () => {\n const availableRoles: Role[] = [{ name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 10, type: ROLE_TYPES.VILLAGER }];\n const result = services.gameRandomComposition[\"getRandomRolesForSide\"](availableRoles, 10, ROLE_SIDES.VILLAGERS);\n\n expect(result).toHaveLength(10);\n expect(result).toIncludeAllMembers([\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n { name: ROLE_NAMES.WITCH, side: ROLE_SIDES.VILLAGERS, maxInGame: 0, type: ROLE_TYPES.VILLAGER },\n ]);\n });\n });\n\n describe(\"getWerewolfCountForComposition\", () => {\n it.each<{ playersCount: number; expectedWerewolvesCount: number }>([\n { playersCount: 4, expectedWerewolvesCount: 1 },\n { playersCount: 6, expectedWerewolvesCount: 1 },\n { playersCount: 7, expectedWerewolvesCount: 2 },\n { playersCount: 23, expectedWerewolvesCount: 4 },\n { playersCount: 24, expectedWerewolvesCount: 4 },\n { playersCount: 25, expectedWerewolvesCount: 5 },\n ])(\"should return $expectedWerewolvesCount when called with $playersCount players.\", ({ playersCount, expectedWerewolvesCount }) => {\n expect(services.gameRandomComposition[\"getWerewolfCountForComposition\"](playersCount)).toBe(expectedWerewolvesCount);\n });\n });\n\n describe(\"getAvailableRolesForGameRandomComposition\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(60);\n it(\"should not include some roles when there are excluded.\", () => {\n const excludedRoles: ROLE_NAMES[] = [ROLE_NAMES.SEER, ROLE_NAMES.WITCH, ROLE_NAMES.PIED_PIPER, ROLE_NAMES.WHITE_WEREWOLF];\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](createFakeGetGameRandomCompositionDto({ players, excludedRoles }));\n\n expect(result.every(role => !excludedRoles.includes(role.name))).toBe(true);\n });\n\n it(\"should not include default villager role when powerful villager roles are prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulVillagerRolesPrioritized: false });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.VILLAGER)).toBe(true);\n });\n\n it(\"should include default villager role when powerful villager roles are not prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulVillagerRolesPrioritized: true });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.VILLAGER)).toBe(false);\n });\n\n it(\"should not include default werewolf role when powerful werewolf roles are prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulWerewolfRolesPrioritized: false });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.WEREWOLF)).toBe(true);\n });\n\n it(\"should include default werewolf role when powerful werewolf roles are not prioritized.\", () => {\n const compositionDto = createFakeGetGameRandomCompositionDto({ players, arePowerfulWerewolfRolesPrioritized: true });\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](compositionDto);\n\n expect(result.some(role => role.name === ROLE_NAMES.WEREWOLF)).toBe(false);\n });\n\n it(\"should not include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true and not enough players.\", () => {\n const rolesWithoutRecommendedMinPlayers = roles.filter(role => role.recommendedMinPlayers === undefined);\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](createFakeGetGameRandomCompositionDto({\n players: bulkCreateFakeCreateGamePlayerDto(10),\n excludedRoles: rolesWithoutRecommendedMinPlayers.map(({ name }) => name),\n areRecommendedMinPlayersRespected: true,\n }));\n const expectedRoleNames = [ROLE_NAMES.VILLAGER, ROLE_NAMES.WEREWOLF];\n\n expect(result.every(role => expectedRoleNames.includes(role.name))).toBe(true);\n });\n\n it(\"should include roles with recommended minimum of players when areRecommendedMinPlayersRespected is true when enough players.\", () => {\n const rolesWithoutRecommendedMinPlayers = roles.filter(role => role.recommendedMinPlayers === undefined);\n const result = services.gameRandomComposition[\"getAvailableRolesForGameRandomComposition\"](createFakeGetGameRandomCompositionDto({\n players: bulkCreateFakeCreateGamePlayerDto(12),\n excludedRoles: rolesWithoutRecommendedMinPlayers.map(({ name }) => name),\n areRecommendedMinPlayersRespected: true,\n }));\n const expectedRoleNames = [\n ROLE_NAMES.WEREWOLF,\n ROLE_NAMES.PIED_PIPER,\n ROLE_NAMES.FOX,\n ROLE_NAMES.TWO_SISTERS,\n ROLE_NAMES.WHITE_WEREWOLF,\n ROLE_NAMES.VILE_FATHER_OF_WOLVES,\n ];\n\n expect(result).toHaveLength(6);\n expect(result.every(role => expectedRoleNames.includes(role.name))).toBe(true);\n });\n });\n});" - }, - "tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts": { - "tests": [ + }, { - "id": "724", - "name": "Game Play Factory createGamePlaySheriffSettlesVotes should create game play sheriff settles votes when called.", + "id": "769", + "name": "Game Play Factory createGamePlayWitchUsesPotions should create game play witch uses potions when called.", "location": { "start": { "column": 6, - "line": 14 + "line": 201 } } }, { - "id": "725", - "name": "Game Play Factory createGamePlaySheriffDelegates should create game play sheriff delegates when called.", + "id": "770", + "name": "Game Play Factory createGamePlayPiedPiperCharms should create game play pied piper charms when called.", "location": { "start": { "column": 6, - "line": 25 + "line": 212 } } }, { - "id": "726", - "name": "Game Play Factory createGamePlayAllVote should create game play all vote when called.", + "id": "771", + "name": "Game Play Factory createGamePlayCupidCharms should create game play cupid charms when called.", "location": { "start": { "column": 6, - "line": 36 + "line": 223 } } }, { - "id": "727", - "name": "Game Play Factory createGamePlayAllElectSheriff should create game play all elect sheriff when called.", + "id": "772", + "name": "Game Play Factory createGamePlaySeerLooks should create game play seer looks when called.", "location": { "start": { "column": 6, - "line": 47 + "line": 234 } } }, { - "id": "728", - "name": "Game Play Factory createGamePlayThiefChoosesCard should create game play thief chooses card when called.", + "id": "773", + "name": "Game Play Factory createGamePlayWhiteWerewolfEats should create game play white werewolf eats when called.", "location": { "start": { "column": 6, - "line": 58 + "line": 245 } } }, { - "id": "729", - "name": "Game Play Factory createGamePlayStutteringJudgeChoosesSign should create game play stuttering judge chooses sign when called.", + "id": "774", + "name": "Game Play Factory createGamePlayBigBadWolfEats should create game play big bad wolf eats when called.", "location": { "start": { "column": 6, - "line": 69 + "line": 256 } } }, { - "id": "730", - "name": "Game Play Factory createGamePlayScapegoatBansVoting should create game play scapegoat bans voting when called.", + "id": "775", + "name": "Game Play Factory createGamePlayWerewolvesEat should create game play werewolves eat when called.", "location": { "start": { "column": 6, - "line": 80 + "line": 267 } } }, { - "id": "731", - "name": "Game Play Factory createGamePlayDogWolfChoosesSide should create game play dog wolf chooses side when called.", + "id": "776", + "name": "Game Play Factory createGamePlaySource should create game play source when called.", "location": { "start": { "column": 6, - "line": 91 + "line": 278 } } }, { - "id": "732", - "name": "Game Play Factory createGamePlayWildChildChoosesModel should create game play wild child chooses model when called.", + "id": "777", + "name": "Game Play Factory createGamePlay should create game play when called.", "location": { "start": { "column": 6, - "line": 102 + "line": 293 } } - }, + } + ], + "source": "import { plainToInstance } from \"class-transformer\";\nimport { GAME_PLAY_ACTIONS } from \"../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../../src/modules/game/enums/player.enum\";\nimport { createGamePlay, createGamePlayAllElectSheriff, createGamePlayAllVote, createGamePlayBigBadWolfEats, createGamePlayCharmedMeetEachOther, createGamePlayCupidCharms, createGamePlayDogWolfChoosesSide, createGamePlayFoxSniffs, createGamePlayGuardProtects, createGamePlayHunterShoots, createGamePlayLoversMeetEachOther, createGamePlayPiedPiperCharms, createGamePlayRavenMarks, createGamePlayScapegoatBansVoting, createGamePlaySeerLooks, createGamePlaySheriffDelegates, createGamePlaySheriffSettlesVotes, createGamePlaySource, createGamePlayStutteringJudgeChoosesSign, createGamePlayThiefChoosesCard, createGamePlayThreeBrothersMeetEachOther, createGamePlayTwoSistersMeetEachOther, createGamePlayWerewolvesEat, createGamePlayWhiteWerewolfEats, createGamePlayWildChildChoosesModel, createGamePlayWitchUsesPotions } from \"../../../../../../../src/modules/game/helpers/game-play/game-play.factory\";\nimport { GamePlaySource } from \"../../../../../../../src/modules/game/schemas/game-play/game-play-source/game-play-source.schema\";\nimport { GamePlay } from \"../../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport { ROLE_NAMES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeGamePlaySource } from \"../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlay } from \"../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakePlayer } from \"../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Play Factory\", () => {\n describe(\"createGamePlaySheriffSettlesVotes\", () => {\n it(\"should create game play sheriff settles votes when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.SETTLE_VOTES,\n });\n\n expect(createGamePlaySheriffSettlesVotes()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlaySheriffDelegates\", () => {\n it(\"should create game play sheriff delegates when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.DELEGATE,\n });\n\n expect(createGamePlaySheriffDelegates()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayAllVote\", () => {\n it(\"should create game play all vote when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.VOTE,\n });\n\n expect(createGamePlayAllVote()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayAllElectSheriff\", () => {\n it(\"should create game play all elect sheriff when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n });\n\n expect(createGamePlayAllElectSheriff()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayThiefChoosesCard\", () => {\n it(\"should create game play thief chooses card when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.THIEF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_CARD,\n });\n\n expect(createGamePlayThiefChoosesCard()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayStutteringJudgeChoosesSign\", () => {\n it(\"should create game play stuttering judge chooses sign when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.STUTTERING_JUDGE }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIGN,\n });\n\n expect(createGamePlayStutteringJudgeChoosesSign()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayScapegoatBansVoting\", () => {\n it(\"should create game play scapegoat bans voting when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.SCAPEGOAT }),\n action: GAME_PLAY_ACTIONS.BAN_VOTING,\n });\n\n expect(createGamePlayScapegoatBansVoting()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayDogWolfChoosesSide\", () => {\n it(\"should create game play dog wolf chooses side when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.DOG_WOLF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIDE,\n });\n\n expect(createGamePlayDogWolfChoosesSide()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWildChildChoosesModel\", () => {\n it(\"should create game play wild child chooses model when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n });\n\n expect(createGamePlayWildChildChoosesModel()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayFoxSniffs\", () => {\n it(\"should create game play fox sniffs when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.FOX }),\n action: GAME_PLAY_ACTIONS.SNIFF,\n });\n\n expect(createGamePlayFoxSniffs()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayCharmedMeetEachOther\", () => {\n it(\"should create game play charmed players meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.CHARMED }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayCharmedMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayLoversMeetEachOther\", () => {\n it(\"should create game play lovers meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.LOVERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayLoversMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayThreeBrothersMeetEachOther\", () => {\n it(\"should create game play three brothers meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.THREE_BROTHERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayThreeBrothersMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayTwoSistersMeetEachOther\", () => {\n it(\"should create game play two sisters meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.TWO_SISTERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayTwoSistersMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayRavenMarks\", () => {\n it(\"should create game play raven marks when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.RAVEN }),\n action: GAME_PLAY_ACTIONS.MARK,\n });\n\n expect(createGamePlayRavenMarks()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayGuardProtects\", () => {\n it(\"should create game play guard protects when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.GUARD }),\n action: GAME_PLAY_ACTIONS.PROTECT,\n });\n\n expect(createGamePlayGuardProtects()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayHunterShoots\", () => {\n it(\"should create game play hunter shoots when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.HUNTER }),\n action: GAME_PLAY_ACTIONS.SHOOT,\n });\n\n expect(createGamePlayHunterShoots()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWitchUsesPotions\", () => {\n it(\"should create game play witch uses potions when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WITCH }),\n action: GAME_PLAY_ACTIONS.USE_POTIONS,\n });\n\n expect(createGamePlayWitchUsesPotions()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayPiedPiperCharms\", () => {\n it(\"should create game play pied piper charms when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.PIED_PIPER }),\n action: GAME_PLAY_ACTIONS.CHARM,\n });\n\n expect(createGamePlayPiedPiperCharms()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayCupidCharms\", () => {\n it(\"should create game play cupid charms when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.CUPID }),\n action: GAME_PLAY_ACTIONS.CHARM,\n });\n\n expect(createGamePlayCupidCharms()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlaySeerLooks\", () => {\n it(\"should create game play seer looks when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.SEER }),\n action: GAME_PLAY_ACTIONS.LOOK,\n });\n\n expect(createGamePlaySeerLooks()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWhiteWerewolfEats\", () => {\n it(\"should create game play white werewolf eats when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WHITE_WEREWOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n });\n\n expect(createGamePlayWhiteWerewolfEats()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayBigBadWolfEats\", () => {\n it(\"should create game play big bad wolf eats when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.BIG_BAD_WOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n });\n\n expect(createGamePlayBigBadWolfEats()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWerewolvesEat\", () => {\n it(\"should create game play werewolves eat when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.WEREWOLVES }),\n action: GAME_PLAY_ACTIONS.EAT,\n });\n\n expect(createGamePlayWerewolvesEat()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlaySource\", () => {\n it(\"should create game play source when called.\", () => {\n const gamePlaySource = {\n name: ROLE_NAMES.SEER,\n players: [createFakePlayer()],\n tata: \"toto\",\n };\n\n expect(createGamePlaySource(gamePlaySource)).toStrictEqual(plainToInstance(GamePlaySource, {\n name: ROLE_NAMES.SEER,\n players: gamePlaySource.players,\n }));\n });\n });\n\n describe(\"createGamePlay\", () => {\n it(\"should create game play when called.\", () => {\n const gamePlay: GamePlay = {\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n };\n\n expect(createGamePlay(gamePlay)).toStrictEqual(plainToInstance(GamePlay, {\n source: createGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n }));\n });\n });\n});" + }, + "tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts": { + "tests": [ { - "id": "733", - "name": "Game Play Factory createGamePlayFoxSniffs should create game play fox sniffs when called.", + "id": "778", + "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should return undefined when votes are undefined.", "location": { "start": { "column": 6, - "line": 113 + "line": 24 } } }, { - "id": "734", - "name": "Game Play Factory createGamePlayCharmedMeetEachOther should create game play charmed players meet each other when called.", + "id": "779", + "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should throw error when votes contains one unknown source.", "location": { "start": { "column": 6, - "line": 124 + "line": 31 } } }, { - "id": "735", - "name": "Game Play Factory createGamePlayLoversMeetEachOther should create game play lovers meet each other when called.", + "id": "780", + "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should throw error when votes contains one unknown target.", "location": { "start": { "column": 6, - "line": 135 + "line": 45 } } }, { - "id": "736", - "name": "Game Play Factory createGamePlayThreeBrothersMeetEachOther should create game play three brothers meet each other when called.", + "id": "781", + "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should fill votes with game players when called.", "location": { "start": { "column": 6, - "line": 146 + "line": 59 } } }, { - "id": "737", - "name": "Game Play Factory createGamePlayTwoSistersMeetEachOther should create game play two sisters meet each other when called.", + "id": "782", + "name": "Game Play Helper getTargetsWithRelationsFromMakeGamePlayDto should return undefined when targets are undefined.", "location": { "start": { "column": 6, - "line": 157 + "line": 78 } } }, { - "id": "738", - "name": "Game Play Factory createGamePlayRavenMarks should create game play raven marks when called.", + "id": "783", + "name": "Game Play Helper getTargetsWithRelationsFromMakeGamePlayDto should throw error when targets contains one unknown player.", "location": { "start": { "column": 6, - "line": 168 + "line": 85 } } }, { - "id": "739", - "name": "Game Play Factory createGamePlayGuardProtects should create game play guard protects when called.", + "id": "784", + "name": "Game Play Helper getTargetsWithRelationsFromMakeGamePlayDto should fill targets with game players when called.", "location": { "start": { "column": 6, - "line": 179 + "line": 100 } } }, { - "id": "740", - "name": "Game Play Factory createGamePlayHunterShoots should create game play hunter shoots when called.", + "id": "785", + "name": "Game Play Helper getChosenCardFromMakeGamePlayDto should return undefined when chosenCardId is undefined.", "location": { "start": { "column": 6, - "line": 190 + "line": 120 } } }, { - "id": "741", - "name": "Game Play Factory createGamePlayWitchUsesPotions should create game play witch uses potions when called.", + "id": "786", + "name": "Game Play Helper getChosenCardFromMakeGamePlayDto should throw error when chosen card is unknown from game cards.", "location": { "start": { "column": 6, - "line": 201 + "line": 127 } } }, { - "id": "742", - "name": "Game Play Factory createGamePlayPiedPiperCharms should create game play pied piper charms when called.", + "id": "787", + "name": "Game Play Helper getChosenCardFromMakeGamePlayDto should return chosen card when called.", "location": { "start": { "column": 6, - "line": 212 + "line": 136 } } }, { - "id": "743", - "name": "Game Play Factory createGamePlayCupidCharms should create game play cupid charms when called.", + "id": "788", + "name": "Game Play Helper createMakeGamePlayDtoWithRelations should return same dto with relations when called.", "location": { "start": { "column": 6, - "line": 223 + "line": 145 } } }, { - "id": "744", - "name": "Game Play Factory createGamePlaySeerLooks should create game play seer looks when called.", + "id": "789", + "name": "Game Play Helper findPlayPriorityIndex should return -1 when play is not found in priority list.", "location": { "start": { "column": 6, - "line": 234 + "line": 181 } } }, { - "id": "745", - "name": "Game Play Factory createGamePlayWhiteWerewolfEats should create game play white werewolf eats when called.", + "id": "790", + "name": "Game Play Helper findPlayPriorityIndex should return index when play is found in priority list.", "location": { "start": { "column": 6, - "line": 245 + "line": 187 } } }, { - "id": "746", - "name": "Game Play Factory createGamePlayBigBadWolfEats should create game play big bad wolf eats when called.", + "id": "791", + "name": "Game Play Helper areGamePlaysEqual should return true when both plays are equal [#0].", "location": { "start": { - "column": 6, - "line": 256 + "column": 8, + "line": 220 } } }, { - "id": "747", - "name": "Game Play Factory createGamePlayWerewolvesEat should create game play werewolves eat when called.", + "id": "792", + "name": "Game Play Helper areGamePlaysEqual should return false when both sources are not equal [#1].", "location": { "start": { - "column": 6, - "line": 267 + "column": 8, + "line": 220 } } }, { - "id": "748", - "name": "Game Play Factory createGamePlaySource should create game play source when called.", + "id": "793", + "name": "Game Play Helper areGamePlaysEqual should return false when both actions are not equal [#2].", "location": { "start": { - "column": 6, - "line": 278 + "column": 8, + "line": 220 } } }, { - "id": "749", - "name": "Game Play Factory createGamePlay should create game play when called.", + "id": "794", + "name": "Game Play Helper areGamePlaysEqual should return false when both causes are not equal [#3].", "location": { "start": { - "column": 6, - "line": 293 + "column": 8, + "line": 220 } } } ], - "source": "import { plainToInstance } from \"class-transformer\";\nimport { GAME_PLAY_ACTIONS } from \"../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from \"../../../../../../../src/modules/game/enums/player.enum\";\nimport { createGamePlay, createGamePlayAllElectSheriff, createGamePlayAllVote, createGamePlayBigBadWolfEats, createGamePlayCharmedMeetEachOther, createGamePlayCupidCharms, createGamePlayDogWolfChoosesSide, createGamePlayFoxSniffs, createGamePlayGuardProtects, createGamePlayHunterShoots, createGamePlayLoversMeetEachOther, createGamePlayPiedPiperCharms, createGamePlayRavenMarks, createGamePlayScapegoatBansVoting, createGamePlaySeerLooks, createGamePlaySheriffDelegates, createGamePlaySheriffSettlesVotes, createGamePlaySource, createGamePlayStutteringJudgeChoosesSign, createGamePlayThiefChoosesCard, createGamePlayThreeBrothersMeetEachOther, createGamePlayTwoSistersMeetEachOther, createGamePlayWerewolvesEat, createGamePlayWhiteWerewolfEats, createGamePlayWildChildChoosesModel, createGamePlayWitchUsesPotions } from \"../../../../../../../src/modules/game/helpers/game-play/game-play.factory\";\nimport { GamePlaySource } from \"../../../../../../../src/modules/game/schemas/game-play/game-play-source.schema\";\nimport { GamePlay } from \"../../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport { ROLE_NAMES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeGamePlaySource } from \"../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory\";\nimport { createFakeGamePlay } from \"../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakePlayer } from \"../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Play Factory\", () => {\n describe(\"createGamePlaySheriffSettlesVotes\", () => {\n it(\"should create game play sheriff settles votes when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.SETTLE_VOTES,\n });\n\n expect(createGamePlaySheriffSettlesVotes()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlaySheriffDelegates\", () => {\n it(\"should create game play sheriff delegates when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_ATTRIBUTE_NAMES.SHERIFF }),\n action: GAME_PLAY_ACTIONS.DELEGATE,\n });\n\n expect(createGamePlaySheriffDelegates()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayAllVote\", () => {\n it(\"should create game play all vote when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.VOTE,\n });\n\n expect(createGamePlayAllVote()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayAllElectSheriff\", () => {\n it(\"should create game play all elect sheriff when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.ALL }),\n action: GAME_PLAY_ACTIONS.ELECT_SHERIFF,\n });\n\n expect(createGamePlayAllElectSheriff()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayThiefChoosesCard\", () => {\n it(\"should create game play thief chooses card when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.THIEF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_CARD,\n });\n\n expect(createGamePlayThiefChoosesCard()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayStutteringJudgeChoosesSign\", () => {\n it(\"should create game play stuttering judge chooses sign when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.STUTTERING_JUDGE }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIGN,\n });\n\n expect(createGamePlayStutteringJudgeChoosesSign()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayScapegoatBansVoting\", () => {\n it(\"should create game play scapegoat bans voting when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.SCAPEGOAT }),\n action: GAME_PLAY_ACTIONS.BAN_VOTING,\n });\n\n expect(createGamePlayScapegoatBansVoting()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayDogWolfChoosesSide\", () => {\n it(\"should create game play dog wolf chooses side when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.DOG_WOLF }),\n action: GAME_PLAY_ACTIONS.CHOOSE_SIDE,\n });\n\n expect(createGamePlayDogWolfChoosesSide()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWildChildChoosesModel\", () => {\n it(\"should create game play wild child chooses model when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n });\n\n expect(createGamePlayWildChildChoosesModel()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayFoxSniffs\", () => {\n it(\"should create game play fox sniffs when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.FOX }),\n action: GAME_PLAY_ACTIONS.SNIFF,\n });\n\n expect(createGamePlayFoxSniffs()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayCharmedMeetEachOther\", () => {\n it(\"should create game play charmed players meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.CHARMED }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayCharmedMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayLoversMeetEachOther\", () => {\n it(\"should create game play lovers meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.LOVERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayLoversMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayThreeBrothersMeetEachOther\", () => {\n it(\"should create game play three brothers meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.THREE_BROTHERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayThreeBrothersMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayTwoSistersMeetEachOther\", () => {\n it(\"should create game play two sisters meet each other when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.TWO_SISTERS }),\n action: GAME_PLAY_ACTIONS.MEET_EACH_OTHER,\n });\n\n expect(createGamePlayTwoSistersMeetEachOther()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayRavenMarks\", () => {\n it(\"should create game play raven marks when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.RAVEN }),\n action: GAME_PLAY_ACTIONS.MARK,\n });\n\n expect(createGamePlayRavenMarks()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayGuardProtects\", () => {\n it(\"should create game play guard protects when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.GUARD }),\n action: GAME_PLAY_ACTIONS.PROTECT,\n });\n\n expect(createGamePlayGuardProtects()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayHunterShoots\", () => {\n it(\"should create game play hunter shoots when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.HUNTER }),\n action: GAME_PLAY_ACTIONS.SHOOT,\n });\n\n expect(createGamePlayHunterShoots()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWitchUsesPotions\", () => {\n it(\"should create game play witch uses potions when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WITCH }),\n action: GAME_PLAY_ACTIONS.USE_POTIONS,\n });\n\n expect(createGamePlayWitchUsesPotions()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayPiedPiperCharms\", () => {\n it(\"should create game play pied piper charms when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.PIED_PIPER }),\n action: GAME_PLAY_ACTIONS.CHARM,\n });\n\n expect(createGamePlayPiedPiperCharms()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayCupidCharms\", () => {\n it(\"should create game play cupid charms when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.CUPID }),\n action: GAME_PLAY_ACTIONS.CHARM,\n });\n\n expect(createGamePlayCupidCharms()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlaySeerLooks\", () => {\n it(\"should create game play seer looks when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.SEER }),\n action: GAME_PLAY_ACTIONS.LOOK,\n });\n\n expect(createGamePlaySeerLooks()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWhiteWerewolfEats\", () => {\n it(\"should create game play white werewolf eats when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WHITE_WEREWOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n });\n\n expect(createGamePlayWhiteWerewolfEats()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayBigBadWolfEats\", () => {\n it(\"should create game play big bad wolf eats when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: ROLE_NAMES.BIG_BAD_WOLF }),\n action: GAME_PLAY_ACTIONS.EAT,\n });\n\n expect(createGamePlayBigBadWolfEats()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlayWerewolvesEat\", () => {\n it(\"should create game play werewolves eat when called.\", () => {\n const expectedGamePlay = createFakeGamePlay({\n source: createFakeGamePlaySource({ name: PLAYER_GROUPS.WEREWOLVES }),\n action: GAME_PLAY_ACTIONS.EAT,\n });\n\n expect(createGamePlayWerewolvesEat()).toStrictEqual(expectedGamePlay);\n });\n });\n\n describe(\"createGamePlaySource\", () => {\n it(\"should create game play source when called.\", () => {\n const gamePlaySource = {\n name: ROLE_NAMES.SEER,\n players: [createFakePlayer()],\n tata: \"toto\",\n };\n\n expect(createGamePlaySource(gamePlaySource)).toStrictEqual(plainToInstance(GamePlaySource, {\n name: ROLE_NAMES.SEER,\n players: gamePlaySource.players,\n }));\n });\n });\n\n describe(\"createGamePlay\", () => {\n it(\"should create game play when called.\", () => {\n const gamePlay: GamePlay = {\n source: createFakeGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n };\n\n expect(createGamePlay(gamePlay)).toStrictEqual(plainToInstance(GamePlay, {\n source: createGamePlaySource({ name: ROLE_NAMES.WILD_CHILD }),\n action: GAME_PLAY_ACTIONS.CHOOSE_MODEL,\n }));\n });\n });\n});" + "source": "import type { MakeGamePlayTargetWithRelationsDto } from \"../../../../../../../src/modules/game/dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../../../../../src/modules/game/dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../../../../../src/modules/game/dto/make-game-play/make-game-play-with-relations.dto\";\nimport { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from \"../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { areGamePlaysEqual, createMakeGamePlayDtoWithRelations, findPlayPriorityIndex, getChosenCardFromMakeGamePlayDto, getTargetsWithRelationsFromMakeGamePlayDto, getVotesWithRelationsFromMakeGamePlayDto } from \"../../../../../../../src/modules/game/helpers/game-play/game-play.helper\";\nimport type { GamePlay } from \"../../../../../../../src/modules/game/schemas/game-play/game-play.schema\";\nimport { ROLE_SIDES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport { API_RESOURCES } from \"../../../../../../../src/shared/api/enums/api.enum\";\nimport { ResourceNotFoundException } from \"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { createFakeMakeGamePlayTargetWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-target-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayVoteWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-vote-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards } from \"../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayHunterShoots, createFakeGamePlaySeerLooks, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats } from \"../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../../factories/game/schemas/game.schema.factory\";\nimport { bulkCreateFakePlayers } from \"../../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../../factories/shared/mongoose/mongoose.factory\";\n\njest.mock(\"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\");\n\ndescribe(\"Game Play Helper\", () => {\n describe(\"getVotesWithRelationsFromMakeGamePlayDto\", () => {\n it(\"should return undefined when votes are undefined.\", () => {\n const game = createFakeGame();\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n\n expect(getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toBeUndefined();\n });\n\n it(\"should throw error when votes contains one unknown source.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const fakePlayerId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: fakePlayerId, targetId: game.players[0]._id },\n ],\n });\n\n expect(() => getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.PLAYERS, fakePlayerId.toString(), \"Game Play - Player in `votes.source` is not in the game players\");\n });\n\n it(\"should throw error when votes contains one unknown target.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const fakePlayerId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: game.players[1]._id, targetId: fakePlayerId },\n ],\n });\n\n expect(() => getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.PLAYERS, fakePlayerId.toString(), \"Game Play - Player in `votes.target` is not in the game players\");\n });\n\n it(\"should fill votes with game players when called.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: game.players[1]._id, targetId: game.players[0]._id },\n ],\n });\n const votes = getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game);\n const expectedVotes = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[0], target: game.players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[1], target: game.players[0] }),\n ];\n\n expect(votes).toStrictEqual(expectedVotes);\n });\n });\n\n describe(\"getTargetsWithRelationsFromMakeGamePlayDto\", () => {\n it(\"should return undefined when targets are undefined.\", () => {\n const game = createFakeGame();\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n\n expect(getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toBeUndefined();\n });\n\n it(\"should throw error when targets contains one unknown player.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const fakePlayerId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n targets: [\n { playerId: game.players[0]._id },\n { playerId: game.players[1]._id },\n { playerId: fakePlayerId },\n ],\n });\n\n expect(() => getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.PLAYERS, fakePlayerId.toString(), \"Game Play - Player in `targets.player` is not in the game players\");\n });\n\n it(\"should fill targets with game players when called.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n targets: [\n { playerId: game.players[0]._id, isInfected: true },\n { playerId: game.players[1]._id },\n { playerId: game.players[2]._id, drankPotion: WITCH_POTIONS.DEATH },\n ],\n });\n const expectedTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[2], drankPotion: WITCH_POTIONS.DEATH }),\n ];\n\n expect(getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toStrictEqual(expectedTargets);\n });\n });\n\n describe(\"getChosenCardFromMakeGamePlayDto\", () => {\n it(\"should return undefined when chosenCardId is undefined.\", () => {\n const game = createFakeGame();\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n\n expect(getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game)).toBeUndefined();\n });\n\n it(\"should throw error when chosen card is unknown from game cards.\", () => {\n const game = createFakeGame({ additionalCards: bulkCreateFakeGameAdditionalCards(4) });\n const fakeCardId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({ chosenCardId: fakeCardId });\n\n expect(() => getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAME_ADDITIONAL_CARDS, fakeCardId.toString(), \"Game Play - Chosen card is not in the game additional cards\");\n });\n\n it(\"should return chosen card when called.\", () => {\n const game = createFakeGame({ additionalCards: bulkCreateFakeGameAdditionalCards(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({ chosenCardId: game.additionalCards?.[3]._id });\n\n expect(getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game)).toStrictEqual(game.additionalCards?.[3]);\n });\n });\n\n describe(\"createMakeGamePlayDtoWithRelations\", () => {\n it(\"should return same dto with relations when called.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4), additionalCards: bulkCreateFakeGameAdditionalCards(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: game.players[1]._id, targetId: game.players[0]._id },\n ],\n targets: [\n { playerId: game.players[0]._id, isInfected: true },\n { playerId: game.players[1]._id },\n { playerId: game.players[2]._id, drankPotion: WITCH_POTIONS.DEATH },\n ],\n chosenCardId: game.additionalCards?.[3]._id,\n doesJudgeRequestAnotherVote: true,\n chosenSide: ROLE_SIDES.WEREWOLVES,\n });\n const expectedMakeGamePlayDtoWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({\n votes: [\n { source: game.players[0], target: game.players[1] },\n { source: game.players[1], target: game.players[0] },\n ],\n targets: [\n { player: game.players[0], isInfected: true },\n { player: game.players[1] },\n { player: game.players[2], drankPotion: WITCH_POTIONS.DEATH },\n ],\n chosenCard: game.additionalCards?.[3],\n doesJudgeRequestAnotherVote: true,\n chosenSide: ROLE_SIDES.WEREWOLVES,\n });\n\n expect(createMakeGamePlayDtoWithRelations(makeGamePlayDto, game)).toStrictEqual(expectedMakeGamePlayDtoWithRelationsDto);\n });\n });\n\n describe(\"findPlayPriorityIndex\", () => {\n it(\"should return -1 when play is not found in priority list.\", () => {\n const gamePlay = createFakeGamePlaySeerLooks({ action: GAME_PLAY_ACTIONS.EAT });\n\n expect(findPlayPriorityIndex(gamePlay)).toBe(-1);\n });\n\n it(\"should return index when play is found in priority list.\", () => {\n const gamePlay = createFakeGamePlayHunterShoots();\n\n expect(findPlayPriorityIndex(gamePlay)).toBe(0);\n });\n });\n\n describe(\"areGamePlaysEqual\", () => {\n it.each<{ playA: GamePlay; playB: GamePlay; result: boolean; test: string }>([\n {\n playA: createFakeGamePlaySeerLooks(),\n playB: createFakeGamePlaySeerLooks(),\n result: true,\n test: \"both plays are equal\",\n },\n {\n playA: createFakeGamePlayWerewolvesEat(),\n playB: createFakeGamePlayWhiteWerewolfEats(),\n result: false,\n test: \"both sources are not equal\",\n },\n {\n playA: createFakeGamePlayAllVote(),\n playB: createFakeGamePlayAllElectSheriff(),\n result: false,\n test: \"both actions are not equal\",\n },\n {\n playA: createFakeGamePlayAllVote(),\n playB: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }),\n result: false,\n test: \"both causes are not equal\",\n },\n ])(\"should return $result when $test [#$#].\", ({ playA, playB, result }) => {\n expect(areGamePlaysEqual(playA, playB)).toBe(result);\n });\n });\n});" }, "tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.helper.spec.ts": { "tests": [ { - "id": "750", + "id": "795", "name": "Player Attribute Helper isPlayerAttributeActive should return true when activation is undefined.", "location": { "start": { @@ -96317,7 +105921,7 @@ } }, { - "id": "751", + "id": "796", "name": "Player Attribute Helper isPlayerAttributeActive should return false when activation turn is not reached yet.", "location": { "start": { @@ -96327,7 +105931,7 @@ } }, { - "id": "752", + "id": "797", "name": "Player Attribute Helper isPlayerAttributeActive should return true when activation turn is reached (+1).", "location": { "start": { @@ -96337,7 +105941,7 @@ } }, { - "id": "753", + "id": "798", "name": "Player Attribute Helper isPlayerAttributeActive should return false when activation turn is same as game's turn but game's phase is NIGHT and activation phase is DAY.", "location": { "start": { @@ -96347,7 +105951,7 @@ } }, { - "id": "754", + "id": "799", "name": "Player Attribute Helper isPlayerAttributeActive should return true when activation turn is same as game's turn and phase too.", "location": { "start": { @@ -96357,7 +105961,7 @@ } }, { - "id": "755", + "id": "800", "name": "Player Attribute Helper isPlayerAttributeActive should return true when activation turn is same as game's turn, phase are different but game's phase is DAY anyway.", "location": { "start": { @@ -96367,7 +105971,7 @@ } }, { - "id": "756", + "id": "801", "name": "Player Attribute Helper getPlayerAttributeWithName should get attribute when player has this attribute.", "location": { "start": { @@ -96377,7 +105981,7 @@ } }, { - "id": "757", + "id": "802", "name": "Player Attribute Helper getPlayerAttributeWithName should return undefined when player doesn't have the attribute.", "location": { "start": { @@ -96387,7 +105991,7 @@ } }, { - "id": "758", + "id": "803", "name": "Player Attribute Helper doesPlayerHaveAttributeWithName should return false when player doesn't have any attributes.", "location": { "start": { @@ -96397,7 +106001,7 @@ } }, { - "id": "759", + "id": "804", "name": "Player Attribute Helper doesPlayerHaveAttributeWithName should return false when player doesn't have the attribute.", "location": { "start": { @@ -96407,7 +106011,7 @@ } }, { - "id": "760", + "id": "805", "name": "Player Attribute Helper doesPlayerHaveAttributeWithName should return true when player has the attribute.", "location": { "start": { @@ -96417,7 +106021,7 @@ } }, { - "id": "761", + "id": "806", "name": "Player Attribute Helper getActivePlayerAttributeWithName should return undefined when player doesn't have the attribute.", "location": { "start": { @@ -96427,7 +106031,7 @@ } }, { - "id": "762", + "id": "807", "name": "Player Attribute Helper getActivePlayerAttributeWithName should return undefined when player has the attribute but not active yet.", "location": { "start": { @@ -96437,7 +106041,7 @@ } }, { - "id": "763", + "id": "808", "name": "Player Attribute Helper getActivePlayerAttributeWithName should return the attribute when player has the attribute and is active yet.", "location": { "start": { @@ -96447,7 +106051,7 @@ } }, { - "id": "764", + "id": "809", "name": "Player Attribute Helper doesPlayerHaveActiveAttributeWithName should return false when player doesn't have the attribute.", "location": { "start": { @@ -96457,7 +106061,7 @@ } }, { - "id": "765", + "id": "810", "name": "Player Attribute Helper doesPlayerHaveActiveAttributeWithName should return false when player has the attribute but not active yet.", "location": { "start": { @@ -96467,7 +106071,7 @@ } }, { - "id": "766", + "id": "811", "name": "Player Attribute Helper doesPlayerHaveActiveAttributeWithName should return true when player has the attribute and is active yet.", "location": { "start": { @@ -96477,7 +106081,7 @@ } }, { - "id": "767", + "id": "812", "name": "Player Attribute Helper getPlayerAttributeWithNameAndSource should get attribute when player has this attribute.", "location": { "start": { @@ -96487,7 +106091,7 @@ } }, { - "id": "768", + "id": "813", "name": "Player Attribute Helper getPlayerAttributeWithNameAndSource should return undefined when player doesn't have the attribute with correct name.", "location": { "start": { @@ -96497,7 +106101,7 @@ } }, { - "id": "769", + "id": "814", "name": "Player Attribute Helper getPlayerAttributeWithNameAndSource should return undefined when player doesn't have the attribute with correct source.", "location": { "start": { @@ -96507,7 +106111,7 @@ } }, { - "id": "770", + "id": "815", "name": "Player Attribute Helper doesPlayerHaveAttributeWithNameAndSource should get attribute when player has this attribute.", "location": { "start": { @@ -96517,7 +106121,7 @@ } }, { - "id": "771", + "id": "816", "name": "Player Attribute Helper doesPlayerHaveAttributeWithNameAndSource should return undefined when player doesn't have the attribute with correct name.", "location": { "start": { @@ -96527,7 +106131,7 @@ } }, { - "id": "772", + "id": "817", "name": "Player Attribute Helper doesPlayerHaveAttributeWithNameAndSource should return undefined when player doesn't have the attribute with correct source.", "location": { "start": { @@ -96542,7 +106146,7 @@ "tests/unit/specs/modules/game/helpers/player/player-attribute/player-attribute.factory.spec.ts": { "tests": [ { - "id": "773", + "id": "818", "name": "Player Attribute Factory createContaminatedByRustySwordKnightPlayerAttribute should create contaminated attribute by rusty sword knight when called.", "location": { "start": { @@ -96552,7 +106156,7 @@ } }, { - "id": "774", + "id": "819", "name": "Player Attribute Factory createGrowledByBearTamerPlayerAttribute should create growled attribute by bear tamer when called.", "location": { "start": { @@ -96562,7 +106166,7 @@ } }, { - "id": "775", + "id": "820", "name": "Player Attribute Factory createCharmedByPiedPiperPlayerAttribute should create charmed attribute by pied piper when called.", "location": { "start": { @@ -96572,7 +106176,7 @@ } }, { - "id": "776", + "id": "821", "name": "Player Attribute Factory createCantVoteByAllPlayerAttribute should create can't vote attribute by all when called.", "location": { "start": { @@ -96582,7 +106186,7 @@ } }, { - "id": "777", + "id": "822", "name": "Player Attribute Factory createCantVoteByScapegoatPlayerAttribute should create can't vote attribute by scapegoat active in next turn when game phase is day.", "location": { "start": { @@ -96592,7 +106196,7 @@ } }, { - "id": "778", + "id": "823", "name": "Player Attribute Factory createCantVoteByScapegoatPlayerAttribute should create can't vote attribute by scapegoat active in current turn when game phase is night.", "location": { "start": { @@ -96602,7 +106206,7 @@ } }, { - "id": "779", + "id": "824", "name": "Player Attribute Factory createPowerlessByFoxPlayerAttribute should create powerless attribute by fox when called.", "location": { "start": { @@ -96612,7 +106216,7 @@ } }, { - "id": "780", + "id": "825", "name": "Player Attribute Factory createPowerlessByAncientPlayerAttribute should create powerless attribute by ancient when called.", "location": { "start": { @@ -96622,7 +106226,7 @@ } }, { - "id": "781", + "id": "826", "name": "Player Attribute Factory createWorshipedByWildChildPlayerAttribute should create worshiped attribute by wild child when called.", "location": { "start": { @@ -96632,7 +106236,7 @@ } }, { - "id": "782", + "id": "827", "name": "Player Attribute Factory createInLoveByCupidPlayerAttribute should create in love attribute by cupid when called.", "location": { "start": { @@ -96642,7 +106246,7 @@ } }, { - "id": "783", + "id": "828", "name": "Player Attribute Factory createRavenMarkByRavenPlayerAttribute should create raven-marked attribute by raven when called.", "location": { "start": { @@ -96652,7 +106256,7 @@ } }, { - "id": "784", + "id": "829", "name": "Player Attribute Factory createProtectedByGuardPlayerAttribute should create protected attribute by guard when called.", "location": { "start": { @@ -96662,7 +106266,7 @@ } }, { - "id": "785", + "id": "830", "name": "Player Attribute Factory createDrankDeathPotionByWitchPlayerAttribute should create drank death potion attribute by witch when called.", "location": { "start": { @@ -96672,7 +106276,7 @@ } }, { - "id": "786", + "id": "831", "name": "Player Attribute Factory createDrankLifePotionByWitchPlayerAttribute should create drank life potion attribute by witch when called.", "location": { "start": { @@ -96682,7 +106286,7 @@ } }, { - "id": "787", + "id": "832", "name": "Player Attribute Factory createEatenByBigBadWolfPlayerAttribute should create eaten attribute by big bad wolf when called.", "location": { "start": { @@ -96692,7 +106296,7 @@ } }, { - "id": "788", + "id": "833", "name": "Player Attribute Factory createEatenByWhiteWerewolfPlayerAttribute should create eaten attribute by white werewolves when called.", "location": { "start": { @@ -96702,7 +106306,7 @@ } }, { - "id": "789", + "id": "834", "name": "Player Attribute Factory createEatenByWerewolvesPlayerAttribute should create eaten attribute by werewolves when called.", "location": { "start": { @@ -96712,7 +106316,7 @@ } }, { - "id": "790", + "id": "835", "name": "Player Attribute Factory createSeenBySeerPlayerAttribute should create seen attribute by seer when called.", "location": { "start": { @@ -96722,7 +106326,7 @@ } }, { - "id": "791", + "id": "836", "name": "Player Attribute Factory createSheriffBySheriffPlayerAttribute should create sheriff attribute by sheriff when called.", "location": { "start": { @@ -96732,7 +106336,7 @@ } }, { - "id": "792", + "id": "837", "name": "Player Attribute Factory createSheriffByAllPlayerAttribute should create sheriff attribute by all when called.", "location": { "start": { @@ -96742,7 +106346,7 @@ } }, { - "id": "793", + "id": "838", "name": "Player Attribute Factory createPlayerAttribute should create player attribute when called.", "location": { "start": { @@ -96757,7 +106361,7 @@ "tests/unit/specs/modules/game/providers/services/game-phase/game-phase.service.spec.ts": { "tests": [ { - "id": "794", + "id": "839", "name": "Game Phase Service applyEndingGamePhasePlayerAttributesOutcomesToPlayers should call ending game phase method for each player when called.", "location": { "start": { @@ -96767,7 +106371,7 @@ } }, { - "id": "795", + "id": "840", "name": "Game Phase Service switchPhaseAndAppendGamePhaseUpcomingPlays should switch to night and append upcoming night plays when game's current phase is DAY.", "location": { "start": { @@ -96777,7 +106381,7 @@ } }, { - "id": "796", + "id": "841", "name": "Game Phase Service switchPhaseAndAppendGamePhaseUpcomingPlays should switch to day and append upcoming day plays when game's current phase is NIGHT.", "location": { "start": { @@ -96787,7 +106391,7 @@ } }, { - "id": "797", + "id": "842", "name": "Game Phase Service applyEndingDayPlayerAttributesOutcomesToPlayer should do nothing when player doesn't have the contaminated attribute.", "location": { "start": { @@ -96797,7 +106401,7 @@ } }, { - "id": "798", + "id": "843", "name": "Game Phase Service applyEndingDayPlayerAttributesOutcomesToPlayer should call contaminated method when player has the contaminated attribute.", "location": { "start": { @@ -96807,7 +106411,7 @@ } }, { - "id": "799", + "id": "844", "name": "Game Phase Service applyEndingNightPlayerAttributesOutcomesToPlayer should do nothing when player doesn't have any ending night attributes.", "location": { "start": { @@ -96817,7 +106421,7 @@ } }, { - "id": "800", + "id": "845", "name": "Game Phase Service applyEndingNightPlayerAttributesOutcomesToPlayer should call all attributes outcomes methods when player has every attributes.", "location": { "start": { @@ -96827,7 +106431,7 @@ } }, { - "id": "801", + "id": "846", "name": "Game Phase Service applyEndingGamePhasePlayerAttributesOutcomesToPlayer should call ending night method when game phase is night.", "location": { "start": { @@ -96837,7 +106441,7 @@ } }, { - "id": "802", + "id": "847", "name": "Game Phase Service applyEndingGamePhasePlayerAttributesOutcomesToPlayer should call ending day method when game phase is day.", "location": { "start": { @@ -96849,31 +106453,31 @@ ], "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { GAME_PHASES } from \"../../../../../../../../src/modules/game/enums/game.enum\";\nimport { GamePhaseService } from \"../../../../../../../../src/modules/game/providers/services/game-phase/game-phase.service\";\nimport { GamePlayService } from \"../../../../../../../../src/modules/game/providers/services/game-play/game-play.service\";\nimport { PlayerAttributeService } from \"../../../../../../../../src/modules/game/providers/services/player/player-attribute.service\";\nimport { createFakeGamePlayAllVote, createFakeGamePlayHunterShoots, createFakeGamePlaySeerLooks, createFakeGamePlayWerewolvesEat } from \"../../../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeContaminatedByRustySwordKnightPlayerAttribute, createFakeDrankDeathPotionByWitchPlayerAttribute, createFakeEatenByWerewolvesPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeWerewolfAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Game Phase Service\", () => {\n let services: { gamePhase: GamePhaseService };\n let mocks: {\n playerAttributeService: {\n applyDrankDeathPotionAttributeOutcomes: jest.SpyInstance;\n applyEatenAttributeOutcomes: jest.SpyInstance;\n applyContaminatedAttributeOutcomes: jest.SpyInstance;\n };\n gamePlayService: {\n getUpcomingNightPlays: jest.SpyInstance;\n getUpcomingDayPlays: jest.SpyInstance;\n };\n };\n\n beforeEach(async() => {\n mocks = {\n playerAttributeService: {\n applyDrankDeathPotionAttributeOutcomes: jest.fn(),\n applyEatenAttributeOutcomes: jest.fn(),\n applyContaminatedAttributeOutcomes: jest.fn(),\n },\n gamePlayService: {\n getUpcomingNightPlays: jest.fn(),\n getUpcomingDayPlays: jest.fn(),\n },\n };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n GamePhaseService,\n {\n provide: PlayerAttributeService,\n useValue: mocks.playerAttributeService,\n },\n {\n provide: GamePlayService,\n useValue: mocks.gamePlayService,\n },\n ],\n }).compile();\n\n services = { gamePhase: module.get(GamePhaseService) };\n });\n \n describe(\"applyEndingGamePhasePlayerAttributesOutcomesToPlayers\", () => {\n let localMocks: {\n gamePhaseService: {\n applyEndingGamePhasePlayerAttributesOutcomesToPlayer: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = { gamePhaseService: { applyEndingGamePhasePlayerAttributesOutcomesToPlayer: jest.spyOn(services.gamePhase as unknown as { applyEndingGamePhasePlayerAttributesOutcomesToPlayer }, \"applyEndingGamePhasePlayerAttributesOutcomesToPlayer\").mockImplementation() } };\n });\n\n it(\"should call ending game phase method for each player when called.\", async() => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ phase: GAME_PHASES.NIGHT, players });\n localMocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayer.mockResolvedValue(game);\n await services.gamePhase.applyEndingGamePhasePlayerAttributesOutcomesToPlayers(game);\n\n expect(localMocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayer).toHaveBeenNthCalledWith(1, players[0], game);\n expect(localMocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayer).toHaveBeenNthCalledWith(2, players[1], game);\n expect(localMocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayer).toHaveBeenNthCalledWith(3, players[2], game);\n expect(localMocks.gamePhaseService.applyEndingGamePhasePlayerAttributesOutcomesToPlayer).toHaveBeenNthCalledWith(4, players[3], game);\n });\n });\n\n describe(\"switchPhaseAndAppendGamePhaseUpcomingPlays\", () => {\n const upcomingDayPlays = [createFakeGamePlayAllVote()];\n const upcomingNightPlays = [createFakeGamePlayWerewolvesEat(), createFakeGamePlaySeerLooks()];\n\n beforeEach(() => {\n mocks.gamePlayService.getUpcomingDayPlays.mockReturnValue(upcomingDayPlays);\n mocks.gamePlayService.getUpcomingNightPlays.mockResolvedValue(upcomingNightPlays);\n });\n\n it(\"should switch to night and append upcoming night plays when game's current phase is DAY.\", async() => {\n const game = createFakeGame({ phase: GAME_PHASES.DAY, upcomingPlays: [createFakeGamePlayHunterShoots()] });\n const expectedGame = createFakeGame({\n ...game,\n phase: GAME_PHASES.NIGHT,\n turn: game.turn + 1,\n upcomingPlays: [...game.upcomingPlays, ...upcomingNightPlays],\n });\n\n await expect(services.gamePhase.switchPhaseAndAppendGamePhaseUpcomingPlays(game)).resolves.toStrictEqual(expectedGame);\n });\n\n it(\"should switch to day and append upcoming day plays when game's current phase is NIGHT.\", async() => {\n const game = createFakeGame({ phase: GAME_PHASES.NIGHT, upcomingPlays: [createFakeGamePlayHunterShoots()] });\n const expectedGame = createFakeGame({\n ...game,\n phase: GAME_PHASES.DAY,\n upcomingPlays: [...game.upcomingPlays, ...upcomingDayPlays],\n });\n\n await expect(services.gamePhase.switchPhaseAndAppendGamePhaseUpcomingPlays(game)).resolves.toStrictEqual(expectedGame);\n });\n });\n\n describe(\"applyEndingDayPlayerAttributesOutcomesToPlayer\", () => {\n it(\"should do nothing when player doesn't have the contaminated attribute.\", async() => {\n const player = createFakeWerewolfAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] });\n const game = createFakeGame({ players: [player] });\n \n await expect(services.gamePhase[\"applyEndingDayPlayerAttributesOutcomesToPlayer\"](player, game)).resolves.toStrictEqual(game);\n expect(mocks.playerAttributeService.applyContaminatedAttributeOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call contaminated method when player has the contaminated attribute.\", async() => {\n const player = createFakeWerewolfAlivePlayer({ attributes: [createFakeContaminatedByRustySwordKnightPlayerAttribute()] });\n const game = createFakeGame({ players: [player] });\n await services.gamePhase[\"applyEndingDayPlayerAttributesOutcomesToPlayer\"](player, game);\n\n expect(mocks.playerAttributeService.applyContaminatedAttributeOutcomes).toHaveBeenCalledExactlyOnceWith(player, game);\n });\n });\n\n describe(\"applyEndingNightPlayerAttributesOutcomesToPlayer\", () => {\n it(\"should do nothing when player doesn't have any ending night attributes.\", async() => {\n const player = createFakeWerewolfAlivePlayer({ attributes: [createFakeSheriffByAllPlayerAttribute()] });\n const game = createFakeGame({ players: [player] });\n\n await expect(services.gamePhase[\"applyEndingNightPlayerAttributesOutcomesToPlayer\"](player, game)).resolves.toStrictEqual(game);\n expect(mocks.playerAttributeService.applyEatenAttributeOutcomes).not.toHaveBeenCalled();\n expect(mocks.playerAttributeService.applyDrankDeathPotionAttributeOutcomes).not.toHaveBeenCalled();\n });\n\n it(\"should call all attributes outcomes methods when player has every attributes.\", async() => {\n const attributes = [\n createFakeSheriffByAllPlayerAttribute(),\n createFakeEatenByWerewolvesPlayerAttribute(),\n createFakeDrankDeathPotionByWitchPlayerAttribute(),\n ];\n const player = createFakeWerewolfAlivePlayer({ attributes });\n const game = createFakeGame({ players: [player] });\n mocks.playerAttributeService.applyEatenAttributeOutcomes.mockResolvedValue(game);\n mocks.playerAttributeService.applyDrankDeathPotionAttributeOutcomes.mockResolvedValue(game);\n await services.gamePhase[\"applyEndingNightPlayerAttributesOutcomesToPlayer\"](player, game);\n\n expect(mocks.playerAttributeService.applyEatenAttributeOutcomes).toHaveBeenCalledExactlyOnceWith(player, game, attributes[1]);\n expect(mocks.playerAttributeService.applyDrankDeathPotionAttributeOutcomes).toHaveBeenCalledExactlyOnceWith(player, game);\n });\n });\n\n describe(\"applyEndingGamePhasePlayerAttributesOutcomesToPlayer\", () => {\n let localMocks: {\n gamePhaseService: {\n applyEndingNightPlayerAttributesOutcomesToPlayer: jest.SpyInstance;\n applyEndingDayPlayerAttributesOutcomesToPlayer: jest.SpyInstance;\n };\n };\n\n beforeEach(() => {\n localMocks = {\n gamePhaseService: {\n applyEndingNightPlayerAttributesOutcomesToPlayer: jest.spyOn(services.gamePhase as unknown as { applyEndingNightPlayerAttributesOutcomesToPlayer }, \"applyEndingNightPlayerAttributesOutcomesToPlayer\").mockImplementation(),\n applyEndingDayPlayerAttributesOutcomesToPlayer: jest.spyOn(services.gamePhase as unknown as { applyEndingDayPlayerAttributesOutcomesToPlayer }, \"applyEndingDayPlayerAttributesOutcomesToPlayer\").mockImplementation(),\n },\n };\n });\n\n it(\"should call ending night method when game phase is night.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame({ phase: GAME_PHASES.NIGHT });\n await services.gamePhase[\"applyEndingGamePhasePlayerAttributesOutcomesToPlayer\"](player, game);\n\n expect(localMocks.gamePhaseService.applyEndingNightPlayerAttributesOutcomesToPlayer).toHaveBeenCalledExactlyOnceWith(player, game);\n expect(localMocks.gamePhaseService.applyEndingDayPlayerAttributesOutcomesToPlayer).not.toHaveBeenCalled();\n });\n\n it(\"should call ending day method when game phase is day.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame({ phase: GAME_PHASES.DAY });\n await services.gamePhase[\"applyEndingGamePhasePlayerAttributesOutcomesToPlayer\"](player, game);\n\n expect(localMocks.gamePhaseService.applyEndingDayPlayerAttributesOutcomesToPlayer).toHaveBeenCalledExactlyOnceWith(player, game);\n expect(localMocks.gamePhaseService.applyEndingNightPlayerAttributesOutcomesToPlayer).not.toHaveBeenCalled();\n });\n });\n});" }, - "tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts": { + "tests/unit/specs/modules/game/helpers/game.mutator.spec.ts": { "tests": [ { - "id": "803", - "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should return undefined when votes are undefined.", + "id": "848", + "name": "Game Mutator updatePlayerInGame should return game as is when player id is not found among players.", "location": { "start": { "column": 6, - "line": 22 + "line": 13 } } }, { - "id": "804", - "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should throw error when votes contains one unknown source.", + "id": "849", + "name": "Game Mutator updatePlayerInGame should return game with updated player when player id found.", "location": { "start": { "column": 6, - "line": 29 + "line": 22 } } }, { - "id": "805", - "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should throw error when votes contains one unknown target.", + "id": "850", + "name": "Game Mutator updatePlayerInGame should not mutate original game when called.", "location": { "start": { "column": 6, @@ -96882,352 +106486,377 @@ } }, { - "id": "806", - "name": "Game Play Helper getVotesWithRelationsFromMakeGamePlayDto should fill votes with game players when called.", + "id": "851", + "name": "Game Mutator addPlayerAttributeInGame should return game as is when player id is not found among players.", "location": { "start": { "column": 6, - "line": 57 + "line": 56 } } }, { - "id": "807", - "name": "Game Play Helper getTargetsWithRelationsFromMakeGamePlayDto should return undefined when targets are undefined.", + "id": "852", + "name": "Game Mutator addPlayerAttributeInGame should return game with player with new attribute when player is found.", "location": { "start": { "column": 6, - "line": 76 + "line": 65 } } }, { - "id": "808", - "name": "Game Play Helper getTargetsWithRelationsFromMakeGamePlayDto should throw error when targets contains one unknown player.", + "id": "853", + "name": "Game Mutator addPlayerAttributeInGame should not mutate the original game when called.", "location": { "start": { "column": 6, - "line": 83 + "line": 85 } } }, { - "id": "809", - "name": "Game Play Helper getTargetsWithRelationsFromMakeGamePlayDto should fill targets with game players when called.", + "id": "854", + "name": "Game Mutator addPlayersAttributeInGame should return game as is when player ids are not in the game.", "location": { "start": { "column": 6, - "line": 98 + "line": 97 } } }, { - "id": "810", - "name": "Game Play Helper getChosenCardFromMakeGamePlayDto should return undefined when chosenCardId is undefined.", + "id": "855", + "name": "Game Mutator addPlayersAttributeInGame should return game with players with new attribute when players are found.", "location": { "start": { "column": 6, - "line": 118 + "line": 110 } } }, { - "id": "811", - "name": "Game Play Helper getChosenCardFromMakeGamePlayDto should throw error when chosen card is unknown from game cards.", + "id": "856", + "name": "Game Mutator addPlayersAttributeInGame should not mutate the original game when called.", "location": { "start": { "column": 6, - "line": 125 + "line": 133 } } }, { - "id": "812", - "name": "Game Play Helper getChosenCardFromMakeGamePlayDto should return chosen card when called.", + "id": "857", + "name": "Game Mutator removePlayerAttributeByNameInGame should return game as is when player is not found in game.", "location": { "start": { "column": 6, - "line": 134 + "line": 145 } } }, { - "id": "813", - "name": "Game Play Helper createMakeGamePlayDtoWithRelations should return same dto with relations when called.", + "id": "858", + "name": "Game Mutator removePlayerAttributeByNameInGame should return game with player without his sheriff attribute when called.", "location": { "start": { "column": 6, - "line": 143 + "line": 151 } } - } - ], - "source": "import type { MakeGamePlayTargetWithRelationsDto } from \"../../../../../../../src/modules/game/dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto\";\nimport type { MakeGamePlayVoteWithRelationsDto } from \"../../../../../../../src/modules/game/dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto\";\nimport type { MakeGamePlayWithRelationsDto } from \"../../../../../../../src/modules/game/dto/make-game-play/make-game-play-with-relations.dto\";\nimport { WITCH_POTIONS } from \"../../../../../../../src/modules/game/enums/game-play.enum\";\nimport { createMakeGamePlayDtoWithRelations, getChosenCardFromMakeGamePlayDto, getTargetsWithRelationsFromMakeGamePlayDto, getVotesWithRelationsFromMakeGamePlayDto } from \"../../../../../../../src/modules/game/helpers/game-play/game-play.helper\";\nimport { ROLE_SIDES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport { API_RESOURCES } from \"../../../../../../../src/shared/api/enums/api.enum\";\nimport { ResourceNotFoundException } from \"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { createFakeMakeGamePlayTargetWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-target-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayVoteWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-vote-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayWithRelationsDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory\";\nimport { createFakeMakeGamePlayDto } from \"../../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory\";\nimport { bulkCreateFakeGameAdditionalCards } from \"../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory\";\nimport { createFakeGame } from \"../../../../../../factories/game/schemas/game.schema.factory\";\nimport { bulkCreateFakePlayers } from \"../../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../../factories/shared/mongoose/mongoose.factory\";\n\njest.mock(\"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\");\n\ndescribe(\"Game Play Helper\", () => {\n describe(\"getVotesWithRelationsFromMakeGamePlayDto\", () => {\n it(\"should return undefined when votes are undefined.\", () => {\n const game = createFakeGame();\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n\n expect(getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toBeUndefined();\n });\n\n it(\"should throw error when votes contains one unknown source.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const fakePlayerId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: fakePlayerId, targetId: game.players[0]._id },\n ],\n });\n\n expect(() => getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.PLAYERS, fakePlayerId.toString(), \"Game Play - Player in `votes.source` is not in the game players\");\n });\n\n it(\"should throw error when votes contains one unknown target.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const fakePlayerId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: game.players[1]._id, targetId: fakePlayerId },\n ],\n });\n\n expect(() => getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.PLAYERS, fakePlayerId.toString(), \"Game Play - Player in `votes.target` is not in the game players\");\n });\n\n it(\"should fill votes with game players when called.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: game.players[1]._id, targetId: game.players[0]._id },\n ],\n });\n const votes = getVotesWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game);\n const expectedVotes = [\n createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[0], target: game.players[1] }),\n createFakeMakeGamePlayVoteWithRelationsDto({ source: game.players[1], target: game.players[0] }),\n ];\n\n expect(votes).toStrictEqual(expectedVotes);\n });\n });\n\n describe(\"getTargetsWithRelationsFromMakeGamePlayDto\", () => {\n it(\"should return undefined when targets are undefined.\", () => {\n const game = createFakeGame();\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n\n expect(getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toBeUndefined();\n });\n\n it(\"should throw error when targets contains one unknown player.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const fakePlayerId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n targets: [\n { playerId: game.players[0]._id },\n { playerId: game.players[1]._id },\n { playerId: fakePlayerId },\n ],\n });\n\n expect(() => getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.PLAYERS, fakePlayerId.toString(), \"Game Play - Player in `targets.player` is not in the game players\");\n });\n\n it(\"should fill targets with game players when called.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n targets: [\n { playerId: game.players[0]._id, isInfected: true },\n { playerId: game.players[1]._id },\n { playerId: game.players[2]._id, drankPotion: WITCH_POTIONS.DEATH },\n ],\n });\n const expectedTargets = [\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[0], isInfected: true }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[1] }),\n createFakeMakeGamePlayTargetWithRelationsDto({ player: game.players[2], drankPotion: WITCH_POTIONS.DEATH }),\n ];\n\n expect(getTargetsWithRelationsFromMakeGamePlayDto(makeGamePlayDto, game)).toStrictEqual(expectedTargets);\n });\n });\n\n describe(\"getChosenCardFromMakeGamePlayDto\", () => {\n it(\"should return undefined when chosenCardId is undefined.\", () => {\n const game = createFakeGame();\n const makeGamePlayDto = createFakeMakeGamePlayDto();\n\n expect(getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game)).toBeUndefined();\n });\n\n it(\"should throw error when chosen card is unknown from game cards.\", () => {\n const game = createFakeGame({ additionalCards: bulkCreateFakeGameAdditionalCards(4) });\n const fakeCardId = createFakeObjectId();\n const makeGamePlayDto = createFakeMakeGamePlayDto({ chosenCardId: fakeCardId });\n\n expect(() => getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game)).toThrow(ResourceNotFoundException);\n expect(ResourceNotFoundException).toHaveBeenCalledExactlyOnceWith(API_RESOURCES.GAME_ADDITIONAL_CARDS, fakeCardId.toString(), \"Game Play - Chosen card is not in the game additional cards\");\n });\n\n it(\"should return chosen card when called.\", () => {\n const game = createFakeGame({ additionalCards: bulkCreateFakeGameAdditionalCards(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({ chosenCardId: game.additionalCards?.[3]._id });\n\n expect(getChosenCardFromMakeGamePlayDto(makeGamePlayDto, game)).toStrictEqual(game.additionalCards?.[3]);\n });\n });\n\n describe(\"createMakeGamePlayDtoWithRelations\", () => {\n it(\"should return same dto with relations when called.\", () => {\n const game = createFakeGame({ players: bulkCreateFakePlayers(4), additionalCards: bulkCreateFakeGameAdditionalCards(4) });\n const makeGamePlayDto = createFakeMakeGamePlayDto({\n votes: [\n { sourceId: game.players[0]._id, targetId: game.players[1]._id },\n { sourceId: game.players[1]._id, targetId: game.players[0]._id },\n ],\n targets: [\n { playerId: game.players[0]._id, isInfected: true },\n { playerId: game.players[1]._id },\n { playerId: game.players[2]._id, drankPotion: WITCH_POTIONS.DEATH },\n ],\n chosenCardId: game.additionalCards?.[3]._id,\n doesJudgeRequestAnotherVote: true,\n chosenSide: ROLE_SIDES.WEREWOLVES,\n });\n const expectedMakeGamePlayDtoWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({\n votes: [\n { source: game.players[0], target: game.players[1] },\n { source: game.players[1], target: game.players[0] },\n ],\n targets: [\n { player: game.players[0], isInfected: true },\n { player: game.players[1] },\n { player: game.players[2], drankPotion: WITCH_POTIONS.DEATH },\n ],\n chosenCard: game.additionalCards?.[3],\n doesJudgeRequestAnotherVote: true,\n chosenSide: ROLE_SIDES.WEREWOLVES,\n });\n\n expect(createMakeGamePlayDtoWithRelations(makeGamePlayDto, game)).toStrictEqual(expectedMakeGamePlayDtoWithRelationsDto);\n });\n });\n});" - }, - "tests/unit/specs/modules/game/helpers/game.mutator.spec.ts": { - "tests": [ + }, { - "id": "814", - "name": "Game Mutator updatePlayerInGame should return game as is when player id is not found among players.", + "id": "859", + "name": "Game Mutator removePlayerAttributeByNameInGame should not mutate the original game when called.", "location": { "start": { "column": 6, - "line": 13 + "line": 167 } } }, { - "id": "815", - "name": "Game Mutator updatePlayerInGame should return game with updated player when player id found.", + "id": "860", + "name": "Game Mutator prependUpcomingPlayInGame should prepend play in upcoming plays when called.", "location": { "start": { "column": 6, - "line": 22 + "line": 178 } } }, { - "id": "816", - "name": "Game Mutator updatePlayerInGame should not mutate original game when called.", + "id": "861", + "name": "Game Mutator prependUpcomingPlayInGame should not mutate the original game when called.", "location": { "start": { "column": 6, - "line": 43 + "line": 189 } } }, { - "id": "817", - "name": "Game Mutator addPlayerAttributeInGame should return game as is when player id is not found among players.", + "id": "862", + "name": "Game Mutator appendUpcomingPlayInGame should append play in upcoming plays when called.", "location": { "start": { "column": 6, - "line": 56 + "line": 200 } } }, { - "id": "818", - "name": "Game Mutator addPlayerAttributeInGame should return game with player with new attribute when player is found.", + "id": "863", + "name": "Game Mutator appendUpcomingPlayInGame should not mutate the original game when called.", "location": { "start": { "column": 6, - "line": 65 + "line": 211 } } - }, + } + ], + "source": "import { PLAYER_ATTRIBUTE_NAMES } from \"../../../../../../src/modules/game/enums/player.enum\";\nimport { addPlayerAttributeInGame, addPlayersAttributeInGame, appendUpcomingPlayInGame, prependUpcomingPlayInGame, removePlayerAttributeByNameInGame, updatePlayerInGame } from \"../../../../../../src/modules/game/helpers/game.mutator\";\nimport type { Game } from \"../../../../../../src/modules/game/schemas/game.schema\";\nimport { createFakeGamePlayCupidCharms, createFakeGamePlayHunterShoots } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCharmedByPiedPiperPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeSeerAlivePlayer } from \"../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../factories/shared/mongoose/mongoose.factory\";\n\ndescribe(\"Game Mutator\", () => {\n describe(\"updatePlayerInGame\", () => {\n it(\"should return game as is when player id is not found among players.\", () => {\n const unknownPlayerId = createFakeObjectId();\n const players = bulkCreateFakePlayers(4);\n const updatedPlayer = createFakeSeerAlivePlayer();\n const game = createFakeGame({ players });\n \n expect(updatePlayerInGame(unknownPlayerId, updatedPlayer, game)).toStrictEqual(game);\n });\n\n it(\"should return game with updated player when player id found.\", () => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const newName = \"It's a me, Mario !\";\n const updatedPlayer = createFakeSeerAlivePlayer({ ...players[2], name: newName });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(game.players[0]),\n createFakePlayer(game.players[1]),\n createFakePlayer({\n ...game.players[2],\n name: newName,\n }),\n createFakePlayer(game.players[3]),\n ],\n });\n \n expect(updatePlayerInGame(updatedPlayer._id, updatedPlayer, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate original game when called.\", () => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const newName = \"It's a me, Mario !\";\n const updatedPlayer = createFakeSeerAlivePlayer({ ...players[2], name: newName });\n const clonedGame = createFakeGame(game);\n updatePlayerInGame(updatedPlayer._id, updatedPlayer, game);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n \n describe(\"addPlayerAttributeInGame\", () => {\n it(\"should return game as is when player id is not found among players.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const unknownPlayerId = createFakeObjectId();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n \n expect(addPlayerAttributeInGame(unknownPlayerId, game, attributeToAdd)).toStrictEqual(game);\n });\n\n it(\"should return game with player with new attribute when player is found.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(game.players[0]),\n createFakePlayer(game.players[1]),\n createFakePlayer({\n ...game.players[2],\n attributes: [attributeToAdd],\n }),\n createFakePlayer(game.players[3]),\n ],\n });\n \n expect(addPlayerAttributeInGame(players[2]._id, game, attributeToAdd)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const clonedGame = createFakeGame(game);\n addPlayerAttributeInGame(players[2]._id, game, attributeToAdd);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"addPlayersAttributeInGame\", () => {\n it(\"should return game as is when player ids are not in the game.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const unknownPlayerIds = [\n createFakeObjectId(),\n createFakeObjectId(),\n createFakeObjectId(),\n ];\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n \n expect(addPlayersAttributeInGame(unknownPlayerIds, game, attributeToAdd)).toStrictEqual(game);\n });\n\n it(\"should return game with players with new attribute when players are found.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(game.players[0]),\n createFakePlayer({\n ...game.players[1],\n attributes: [attributeToAdd],\n }),\n createFakePlayer({\n ...game.players[2],\n attributes: [attributeToAdd],\n }),\n createFakePlayer(game.players[3]),\n ],\n });\n \n expect(addPlayersAttributeInGame([players[1]._id, players[2]._id], game, attributeToAdd)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const clonedGame = createFakeGame(game);\n addPlayersAttributeInGame([players[1]._id, players[2]._id], game, attributeToAdd);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"removePlayerAttributeByNameInGame\", () => {\n it(\"should return game as is when player is not found in game.\", () => {\n const game = createFakeGame();\n\n expect(removePlayerAttributeByNameInGame(createFakeObjectId(), game, PLAYER_ATTRIBUTE_NAMES.SHERIFF)).toStrictEqual(game);\n });\n\n it(\"should return game with player without his sheriff attribute when called.\", () => {\n const players = bulkCreateFakePlayers(4, [{}, { attributes: [createFakeSheriffByAllPlayerAttribute(), createFakeCharmedByPiedPiperPlayerAttribute()] }]);\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n game.players[0],\n createFakePlayer({ ...players[1], attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n game.players[2],\n game.players[3],\n ],\n });\n\n expect(removePlayerAttributeByNameInGame(game.players[1]._id, game, PLAYER_ATTRIBUTE_NAMES.SHERIFF)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const players = bulkCreateFakePlayers(4, [{}, { attributes: [createFakeSheriffByAllPlayerAttribute()] }]);\n const game = createFakeGame({ players });\n const clonedGame = createFakeGame(game);\n removePlayerAttributeByNameInGame(game.players[1]._id, game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n\n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"prependUpcomingPlayInGame\", () => {\n it(\"should prepend play in upcoming plays when called.\", () => {\n const gamePlayToPrepend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [gamePlayToPrepend, ...game.upcomingPlays],\n });\n \n expect(prependUpcomingPlayInGame(gamePlayToPrepend, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const gamePlayToPrepend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const clonedGame = createFakeGame(game);\n prependUpcomingPlayInGame(gamePlayToPrepend, game);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"appendUpcomingPlayInGame\", () => {\n it(\"should append play in upcoming plays when called.\", () => {\n const gamePlayToAppend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [...game.upcomingPlays, gamePlayToAppend],\n });\n \n expect(appendUpcomingPlayInGame(gamePlayToAppend, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const gamePlayToAppend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const clonedGame = createFakeGame(game);\n appendUpcomingPlayInGame(gamePlayToAppend, game);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts": { + "tests": [ { - "id": "819", - "name": "Game Mutator addPlayerAttributeInGame should not mutate the original game when called.", + "id": "864", + "name": "Player Attribute Service applyEatenAttributeOutcomes should call killOrRevealPlayer when called.", "location": { "start": { "column": 6, - "line": 85 + "line": 35 } } }, { - "id": "820", - "name": "Game Mutator addPlayersAttributeInGame should return game as is when player ids are not in the game.", + "id": "865", + "name": "Player Attribute Service applyDrankDeathPotionAttributeOutcomes should call killOrRevealPlayer when called.", "location": { "start": { "column": 6, - "line": 97 + "line": 47 } } }, { - "id": "821", - "name": "Game Mutator addPlayersAttributeInGame should return game with players with new attribute when players are found.", + "id": "866", + "name": "Player Attribute Service applyContaminatedAttributeOutcomes should call killOrRevealPlayer when called.", "location": { "start": { "column": 6, - "line": 110 + "line": 58 } } }, { - "id": "822", - "name": "Game Mutator addPlayersAttributeInGame should not mutate the original game when called.", + "id": "867", + "name": "Player Attribute Service decreaseAttributeRemainingPhase should return attribute as is when there is no remaining phases.", "location": { "start": { "column": 6, - "line": 133 + "line": 69 } } }, { - "id": "823", - "name": "Game Mutator removePlayerAttributeByNameInGame should return game as is when player is not found in game.", + "id": "868", + "name": "Player Attribute Service decreaseAttributeRemainingPhase should return attribute as is when attribute is not active yet.", "location": { "start": { "column": 6, - "line": 145 + "line": 76 } } }, { - "id": "824", - "name": "Game Mutator removePlayerAttributeByNameInGame should return game with player without his sheriff attribute when called.", + "id": "869", + "name": "Player Attribute Service decreaseAttributeRemainingPhase should return decreased attribute when called.", "location": { "start": { "column": 6, - "line": 151 + "line": 83 } } }, { - "id": "825", - "name": "Game Mutator removePlayerAttributeByNameInGame should not mutate the original game when called.", + "id": "870", + "name": "Player Attribute Service decreaseRemainingPhasesAndRemoveObsoleteAttributes should return player as is when he is dead.", "location": { "start": { "column": 6, - "line": 167 + "line": 96 } } }, { - "id": "826", - "name": "Game Mutator prependUpcomingPlayInGame should prepend play in upcoming plays when called.", + "id": "871", + "name": "Player Attribute Service decreaseRemainingPhasesAndRemoveObsoleteAttributes should return player with one decreased attribute and other one removed when called.", "location": { "start": { "column": 6, - "line": 178 + "line": 108 } } }, { - "id": "827", - "name": "Game Mutator prependUpcomingPlayInGame should not mutate the original game when called.", + "id": "872", + "name": "Player Attribute Service decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes should decrease and remove attributes among players when called.", "location": { "start": { "column": 6, - "line": 189 + "line": 130 + } + } + } + ], + "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { PlayerAttributeService } from \"../../../../../../../../src/modules/game/providers/services/player/player-attribute.service\";\nimport { PlayerKillerService } from \"../../../../../../../../src/modules/game/providers/services/player/player-killer.service\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport type { PlayerAttribute } from \"../../../../../../../../src/modules/game/schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByAllPlayerAttribute, createFakeEatenByBigBadWolfPlayerAttribute, createFakePlayerAttribute, createFakePlayerAttributeActivation, createFakePowerlessByAncientPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerDeathPotionByWitchDeath, createFakePlayerDiseaseByRustySwordKnightDeath, createFakePlayerEatenByWerewolvesDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeSeerAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Player Attribute Service\", () => {\n let services: { playerAttribute: PlayerAttributeService };\n let mocks: { playerKillerService: { killOrRevealPlayer: jest.SpyInstance } };\n\n beforeEach(async() => {\n mocks = { playerKillerService: { killOrRevealPlayer: jest.fn() } };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n PlayerAttributeService,\n {\n provide: PlayerKillerService,\n useValue: mocks.playerKillerService,\n },\n ],\n }).compile();\n\n services = { playerAttribute: module.get(PlayerAttributeService) };\n });\n\n describe(\"applyEatenAttributeOutcomes\", () => {\n it(\"should call killOrRevealPlayer when called.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame();\n const attribute = createFakeEatenByBigBadWolfPlayerAttribute();\n const death = createFakePlayerEatenByWerewolvesDeath({ source: attribute.source });\n await services.playerAttribute.applyEatenAttributeOutcomes(player, game, attribute);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(player._id, game, death);\n });\n });\n\n describe(\"applyDrankDeathPotionAttributeOutcomes\", () => {\n it(\"should call killOrRevealPlayer when called.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame();\n const death = createFakePlayerDeathPotionByWitchDeath();\n await services.playerAttribute.applyDrankDeathPotionAttributeOutcomes(player, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(player._id, game, death);\n });\n });\n\n describe(\"applyContaminatedAttributeOutcomes\", () => {\n it(\"should call killOrRevealPlayer when called.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame();\n const death = createFakePlayerDiseaseByRustySwordKnightDeath();\n await services.playerAttribute.applyContaminatedAttributeOutcomes(player, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(player._id, game, death);\n });\n });\n\n describe(\"decreaseAttributeRemainingPhase\", () => {\n it(\"should return attribute as is when there is no remaining phases.\", () => {\n const attribute = createFakePowerlessByAncientPlayerAttribute();\n const game = createFakeGame();\n\n expect(services.playerAttribute[\"decreaseAttributeRemainingPhase\"](attribute, game)).toStrictEqual(attribute);\n });\n\n it(\"should return attribute as is when attribute is not active yet.\", () => {\n const attribute = createFakePowerlessByAncientPlayerAttribute({ activeAt: createFakePlayerAttributeActivation({ turn: 2 }) });\n const game = createFakeGame({ turn: 1 });\n\n expect(services.playerAttribute[\"decreaseAttributeRemainingPhase\"](attribute, game)).toStrictEqual(attribute);\n });\n \n it(\"should return decreased attribute when called.\", () => {\n const attribute = createFakePowerlessByAncientPlayerAttribute({ remainingPhases: 3 });\n const game = createFakeGame();\n const expectedAttribute = createFakePlayerAttribute({\n ...attribute,\n remainingPhases: 2,\n });\n\n expect(services.playerAttribute[\"decreaseAttributeRemainingPhase\"](attribute, game)).toStrictEqual(expectedAttribute);\n });\n });\n\n describe(\"decreaseRemainingPhasesAndRemoveObsoleteAttributes\", () => {\n it(\"should return player as is when he is dead.\", () => {\n const player = createFakeSeerAlivePlayer({\n isAlive: false, attributes: [\n createFakeCantVoteByAllPlayerAttribute({ remainingPhases: 1 }),\n createFakeSheriffByAllPlayerAttribute({ remainingPhases: 2 }),\n ],\n });\n const game = createFakeGame();\n\n expect(services.playerAttribute[\"decreaseRemainingPhasesAndRemoveObsoleteAttributes\"](player, game)).toStrictEqual(player);\n });\n\n it(\"should return player with one decreased attribute and other one removed when called.\", () => {\n const player = createFakeSeerAlivePlayer({\n attributes: [\n createFakeCantVoteByAllPlayerAttribute(),\n createFakeCantVoteByAllPlayerAttribute({ remainingPhases: 1 }),\n createFakeSheriffByAllPlayerAttribute({ remainingPhases: 2 }),\n ],\n });\n const game = createFakeGame();\n const expectedPlayer = createFakePlayer({\n ...player,\n attributes: [\n player.attributes[0],\n createFakePlayerAttribute({ ...player.attributes[2], remainingPhases: 1 }),\n ],\n });\n\n expect(services.playerAttribute[\"decreaseRemainingPhasesAndRemoveObsoleteAttributes\"](player, game)).toStrictEqual(expectedPlayer);\n });\n });\n\n describe(\"decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes\", () => {\n it(\"should decrease and remove attributes among players when called.\", () => {\n const players = [\n createFakeSeerAlivePlayer({\n attributes: [\n createFakeCantVoteByAllPlayerAttribute(),\n createFakeCantVoteByAllPlayerAttribute({ remainingPhases: 1 }),\n createFakeSheriffByAllPlayerAttribute({ remainingPhases: 2 }),\n ],\n }),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n attributes: [\n players[0].attributes[0],\n createFakePlayerAttribute({ ...players[0].attributes[2], remainingPhases: 1 }),\n ],\n }),\n ],\n });\n \n expect(services.playerAttribute.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes(game)).toStrictEqual(expectedGame);\n });\n });\n});" + }, + "tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts": { + "tests": [ + { + "id": "873", + "name": "Additional Cards Presence Decorator isAdditionalCardsPresenceRespected should return false when additional cards are set but there is no thief in game.", + "location": { + "start": { + "column": 6, + "line": 10 } } }, { - "id": "828", - "name": "Game Mutator appendUpcomingPlayInGame should append play in upcoming plays when called.", + "id": "874", + "name": "Additional Cards Presence Decorator isAdditionalCardsPresenceRespected should return false when additional cards are not set but there is thief in game.", "location": { "start": { "column": 6, - "line": 200 + "line": 34 } } }, { - "id": "829", - "name": "Game Mutator appendUpcomingPlayInGame should not mutate the original game when called.", + "id": "875", + "name": "Additional Cards Presence Decorator isAdditionalCardsPresenceRespected should return false when additional cards are not an array.", "location": { "start": { "column": 6, - "line": 211 + "line": 53 } } - } - ], - "source": "import { PLAYER_ATTRIBUTE_NAMES } from \"../../../../../../src/modules/game/enums/player.enum\";\nimport { addPlayerAttributeInGame, addPlayersAttributeInGame, appendUpcomingPlayInGame, prependUpcomingPlayInGame, removePlayerAttributeByNameInGame, updatePlayerInGame } from \"../../../../../../src/modules/game/helpers/game.mutator\";\nimport type { Game } from \"../../../../../../src/modules/game/schemas/game.schema\";\nimport { createFakeGamePlayCupidCharms, createFakeGamePlayHunterShoots } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeGame } from \"../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCharmedByPiedPiperPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakeSeerAlivePlayer } from \"../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { bulkCreateFakePlayers, createFakePlayer } from \"../../../../../factories/game/schemas/player/player.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../factories/shared/mongoose/mongoose.factory\";\n\ndescribe(\"Game Mutator\", () => {\n describe(\"updatePlayerInGame\", () => {\n it(\"should return game as is when player id is not found among players.\", () => {\n const unknownPlayerId = createFakeObjectId();\n const players = bulkCreateFakePlayers(4);\n const updatedPlayer = createFakeSeerAlivePlayer();\n const game = createFakeGame({ players });\n \n expect(updatePlayerInGame(unknownPlayerId, updatedPlayer, game)).toStrictEqual(game);\n });\n\n it(\"should return game with updated player when player id found.\", () => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const newName = \"It's a me, Mario !\";\n const updatedPlayer = createFakeSeerAlivePlayer({ ...players[2], name: newName });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(game.players[0]),\n createFakePlayer(game.players[1]),\n createFakePlayer({\n ...game.players[2],\n name: newName,\n }),\n createFakePlayer(game.players[3]),\n ],\n });\n \n expect(updatePlayerInGame(updatedPlayer._id, updatedPlayer, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate original game when called.\", () => {\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const newName = \"It's a me, Mario !\";\n const updatedPlayer = createFakeSeerAlivePlayer({ ...players[2], name: newName });\n const clonedGame = createFakeGame(game);\n updatePlayerInGame(updatedPlayer._id, updatedPlayer, game);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n \n describe(\"addPlayerAttributeInGame\", () => {\n it(\"should return game as is when player id is not found among players.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const unknownPlayerId = createFakeObjectId();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n \n expect(addPlayerAttributeInGame(unknownPlayerId, game, attributeToAdd)).toStrictEqual(game);\n });\n\n it(\"should return game with player with new attribute when player is found.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(game.players[0]),\n createFakePlayer(game.players[1]),\n createFakePlayer({\n ...game.players[2],\n attributes: [attributeToAdd],\n }),\n createFakePlayer(game.players[3]),\n ],\n });\n \n expect(addPlayerAttributeInGame(players[2]._id, game, attributeToAdd)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const clonedGame = createFakeGame(game);\n addPlayerAttributeInGame(players[2]._id, game, attributeToAdd);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"addPlayersAttributeInGame\", () => {\n it(\"should return game as is when player ids are not in the game.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const unknownPlayerIds = [\n createFakeObjectId(),\n createFakeObjectId(),\n createFakeObjectId(),\n ];\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n \n expect(addPlayersAttributeInGame(unknownPlayerIds, game, attributeToAdd)).toStrictEqual(game);\n });\n\n it(\"should return game with players with new attribute when players are found.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer(game.players[0]),\n createFakePlayer({\n ...game.players[1],\n attributes: [attributeToAdd],\n }),\n createFakePlayer({\n ...game.players[2],\n attributes: [attributeToAdd],\n }),\n createFakePlayer(game.players[3]),\n ],\n });\n \n expect(addPlayersAttributeInGame([players[1]._id, players[2]._id], game, attributeToAdd)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const attributeToAdd = createFakeCharmedByPiedPiperPlayerAttribute();\n const players = bulkCreateFakePlayers(4);\n const game = createFakeGame({ players });\n const clonedGame = createFakeGame(game);\n addPlayersAttributeInGame([players[1]._id, players[2]._id], game, attributeToAdd);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"removePlayerAttributeByNameInGame\", () => {\n it(\"should return game as is when player is not found in game.\", () => {\n const game = createFakeGame();\n\n expect(removePlayerAttributeByNameInGame(createFakeObjectId(), game, PLAYER_ATTRIBUTE_NAMES.SHERIFF)).toStrictEqual(game);\n });\n\n it(\"should return game with player without his sheriff attribute when called.\", () => {\n const players = bulkCreateFakePlayers(4, [{}, { attributes: [createFakeSheriffByAllPlayerAttribute(), createFakeCharmedByPiedPiperPlayerAttribute()] }]);\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n game.players[0],\n createFakePlayer({ ...players[1], attributes: [createFakeCharmedByPiedPiperPlayerAttribute()] }),\n game.players[2],\n game.players[3],\n ],\n });\n\n expect(removePlayerAttributeByNameInGame(game.players[1]._id, game, PLAYER_ATTRIBUTE_NAMES.SHERIFF)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const players = bulkCreateFakePlayers(4, [{}, { attributes: [createFakeSheriffByAllPlayerAttribute()] }]);\n const game = createFakeGame({ players });\n const clonedGame = createFakeGame(game);\n removePlayerAttributeByNameInGame(game.players[1]._id, game, PLAYER_ATTRIBUTE_NAMES.SHERIFF);\n\n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"prependUpcomingPlayInGame\", () => {\n it(\"should prepend play in upcoming plays when called.\", () => {\n const gamePlayToPrepend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [gamePlayToPrepend, ...game.upcomingPlays],\n });\n \n expect(prependUpcomingPlayInGame(gamePlayToPrepend, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const gamePlayToPrepend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const clonedGame = createFakeGame(game);\n prependUpcomingPlayInGame(gamePlayToPrepend, game);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n\n describe(\"appendUpcomingPlayInGame\", () => {\n it(\"should append play in upcoming plays when called.\", () => {\n const gamePlayToAppend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const expectedGame = createFakeGame({\n ...game,\n upcomingPlays: [...game.upcomingPlays, gamePlayToAppend],\n });\n \n expect(appendUpcomingPlayInGame(gamePlayToAppend, game)).toStrictEqual(expectedGame);\n });\n\n it(\"should not mutate the original game when called.\", () => {\n const gamePlayToAppend = createFakeGamePlayHunterShoots();\n const game = createFakeGame({ upcomingPlays: [createFakeGamePlayCupidCharms()] });\n const clonedGame = createFakeGame(game);\n appendUpcomingPlayInGame(gamePlayToAppend, game);\n \n expect(game).toStrictEqual(clonedGame);\n });\n });\n});" - }, - "tests/unit/specs/modules/game/providers/services/player/player-attribute.service.spec.ts": { - "tests": [ + }, { - "id": "830", - "name": "Player Attribute Service applyEatenAttributeOutcomes should call killOrRevealPlayer when called.", + "id": "876", + "name": "Additional Cards Presence Decorator isAdditionalCardsPresenceRespected should return true when additional cards are set and a thief is in the game.", "location": { "start": { "column": 6, - "line": 35 + "line": 72 } } }, { - "id": "831", - "name": "Player Attribute Service applyDrankDeathPotionAttributeOutcomes should call killOrRevealPlayer when called.", + "id": "877", + "name": "Additional Cards Presence Decorator isAdditionalCardsPresenceRespected should return true when additional cards are not set and there is no thief is in the game.", "location": { "start": { "column": 6, - "line": 47 + "line": 95 } } }, { - "id": "832", - "name": "Player Attribute Service applyContaminatedAttributeOutcomes should call killOrRevealPlayer when called.", + "id": "878", + "name": "Additional Cards Presence Decorator getAdditionalCardsPresenceDefaultMessage should return additional cards required presence message when they are not set.", "location": { "start": { "column": 6, - "line": 58 + "line": 116 } } }, { - "id": "833", - "name": "Player Attribute Service decreaseAttributeRemainingPhase should return attribute as is when there is no remaining phases.", + "id": "879", + "name": "Additional Cards Presence Decorator getAdditionalCardsPresenceDefaultMessage should return additional cards forbidden presence message when they are set.", "location": { "start": { "column": 6, - "line": 69 + "line": 135 + } + } + } + ], + "source": "import type { ValidationArguments } from \"class-validator\";\nimport { getAdditionalCardsPresenceDefaultMessage, isAdditionalCardsPresenceRespected } from \"../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGameAdditionalCardDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory\";\nimport { createFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\n\ndescribe(\"Additional Cards Presence Decorator\", () => {\n describe(\"isAdditionalCardsPresenceRespected\", () => {\n it(\"should return false when additional cards are set but there is no thief in game.\", () => {\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto(),\n createFakeCreateGameAdditionalCardDto(),\n ];\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.SEER } }),\n ],\n additionalCards,\n });\n const validationArguments: ValidationArguments = {\n value: additionalCards,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsPresenceRespected(additionalCards, validationArguments)).toBe(false);\n });\n\n it(\"should return false when additional cards are not set but there is thief in game.\", () => {\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.THIEF } }),\n ],\n });\n const validationArguments: ValidationArguments = {\n value: undefined,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsPresenceRespected(undefined, validationArguments)).toBe(false);\n });\n\n it(\"should return false when additional cards are not an array.\", () => {\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.THIEF } }),\n ],\n });\n const validationArguments: ValidationArguments = {\n value: \"coucou\",\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsPresenceRespected(\"coucou\", validationArguments)).toBe(false);\n });\n\n it(\"should return true when additional cards are set and a thief is in the game.\", () => {\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto(),\n createFakeCreateGameAdditionalCardDto(),\n ];\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.THIEF } }),\n ],\n });\n const validationArguments: ValidationArguments = {\n value: additionalCards,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsPresenceRespected(additionalCards, validationArguments)).toBe(true);\n });\n\n it(\"should return true when additional cards are not set and there is no thief is in the game.\", () => {\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.SEER } }),\n ],\n });\n const validationArguments: ValidationArguments = {\n value: undefined,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsPresenceRespected(undefined, validationArguments)).toBe(true);\n });\n });\n\n describe(\"getAdditionalCardsPresenceDefaultMessage\", () => {\n it(\"should return additional cards required presence message when they are not set.\", () => {\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.THIEF } }),\n ],\n });\n const validationArguments: ValidationArguments = {\n value: undefined,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(getAdditionalCardsPresenceDefaultMessage(validationArguments)).toBe(\"additionalCards must be set if there is a player with role `thief`\");\n });\n\n it(\"should return additional cards forbidden presence message when they are set.\", () => {\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto(),\n createFakeCreateGameAdditionalCardDto(),\n ];\n const createGameDto = createFakeCreateGameDto({\n players: [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.SEER } }),\n ],\n additionalCards,\n });\n const validationArguments: ValidationArguments = {\n value: additionalCards,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(getAdditionalCardsPresenceDefaultMessage(validationArguments)).toBe(\"additionalCards can't be set if there is no player with role `thief`\");\n });\n });\n});" + }, + "tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts": { + "tests": [ + { + "id": "880", + "name": "Additional Cards Roles Max in Game Decorator areAdditionalCardsRolesMaxInGameRespected should return true when additional cards are not defined.", + "location": { + "start": { + "column": 6, + "line": 10 } } }, { - "id": "834", - "name": "Player Attribute Service decreaseAttributeRemainingPhase should return attribute as is when attribute is not active yet.", + "id": "881", + "name": "Additional Cards Roles Max in Game Decorator areAdditionalCardsRolesMaxInGameRespected should return false when players cards are not defined.", "location": { "start": { "column": 6, - "line": 76 + "line": 30 } } }, { - "id": "835", - "name": "Player Attribute Service decreaseAttributeRemainingPhase should return decreased attribute when called.", + "id": "882", + "name": "Additional Cards Roles Max in Game Decorator areAdditionalCardsRolesMaxInGameRespected should return false when at least one role max in game is not respected due to additional cards only.", "location": { "start": { "column": 6, - "line": 83 + "line": 47 } } }, { - "id": "836", - "name": "Player Attribute Service decreaseRemainingPhasesAndRemoveObsoleteAttributes should return player as is when he is dead.", + "id": "883", + "name": "Additional Cards Roles Max in Game Decorator areAdditionalCardsRolesMaxInGameRespected should return false when at least one role max in game is not respected due to additional cards and player roles together.", "location": { "start": { "column": 6, - "line": 96 + "line": 70 } } }, { - "id": "837", - "name": "Player Attribute Service decreaseRemainingPhasesAndRemoveObsoleteAttributes should return player with one decreased attribute and other one removed when called.", + "id": "884", + "name": "Additional Cards Roles Max in Game Decorator areAdditionalCardsRolesMaxInGameRespected should return true when at every role max in game are respected among additional cards and player roles together.", "location": { "start": { "column": 6, - "line": 108 + "line": 93 } } }, { - "id": "838", - "name": "Player Attribute Service decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes should decrease and remove attributes among players when called.", + "id": "885", + "name": "Additional Cards Roles Max in Game Decorator getAdditionalCardsRolesMaxInGameDefaultMessage should return additional cards roles max in game default message when called.", "location": { "start": { "column": 6, - "line": 130 + "line": 118 } } } ], - "source": "import type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { PlayerAttributeService } from \"../../../../../../../../src/modules/game/providers/services/player/player-attribute.service\";\nimport { PlayerKillerService } from \"../../../../../../../../src/modules/game/providers/services/player/player-killer.service\";\nimport type { Game } from \"../../../../../../../../src/modules/game/schemas/game.schema\";\nimport type { PlayerAttribute } from \"../../../../../../../../src/modules/game/schemas/player/player-attribute/player-attribute.schema\";\nimport type { Player } from \"../../../../../../../../src/modules/game/schemas/player/player.schema\";\nimport { createFakeGame } from \"../../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakeCantVoteByAllPlayerAttribute, createFakeEatenByBigBadWolfPlayerAttribute, createFakePlayerAttribute, createFakePlayerAttributeActivation, createFakePowerlessByAncientPlayerAttribute, createFakeSheriffByAllPlayerAttribute } from \"../../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePlayerDeathPotionByWitchDeath, createFakePlayerDiseaseByRustySwordKnightDeath, createFakePlayerEatenByWerewolvesDeath } from \"../../../../../../../factories/game/schemas/player/player-death/player-death.schema.factory\";\nimport { createFakeSeerAlivePlayer } from \"../../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakePlayer } from \"../../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Player Attribute Service\", () => {\n let services: { playerAttribute: PlayerAttributeService };\n let mocks: { playerKillerService: { killOrRevealPlayer: jest.SpyInstance } };\n\n beforeEach(async() => {\n mocks = { playerKillerService: { killOrRevealPlayer: jest.fn() } };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n PlayerAttributeService,\n {\n provide: PlayerKillerService,\n useValue: mocks.playerKillerService,\n },\n ],\n }).compile();\n\n services = { playerAttribute: module.get(PlayerAttributeService) };\n });\n\n describe(\"applyEatenAttributeOutcomes\", () => {\n it(\"should call killOrRevealPlayer when called.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame();\n const attribute = createFakeEatenByBigBadWolfPlayerAttribute();\n const death = createFakePlayerEatenByWerewolvesDeath({ source: attribute.source });\n await services.playerAttribute.applyEatenAttributeOutcomes(player, game, attribute);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(player._id, game, death);\n });\n });\n\n describe(\"applyDrankDeathPotionAttributeOutcomes\", () => {\n it(\"should call killOrRevealPlayer when called.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame();\n const death = createFakePlayerDeathPotionByWitchDeath();\n await services.playerAttribute.applyDrankDeathPotionAttributeOutcomes(player, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(player._id, game, death);\n });\n });\n\n describe(\"applyContaminatedAttributeOutcomes\", () => {\n it(\"should call killOrRevealPlayer when called.\", async() => {\n const player = createFakePlayer();\n const game = createFakeGame();\n const death = createFakePlayerDiseaseByRustySwordKnightDeath();\n await services.playerAttribute.applyContaminatedAttributeOutcomes(player, game);\n\n expect(mocks.playerKillerService.killOrRevealPlayer).toHaveBeenCalledExactlyOnceWith(player._id, game, death);\n });\n });\n\n describe(\"decreaseAttributeRemainingPhase\", () => {\n it(\"should return attribute as is when there is no remaining phases.\", () => {\n const attribute = createFakePowerlessByAncientPlayerAttribute();\n const game = createFakeGame();\n\n expect(services.playerAttribute[\"decreaseAttributeRemainingPhase\"](attribute, game)).toStrictEqual(attribute);\n });\n\n it(\"should return attribute as is when attribute is not active yet.\", () => {\n const attribute = createFakePowerlessByAncientPlayerAttribute({ activeAt: createFakePlayerAttributeActivation({ turn: 2 }) });\n const game = createFakeGame({ turn: 1 });\n\n expect(services.playerAttribute[\"decreaseAttributeRemainingPhase\"](attribute, game)).toStrictEqual(attribute);\n });\n \n it(\"should return decreased attribute when called.\", () => {\n const attribute = createFakePowerlessByAncientPlayerAttribute({ remainingPhases: 3 });\n const game = createFakeGame();\n const expectedAttribute = createFakePlayerAttribute({\n ...attribute,\n remainingPhases: 2,\n });\n\n expect(services.playerAttribute[\"decreaseAttributeRemainingPhase\"](attribute, game)).toStrictEqual(expectedAttribute);\n });\n });\n\n describe(\"decreaseRemainingPhasesAndRemoveObsoleteAttributes\", () => {\n it(\"should return player as is when he is dead.\", () => {\n const player = createFakeSeerAlivePlayer({\n isAlive: false, attributes: [\n createFakeCantVoteByAllPlayerAttribute({ remainingPhases: 1 }),\n createFakeSheriffByAllPlayerAttribute({ remainingPhases: 2 }),\n ],\n });\n const game = createFakeGame();\n\n expect(services.playerAttribute[\"decreaseRemainingPhasesAndRemoveObsoleteAttributes\"](player, game)).toStrictEqual(player);\n });\n\n it(\"should return player with one decreased attribute and other one removed when called.\", () => {\n const player = createFakeSeerAlivePlayer({\n attributes: [\n createFakeCantVoteByAllPlayerAttribute(),\n createFakeCantVoteByAllPlayerAttribute({ remainingPhases: 1 }),\n createFakeSheriffByAllPlayerAttribute({ remainingPhases: 2 }),\n ],\n });\n const game = createFakeGame();\n const expectedPlayer = createFakePlayer({\n ...player,\n attributes: [\n player.attributes[0],\n createFakePlayerAttribute({ ...player.attributes[2], remainingPhases: 1 }),\n ],\n });\n\n expect(services.playerAttribute[\"decreaseRemainingPhasesAndRemoveObsoleteAttributes\"](player, game)).toStrictEqual(expectedPlayer);\n });\n });\n\n describe(\"decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes\", () => {\n it(\"should decrease and remove attributes among players when called.\", () => {\n const players = [\n createFakeSeerAlivePlayer({\n attributes: [\n createFakeCantVoteByAllPlayerAttribute(),\n createFakeCantVoteByAllPlayerAttribute({ remainingPhases: 1 }),\n createFakeSheriffByAllPlayerAttribute({ remainingPhases: 2 }),\n ],\n }),\n ];\n const game = createFakeGame({ players });\n const expectedGame = createFakeGame({\n ...game,\n players: [\n createFakePlayer({\n ...players[0],\n attributes: [\n players[0].attributes[0],\n createFakePlayerAttribute({ ...players[0].attributes[2], remainingPhases: 1 }),\n ],\n }),\n ],\n });\n \n expect(services.playerAttribute.decreaseRemainingPhasesAndRemoveObsoletePlayerAttributes(game)).toStrictEqual(expectedGame);\n });\n });\n});" + "source": "import type { ValidationArguments } from \"class-validator\";\nimport { areAdditionalCardsRolesMaxInGameRespected, getAdditionalCardsRolesMaxInGameDefaultMessage } from \"../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGameAdditionalCardDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory\";\nimport { createFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\n\ndescribe(\"Additional Cards Roles Max in Game Decorator\", () => {\n describe(\"areAdditionalCardsRolesMaxInGameRespected\", () => {\n it(\"should return true when additional cards are not defined.\", () => {\n const additionalCards = undefined;\n const players = [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.SEER } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Thomas\", role: { name: ROLE_NAMES.THIEF } }),\n ];\n const game = createFakeCreateGameDto({ additionalCards, players });\n const validationArguments: ValidationArguments = {\n object: game,\n property: \"additionalCards\",\n targetName: \"CreateGameDto\",\n constraints: [],\n value: additionalCards,\n };\n\n expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(true);\n });\n\n it(\"should return false when players cards are not defined.\", () => {\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER_VILLAGER }),\n ];\n const game = createFakeCreateGameDto({ additionalCards }, { players: undefined });\n const validationArguments: ValidationArguments = {\n object: game,\n property: \"additionalCards\",\n targetName: \"CreateGameDto\",\n constraints: [],\n value: additionalCards,\n };\n\n expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(false);\n });\n\n it(\"should return false when at least one role max in game is not respected due to additional cards only.\", () => {\n const players = [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.SEER } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.VILLAGER } }),\n createFakeCreateGamePlayerDto({ name: \"Thomas\", role: { name: ROLE_NAMES.THIEF } }),\n ];\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH }),\n ];\n const game = createFakeCreateGameDto({ additionalCards, players });\n const validationArguments: ValidationArguments = {\n object: game,\n property: \"additionalCards\",\n targetName: \"CreateGameDto\",\n constraints: [],\n value: additionalCards,\n };\n\n expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(false);\n });\n\n it(\"should return false when at least one role max in game is not respected due to additional cards and player roles together.\", () => {\n const players = [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.SEER } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.WITCH } }),\n createFakeCreateGamePlayerDto({ name: \"Thomas\", role: { name: ROLE_NAMES.THIEF } }),\n ];\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH }),\n ];\n const game = createFakeCreateGameDto({ additionalCards, players });\n const validationArguments: ValidationArguments = {\n object: game,\n property: \"additionalCards\",\n targetName: \"CreateGameDto\",\n constraints: [],\n value: additionalCards,\n };\n\n expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(false);\n });\n\n it(\"should return true when at every role max in game are respected among additional cards and player roles together.\", () => {\n const players = [\n createFakeCreateGamePlayerDto({ name: \"Antoine\", role: { name: ROLE_NAMES.SEER } }),\n createFakeCreateGamePlayerDto({ name: \"JB\", role: { name: ROLE_NAMES.WEREWOLF } }),\n createFakeCreateGamePlayerDto({ name: \"Olivia\", role: { name: ROLE_NAMES.WITCH } }),\n createFakeCreateGamePlayerDto({ name: \"Thomas\", role: { name: ROLE_NAMES.THIEF } }),\n ];\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.HUNTER }),\n ];\n const game = createFakeCreateGameDto({ additionalCards, players });\n const validationArguments: ValidationArguments = {\n object: game,\n property: \"additionalCards\",\n targetName: \"CreateGameDto\",\n constraints: [],\n value: additionalCards,\n };\n\n expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(true);\n });\n });\n\n describe(\"getAdditionalCardsRolesMaxInGameDefaultMessage\", () => {\n it(\"should return additional cards roles max in game default message when called.\", () => {\n expect(getAdditionalCardsRolesMaxInGameDefaultMessage()).toBe(\"additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\");\n });\n });\n});" }, "tests/unit/specs/modules/game/helpers/player/player-death/player-death.factory.spec.ts": { "tests": [ { - "id": "839", + "id": "886", "name": "Player Death Factory createPlayerDiseaseByRustySwordKnightDeath should create player contaminated by rusty sword knight when called.", "location": { "start": { @@ -97237,7 +106866,7 @@ } }, { - "id": "840", + "id": "887", "name": "Player Death Factory createPlayerBrokenHeartByCupidDeath should create player broken heart by cupid when called.", "location": { "start": { @@ -97247,7 +106876,7 @@ } }, { - "id": "841", + "id": "888", "name": "Player Death Factory createPlayerReconsiderPardonByAllDeath should create player reconsider pardon by all death when called.", "location": { "start": { @@ -97257,7 +106886,7 @@ } }, { - "id": "842", + "id": "889", "name": "Player Death Factory createPlayerVoteScapegoatedByAllDeath should create player vote scapegoated by all death when called.", "location": { "start": { @@ -97267,7 +106896,7 @@ } }, { - "id": "843", + "id": "890", "name": "Player Death Factory createPlayerVoteBySheriffDeath should create player vote by sheriff death when called.", "location": { "start": { @@ -97277,7 +106906,7 @@ } }, { - "id": "844", + "id": "891", "name": "Player Death Factory createPlayerVoteByAllDeath should create player vote by all death when called.", "location": { "start": { @@ -97287,7 +106916,7 @@ } }, { - "id": "845", + "id": "892", "name": "Player Death Factory createPlayerShotByHunterDeath should create player shot by hunter death when called.", "location": { "start": { @@ -97297,7 +106926,7 @@ } }, { - "id": "846", + "id": "893", "name": "Player Death Factory createPlayerEatenByWhiteWerewolfDeath should create player eaten by white werewolf death when called.", "location": { "start": { @@ -97307,7 +106936,7 @@ } }, { - "id": "847", + "id": "894", "name": "Player Death Factory createPlayerEatenByBigBadWolfDeath should create player eaten by big bad wolf death when called.", "location": { "start": { @@ -97317,7 +106946,7 @@ } }, { - "id": "848", + "id": "895", "name": "Player Death Factory createPlayerEatenByWerewolvesDeath should create player eaten by werewolves death when called.", "location": { "start": { @@ -97327,7 +106956,7 @@ } }, { - "id": "849", + "id": "896", "name": "Player Death Factory createPlayerDeathPotionByWitchDeath should create player death potion by witch death when called.", "location": { "start": { @@ -97337,7 +106966,7 @@ } }, { - "id": "850", + "id": "897", "name": "Player Death Factory createPlayerDeath should create player death when called.", "location": { "start": { @@ -97352,7 +106981,7 @@ "tests/unit/specs/modules/game/helpers/player/player.helper.spec.ts": { "tests": [ { - "id": "851", + "id": "898", "name": "Player Helper canPiedPiperCharm should return false when pied piper is powerless.", "location": { "start": { @@ -97362,7 +106991,7 @@ } }, { - "id": "852", + "id": "899", "name": "Player Helper canPiedPiperCharm should return false when pied piper is dead.", "location": { "start": { @@ -97372,7 +107001,7 @@ } }, { - "id": "853", + "id": "900", "name": "Player Helper canPiedPiperCharm should return false when pied piper is infected and thus is powerless.", "location": { "start": { @@ -97382,7 +107011,7 @@ } }, { - "id": "854", + "id": "901", "name": "Player Helper canPiedPiperCharm should return true when pied piper is infected but original rule is not respected.", "location": { "start": { @@ -97392,7 +107021,7 @@ } }, { - "id": "855", + "id": "902", "name": "Player Helper canPiedPiperCharm should return true when pied piper is not powerless and currently a villager.", "location": { "start": { @@ -97402,7 +107031,7 @@ } }, { - "id": "856", + "id": "903", "name": "Player Helper isPlayerAliveAndPowerful should return false when player is dead.", "location": { "start": { @@ -97412,7 +107041,7 @@ } }, { - "id": "857", + "id": "904", "name": "Player Helper isPlayerAliveAndPowerful should return false when player is powerless.", "location": { "start": { @@ -97422,7 +107051,7 @@ } }, { - "id": "858", + "id": "905", "name": "Player Helper isPlayerAliveAndPowerful should return true when player is alive and powerful.", "location": { "start": { @@ -97432,7 +107061,7 @@ } }, { - "id": "859", + "id": "906", "name": "Player Helper isPlayerOnWerewolvesSide should return false when player is on villagers side.", "location": { "start": { @@ -97442,7 +107071,7 @@ } }, { - "id": "860", + "id": "907", "name": "Player Helper isPlayerOnWerewolvesSide should return true when player is on werewolves side.", "location": { "start": { @@ -97452,7 +107081,7 @@ } }, { - "id": "861", + "id": "908", "name": "Player Helper isPlayerOnVillagersSide should return true when player is on villagers side.", "location": { "start": { @@ -97462,7 +107091,7 @@ } }, { - "id": "862", + "id": "909", "name": "Player Helper isPlayerOnVillagersSide should return false when player is on werewolves side.", "location": { "start": { @@ -97474,10 +107103,65 @@ ], "source": "import { canPiedPiperCharm, isPlayerAliveAndPowerful, isPlayerOnVillagersSide, isPlayerOnWerewolvesSide } from \"../../../../../../../src/modules/game/helpers/player/player.helper\";\nimport { ROLE_SIDES } from \"../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeGameOptions } from \"../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakePiedPiperGameOptions, createFakeRolesGameOptions } from \"../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\nimport { createFakeGame } from \"../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createFakePowerlessByAncientPlayerAttribute } from \"../../../../../../factories/game/schemas/player/player-attribute/player-attribute.schema.factory\";\nimport { createFakePiedPiperAlivePlayer, createFakeWhiteWerewolfAlivePlayer } from \"../../../../../../factories/game/schemas/player/player-with-role.schema.factory\";\nimport { createFakePlayer, createFakePlayerSide } from \"../../../../../../factories/game/schemas/player/player.schema.factory\";\n\ndescribe(\"Player Helper\", () => {\n describe(\"canPiedPiperCharm\", () => {\n it(\"should return false when pied piper is powerless.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ isPowerlessIfInfected: false }) }) });\n const game = createFakeGame({ options });\n const piedPiperPlayer = createFakePiedPiperAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] });\n \n expect(canPiedPiperCharm(piedPiperPlayer, game)).toBe(false);\n });\n\n it(\"should return false when pied piper is dead.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ isPowerlessIfInfected: false }) }) });\n const game = createFakeGame({ options });\n const piedPiperPlayer = createFakePiedPiperAlivePlayer({ attributes: [], isAlive: false });\n \n expect(canPiedPiperCharm(piedPiperPlayer, game)).toBe(false);\n });\n\n it(\"should return false when pied piper is infected and thus is powerless.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ isPowerlessIfInfected: true }) }) });\n const game = createFakeGame({ options });\n const piedPiperPlayer = createFakePiedPiperAlivePlayer({ side: createFakePlayerSide({ current: ROLE_SIDES.WEREWOLVES }) });\n \n expect(canPiedPiperCharm(piedPiperPlayer, game)).toBe(false);\n });\n\n it(\"should return true when pied piper is infected but original rule is not respected.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ isPowerlessIfInfected: false }) }) });\n const game = createFakeGame({ options });\n const piedPiperPlayer = createFakePiedPiperAlivePlayer({ side: createFakePlayerSide({ current: ROLE_SIDES.WEREWOLVES }) });\n \n expect(canPiedPiperCharm(piedPiperPlayer, game)).toBe(true);\n });\n\n it(\"should return true when pied piper is not powerless and currently a villager.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ piedPiper: createFakePiedPiperGameOptions({ isPowerlessIfInfected: true }) }) });\n const game = createFakeGame({ options });\n const piedPiperPlayer = createFakePiedPiperAlivePlayer({ side: createFakePlayerSide({ current: ROLE_SIDES.VILLAGERS }) });\n \n expect(canPiedPiperCharm(piedPiperPlayer, game)).toBe(true);\n });\n });\n\n describe(\"isPlayerAliveAndPowerful\", () => {\n it(\"should return false when player is dead.\", () => {\n const game = createFakeGame();\n const player = createFakePlayer({ isAlive: false, attributes: [] });\n\n expect(isPlayerAliveAndPowerful(player, game)).toBe(false);\n });\n\n it(\"should return false when player is powerless.\", () => {\n const game = createFakeGame();\n const player = createFakePlayer({ isAlive: true, attributes: [createFakePowerlessByAncientPlayerAttribute()] });\n\n expect(isPlayerAliveAndPowerful(player, game)).toBe(false);\n });\n\n it(\"should return true when player is alive and powerful.\", () => {\n const game = createFakeGame();\n const player = createFakePlayer({ isAlive: true, attributes: [] });\n \n expect(isPlayerAliveAndPowerful(player, game)).toBe(true);\n });\n });\n\n describe(\"isPlayerOnWerewolvesSide\", () => {\n it(\"should return false when player is on villagers side.\", () => {\n expect(isPlayerOnWerewolvesSide(createFakePiedPiperAlivePlayer())).toBe(false);\n });\n\n it(\"should return true when player is on werewolves side.\", () => {\n expect(isPlayerOnWerewolvesSide(createFakeWhiteWerewolfAlivePlayer())).toBe(true);\n });\n });\n\n describe(\"isPlayerOnVillagersSide\", () => {\n it(\"should return true when player is on villagers side.\", () => {\n expect(isPlayerOnVillagersSide(createFakePiedPiperAlivePlayer())).toBe(true);\n });\n\n it(\"should return false when player is on werewolves side.\", () => {\n expect(isPlayerOnVillagersSide(createFakeWhiteWerewolfAlivePlayer())).toBe(false);\n });\n });\n});" }, - "tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts": { + "tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.spec.ts": { "tests": [ { - "id": "863", + "id": "910", + "name": "Additional Cards For Thief Size Decorator isAdditionalCardsForThiefSizeRespected should return true when cards are not defined.", + "location": { + "start": { + "column": 6, + "line": 12 + } + } + }, + { + "id": "911", + "name": "Additional Cards For Thief Size Decorator isAdditionalCardsForThiefSizeRespected should return false when cards are not an array.", + "location": { + "start": { + "column": 6, + "line": 26 + } + } + }, + { + "id": "912", + "name": "Additional Cards For Thief Size Decorator isAdditionalCardsForThiefSizeRespected should return false when cards size doesn't respect the options.", + "location": { + "start": { + "column": 6, + "line": 40 + } + } + }, + { + "id": "913", + "name": "Additional Cards For Thief Size Decorator isAdditionalCardsForThiefSizeRespected should return true when cards size doesn't respect the options.", + "location": { + "start": { + "column": 6, + "line": 61 + } + } + }, + { + "id": "914", + "name": "Additional Cards For Thief Size Decorator getAdditionalCardsForThiefSizeDefaultMessage should default decorator message when called.", + "location": { + "start": { + "column": 6, + "line": 81 + } + } + } + ], + "source": "import type { ValidationArguments } from \"class-validator\";\nimport { getAdditionalCardsForThiefSizeDefaultMessage, isAdditionalCardsForThiefSizeRespected } from \"../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGameAdditionalCardDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory\";\nimport { createFakeCreateThiefGameOptionsDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-options/create-roles-game-options/create-roles-game-options.dto.factory\";\nimport { createFakeCreateGameDto } from \"../../../../../../../../factories/game/dto/create-game/create-game.dto.factory\";\nimport { createFakeGameOptions } from \"../../../../../../../../factories/game/schemas/game-options/game-options.schema.factory\";\nimport { createFakeRolesGameOptions } from \"../../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory\";\n\ndescribe(\"Additional Cards For Thief Size Decorator\", () => {\n describe(\"isAdditionalCardsForThiefSizeRespected\", () => {\n it(\"should return true when cards are not defined.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) });\n const createGameDto = createFakeCreateGameDto({ options });\n const validationArguments: ValidationArguments = {\n value: undefined,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsForThiefSizeRespected(undefined, validationArguments)).toBe(true);\n });\n\n it(\"should return false when cards are not an array.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) });\n const createGameDto = createFakeCreateGameDto({ options });\n const validationArguments: ValidationArguments = {\n value: null,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsForThiefSizeRespected(null, validationArguments)).toBe(false);\n });\n \n it(\"should return false when cards size doesn't respect the options.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) });\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n ];\n const createGameDto = createFakeCreateGameDto({ options, additionalCards });\n const validationArguments: ValidationArguments = {\n value: additionalCards,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsForThiefSizeRespected(additionalCards, validationArguments)).toBe(false);\n });\n\n it(\"should return true when cards size doesn't respect the options.\", () => {\n const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) });\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }),\n ];\n const createGameDto = createFakeCreateGameDto({ options, additionalCards });\n const validationArguments: ValidationArguments = {\n value: additionalCards,\n object: createGameDto,\n constraints: [],\n targetName: \"\",\n property: \"additionalCards\",\n };\n\n expect(isAdditionalCardsForThiefSizeRespected(additionalCards, validationArguments)).toBe(true);\n });\n });\n\n describe(\"getAdditionalCardsForThiefSizeDefaultMessage\", () => {\n it(\"should default decorator message when called.\", () => {\n expect(getAdditionalCardsForThiefSizeDefaultMessage()).toBe(\"additionalCards length must be equal to options.roles.thief.additionalCardsCount\");\n });\n });\n});" + }, + "tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts": { + "tests": [ + { + "id": "915", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when players are undefined.", "location": { "start": { @@ -97487,7 +107171,7 @@ } }, { - "id": "864", + "id": "916", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when players are not an array.", "location": { "start": { @@ -97497,7 +107181,7 @@ } }, { - "id": "865", + "id": "917", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when one of the players is not an object.", "location": { "start": { @@ -97507,7 +107191,7 @@ } }, { - "id": "866", + "id": "918", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return true when there is no position set in composition.", "location": { "start": { @@ -97517,7 +107201,7 @@ } }, { - "id": "867", + "id": "919", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when there is one position set in composition but not the others.", "location": { "start": { @@ -97527,7 +107211,7 @@ } }, { - "id": "868", + "id": "920", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when there is twice the same position in composition.", "location": { "start": { @@ -97537,7 +107221,7 @@ } }, { - "id": "869", + "id": "921", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when positions sequence starts at 1.", "location": { "start": { @@ -97547,7 +107231,7 @@ } }, { - "id": "870", + "id": "922", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return false when there is one too high position in composition.", "location": { "start": { @@ -97557,7 +107241,7 @@ } }, { - "id": "871", + "id": "923", "name": "Composition Positions Consistency Decorator doesCompositionHaveConsistentPositions should return true when all positions are sequence in composition.", "location": { "start": { @@ -97567,7 +107251,7 @@ } }, { - "id": "872", + "id": "924", "name": "Composition Positions Consistency Decorator getCompositionPositionsConsistencyDefaultMessage should return default message when called.", "location": { "start": { @@ -97577,12 +107261,12 @@ } } ], - "source": "import {\n doesCompositionHaveConsistentPositions,\n getCompositionPositionsConsistencyDefaultMessage,\n} from \"../../../../../../../../src/modules/game/dto/base/decorators/composition-positions-consistency.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Positions Consistency Decorator\", () => {\n describe(\"doesCompositionHaveConsistentPositions\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(doesCompositionHaveConsistentPositions(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(doesCompositionHaveConsistentPositions(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveConsistentPositions([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return true when there is no position set in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(true);\n });\n\n it(\"should return false when there is one position set in composition but not the others.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return false when there is twice the same position in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH }, position: 1 },\n { role: { name: ROLE_NAMES.SEER }, position: 3 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 3 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return false when positions sequence starts at 1.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 1 },\n { role: { name: ROLE_NAMES.WITCH }, position: 2 },\n { role: { name: ROLE_NAMES.SEER }, position: 3 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 4 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return false when there is one too high position in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH }, position: 1 },\n { role: { name: ROLE_NAMES.SEER }, position: 2 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 666 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return true when all positions are sequence in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH }, position: 1 },\n { role: { name: ROLE_NAMES.SEER }, position: 2 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 3 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(true);\n });\n });\n\n describe(\"getCompositionPositionsConsistencyDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionPositionsConsistencyDefaultMessage()).toBe(\"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\");\n });\n });\n});" + "source": "import {\n doesCompositionHaveConsistentPositions,\n getCompositionPositionsConsistencyDefaultMessage,\n} from \"../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Positions Consistency Decorator\", () => {\n describe(\"doesCompositionHaveConsistentPositions\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(doesCompositionHaveConsistentPositions(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(doesCompositionHaveConsistentPositions(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveConsistentPositions([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return true when there is no position set in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(true);\n });\n\n it(\"should return false when there is one position set in composition but not the others.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return false when there is twice the same position in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH }, position: 1 },\n { role: { name: ROLE_NAMES.SEER }, position: 3 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 3 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return false when positions sequence starts at 1.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 1 },\n { role: { name: ROLE_NAMES.WITCH }, position: 2 },\n { role: { name: ROLE_NAMES.SEER }, position: 3 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 4 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return false when there is one too high position in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH }, position: 1 },\n { role: { name: ROLE_NAMES.SEER }, position: 2 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 666 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(false);\n });\n\n it(\"should return true when all positions are sequence in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER }, position: 0 },\n { role: { name: ROLE_NAMES.WITCH }, position: 1 },\n { role: { name: ROLE_NAMES.SEER }, position: 2 },\n { role: { name: ROLE_NAMES.WEREWOLF }, position: 3 },\n ]);\n\n expect(doesCompositionHaveConsistentPositions(players)).toBe(true);\n });\n });\n\n describe(\"getCompositionPositionsConsistencyDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionPositionsConsistencyDefaultMessage()).toBe(\"players.position must be all set or all undefined. Please check that every player has unique position, from 0 to players.length - 1\");\n });\n });\n});" }, "tests/unit/specs/server/server.spec.ts": { "tests": [ { - "id": "873", + "id": "925", "name": "Server bootstrap should create FastifyAdapter with default fastify server options when called.", "location": { "start": { @@ -97592,7 +107276,7 @@ } }, { - "id": "874", + "id": "926", "name": "Server bootstrap should call listen with the default port when no port is provided.", "location": { "start": { @@ -97602,7 +107286,7 @@ } }, { - "id": "875", + "id": "927", "name": "Server bootstrap should call listen with 4000 when port 4000 is provided.", "location": { "start": { @@ -97612,7 +107296,7 @@ } }, { - "id": "876", + "id": "928", "name": "Server bootstrap should add validation pipe with transform when Validation Pipe constructor is called.", "location": { "start": { @@ -97622,7 +107306,7 @@ } }, { - "id": "877", + "id": "929", "name": "Server bootstrap should serve public directory when called.", "location": { "start": { @@ -97632,7 +107316,7 @@ } }, { - "id": "878", + "id": "930", "name": "Server bootstrap should print server and docs address with specific port when port is provided.", "location": { "start": { @@ -97647,7 +107331,7 @@ "tests/unit/specs/server/swagger/swagger.spec.ts": { "tests": [ { - "id": "879", + "id": "931", "name": "Server Swagger createSwaggerDocument should call document builder methods when function is called with known version.", "location": { "start": { @@ -97657,7 +107341,7 @@ } }, { - "id": "880", + "id": "932", "name": "Server Swagger createSwaggerDocument should call document builder methods when function is called with unknown version.", "location": { "start": { @@ -97667,7 +107351,7 @@ } }, { - "id": "881", + "id": "933", "name": "Server Swagger createSwaggerDocument should call createDocument and setup functions when function is called.", "location": { "start": { @@ -97679,10 +107363,65 @@ ], "source": "import type { INestApplication } from \"@nestjs/common\";\nimport type { SwaggerCustomOptions } from \"@nestjs/swagger\";\nimport { SwaggerModule, DocumentBuilder } from \"@nestjs/swagger\";\nimport { createSwaggerDocument } from \"../../../../../src/server/swagger/swagger\";\n\ndescribe(\"Server Swagger\", () => {\n describe(\"createSwaggerDocument\", () => {\n let mocks: {\n DocumentBuilder: {\n setTitle: jest.SpyInstance;\n setDescription: jest.SpyInstance;\n setVersion: jest.SpyInstance;\n build: jest.SpyInstance;\n };\n SwaggerModule: {\n createDocument: jest.SpyInstance;\n setup: jest.SpyInstance;\n };\n };\n\n const env = process.env;\n \n beforeEach(() => {\n mocks = {\n DocumentBuilder: {\n setTitle: jest.spyOn(DocumentBuilder.prototype, \"setTitle\"),\n setDescription: jest.spyOn(DocumentBuilder.prototype, \"setDescription\"),\n setVersion: jest.spyOn(DocumentBuilder.prototype, \"setVersion\"),\n build: jest.spyOn(DocumentBuilder.prototype, \"build\"),\n },\n SwaggerModule: {\n createDocument: jest.spyOn(SwaggerModule, \"createDocument\").mockImplementation(),\n setup: jest.spyOn(SwaggerModule, \"setup\").mockImplementation(),\n },\n };\n process.env = { ...env };\n });\n\n afterEach(() => {\n process.env = env;\n });\n\n it(\"should call document builder methods when function is called with known version.\", () => {\n process.env.npm_package_version = \"1.2.3\";\n createSwaggerDocument(\"docs\", {} as INestApplication);\n const expectedDescription = \"Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.\";\n\n expect(mocks.DocumentBuilder.setTitle).toHaveBeenCalledExactlyOnceWith(\"Werewolves Assistant API Reference 🐺\");\n expect(mocks.DocumentBuilder.setDescription).toHaveBeenCalledExactlyOnceWith(expectedDescription);\n expect(mocks.DocumentBuilder.setVersion).toHaveBeenCalledExactlyOnceWith(\"1.2.3\");\n expect(mocks.DocumentBuilder.build).toHaveBeenCalledExactlyOnceWith();\n });\n\n it(\"should call document builder methods when function is called with unknown version.\", () => {\n process.env.npm_package_version = undefined;\n createSwaggerDocument(\"docs\", {} as INestApplication);\n const expectedDescription = \"Werewolves Assistant API provides over HTTP requests a way of manage Werewolves games to help the game master.\";\n\n expect(mocks.DocumentBuilder.setTitle).toHaveBeenCalledExactlyOnceWith(\"Werewolves Assistant API Reference 🐺\");\n expect(mocks.DocumentBuilder.setDescription).toHaveBeenCalledExactlyOnceWith(expectedDescription);\n expect(mocks.DocumentBuilder.setVersion).toHaveBeenCalledExactlyOnceWith(\"?\");\n expect(mocks.DocumentBuilder.build).toHaveBeenCalledExactlyOnceWith();\n });\n\n it(\"should call createDocument and setup functions when function is called.\", () => {\n const path = \"docs\";\n const app = {};\n const options: SwaggerCustomOptions = {\n customSiteTitle: \"Werewolves Assistant API Reference 🐺\",\n customfavIcon: \"public/assets/images/logo/square/werewolves-logo-small.png\",\n customCssUrl: \"public/assets/css/custom-swagger.css\",\n };\n createSwaggerDocument(path, app as INestApplication);\n\n expect(mocks.SwaggerModule.createDocument).toHaveBeenCalledTimes(1);\n expect(mocks.SwaggerModule.setup).toHaveBeenCalledExactlyOnceWith(path, app as INestApplication, undefined, options);\n });\n });\n});" }, - "tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts": { + "tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts": { "tests": [ { - "id": "882", + "id": "934", + "name": "Unexpected Exception Factory createCantFindPlayerUnexpectedException should create player is dead unexpected exception when called.", + "location": { + "start": { + "column": 6, + "line": 8 + } + } + }, + { + "id": "935", + "name": "Unexpected Exception Factory createPlayerIsDeadUnexpectedException should create player is dead unexpected exception when called.", + "location": { + "start": { + "column": 6, + "line": 21 + } + } + }, + { + "id": "936", + "name": "Unexpected Exception Factory createCantGenerateGamePlaysUnexpectedException should create can't generate game plays unexpected exception when called.", + "location": { + "start": { + "column": 6, + "line": 34 + } + } + }, + { + "id": "937", + "name": "Unexpected Exception Factory createNoCurrentGamePlayUnexpectedException should create no current game play unexpected exception when called.", + "location": { + "start": { + "column": 6, + "line": 46 + } + } + }, + { + "id": "938", + "name": "Unexpected Exception Factory createNoGamePlayPriorityUnexpectedException should create no game play priority unexpected exception when called.", + "location": { + "start": { + "column": 6, + "line": 59 + } + } + } + ], + "source": "import { createCantFindPlayerUnexpectedException, createCantGenerateGamePlaysUnexpectedException, createNoCurrentGamePlayUnexpectedException, createNoGamePlayPriorityUnexpectedException, createPlayerIsDeadUnexpectedException } from \"../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { createFakeGamePlay } from \"../../../../../factories/game/schemas/game-play/game-play.schema.factory\";\nimport { createFakeObjectId } from \"../../../../../factories/shared/mongoose/mongoose.factory\";\nimport type { ExceptionResponse } from \"../../../../../types/exception/exception.types\";\n\ndescribe(\"Unexpected Exception Factory\", () => {\n describe(\"createCantFindPlayerUnexpectedException\", () => {\n it(\"should create player is dead unexpected exception when called.\", () => {\n const interpolations = { gameId: createFakeObjectId(), playerId: createFakeObjectId() };\n const exception = createCantFindPlayerUnexpectedException(\"werewolvesEat\", interpolations);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in werewolvesEat\",\n error: `Can't find player with id \"${interpolations.playerId.toString()}\" in game \"${interpolations.gameId.toString()}\"`,\n });\n });\n });\n\n describe(\"createPlayerIsDeadUnexpectedException\", () => {\n it(\"should create player is dead unexpected exception when called.\", () => {\n const interpolations = { gameId: createFakeObjectId(), playerId: createFakeObjectId() };\n const exception = createPlayerIsDeadUnexpectedException(\"killPlayer\", interpolations);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in killPlayer\",\n error: `Player with id \"${interpolations.playerId.toString()}\" is dead in game \"${interpolations.gameId.toString()}\"`,\n });\n });\n });\n\n describe(\"createCantGenerateGamePlaysUnexpectedException\", () => {\n it(\"should create can't generate game plays unexpected exception when called.\", () => {\n const exception = createCantGenerateGamePlaysUnexpectedException(\"createGame\");\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in createGame\",\n error: `Can't generate game plays`,\n });\n });\n });\n \n describe(\"createNoCurrentGamePlayUnexpectedException\", () => {\n it(\"should create no current game play unexpected exception when called.\", () => {\n const interpolations = { gameId: createFakeObjectId() };\n const exception = createNoCurrentGamePlayUnexpectedException(\"makePlay\", interpolations);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in makePlay\",\n error: `Game with id \"${interpolations.gameId.toString()}\" doesn't have a current game play to deal with`,\n });\n });\n });\n\n describe(\"createNoGamePlayPriorityUnexpectedException\", () => {\n it(\"should create no game play priority unexpected exception when called.\", () => {\n const gamePlay = createFakeGamePlay();\n const exception = createNoGamePlayPriorityUnexpectedException(\"makePlay\", gamePlay);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in makePlay\",\n error: `Game play \"${JSON.stringify(gamePlay)}\" doesn't have a set priority`,\n });\n });\n });\n});" + }, + "tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts": { + "tests": [ + { + "id": "939", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return false when players are undefined.", "location": { "start": { @@ -97692,7 +107431,7 @@ } }, { - "id": "883", + "id": "940", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return false when players are not an array.", "location": { "start": { @@ -97702,7 +107441,7 @@ } }, { - "id": "884", + "id": "941", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return false when one of the players is not an object.", "location": { "start": { @@ -97712,7 +107451,7 @@ } }, { - "id": "885", + "id": "942", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return false when one of the players doesn't have the good structure.", "location": { "start": { @@ -97722,7 +107461,7 @@ } }, { - "id": "886", + "id": "943", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return false when there is only 1 player with a role which min in game is 2.", "location": { "start": { @@ -97732,7 +107471,7 @@ } }, { - "id": "887", + "id": "944", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return true when players are empty.", "location": { "start": { @@ -97742,7 +107481,7 @@ } }, { - "id": "888", + "id": "945", "name": "Composition Roles Min In Game Decorator areCompositionRolesMinInGameRespected should return true when the limit for each role is respected.", "location": { "start": { @@ -97752,7 +107491,7 @@ } }, { - "id": "889", + "id": "946", "name": "Composition Roles Min In Game Decorator playersRoleLimitDefaultMessage should return default message when called.", "location": { "start": { @@ -97762,12 +107501,12 @@ } } ], - "source": "import {\n getCompositionRolesMinInGameDefaultMessage,\n areCompositionRolesMinInGameRespected,\n} from \"../../../../../../../../src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Roles Min In Game Decorator\", () => {\n describe(\"areCompositionRolesMinInGameRespected\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(areCompositionRolesMinInGameRespected(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(areCompositionRolesMinInGameRespected(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected([...players, { name: \"bad\", role: { toto: \"tata\" } }])).toBe(false);\n });\n\n it(\"should return false when there is only 1 player with a role which min in game is 2.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected(players)).toBe(false);\n });\n\n it(\"should return true when players are empty.\", () => {\n expect(areCompositionRolesMinInGameRespected([])).toBe(true);\n });\n\n it(\"should return true when the limit for each role is respected.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(9, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionRolesMinInGameDefaultMessage()).toBe(\"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\");\n });\n });\n});" + "source": "import {\n getCompositionRolesMinInGameDefaultMessage,\n areCompositionRolesMinInGameRespected,\n} from \"../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Roles Min In Game Decorator\", () => {\n describe(\"areCompositionRolesMinInGameRespected\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(areCompositionRolesMinInGameRespected(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(areCompositionRolesMinInGameRespected(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected([...players, { name: \"bad\", role: { toto: \"tata\" } }])).toBe(false);\n });\n\n it(\"should return false when there is only 1 player with a role which min in game is 2.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected(players)).toBe(false);\n });\n\n it(\"should return true when players are empty.\", () => {\n expect(areCompositionRolesMinInGameRespected([])).toBe(true);\n });\n\n it(\"should return true when the limit for each role is respected.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(9, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.THREE_BROTHERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n ]);\n\n expect(areCompositionRolesMinInGameRespected(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionRolesMinInGameDefaultMessage()).toBe(\"players.role minimum occurrences in game must be reached. Please check `minInGame` property of roles\");\n });\n });\n});" }, - "tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts": { + "tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts": { "tests": [ { - "id": "890", + "id": "947", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return false when players are undefined.", "location": { "start": { @@ -97777,7 +107516,7 @@ } }, { - "id": "891", + "id": "948", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return false when players are not an array.", "location": { "start": { @@ -97787,7 +107526,7 @@ } }, { - "id": "892", + "id": "949", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return false when one of the players is not an object.", "location": { "start": { @@ -97797,7 +107536,7 @@ } }, { - "id": "893", + "id": "950", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return false when one of the players doesn't have the good structure.", "location": { "start": { @@ -97807,7 +107546,7 @@ } }, { - "id": "894", + "id": "951", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return false when there is 2 players with the same role but max in game is 1.", "location": { "start": { @@ -97817,7 +107556,7 @@ } }, { - "id": "895", + "id": "952", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return true when players are empty.", "location": { "start": { @@ -97827,7 +107566,7 @@ } }, { - "id": "896", + "id": "953", "name": "Composition Roles Max In Game Decorator areCompositionRolesMaxInGameRespected should return true when the limit for each role is respected.", "location": { "start": { @@ -97837,7 +107576,7 @@ } }, { - "id": "897", + "id": "954", "name": "Composition Roles Max In Game Decorator playersRoleLimitDefaultMessage should return default message when called.", "location": { "start": { @@ -97847,12 +107586,12 @@ } } ], - "source": "import {\n getCompositionRolesMaxInGameDefaultMessage,\n areCompositionRolesMaxInGameRespected,\n} from \"../../../../../../../../src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Roles Max In Game Decorator\", () => {\n describe(\"areCompositionRolesMaxInGameRespected\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(areCompositionRolesMaxInGameRespected(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(areCompositionRolesMaxInGameRespected(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected([...players, { name: \"bad\", role: { toto: \"tata\" } }])).toBe(false);\n });\n\n it(\"should return false when there is 2 players with the same role but max in game is 1.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected(players)).toBe(false);\n });\n\n it(\"should return true when players are empty.\", () => {\n expect(areCompositionRolesMaxInGameRespected([])).toBe(true);\n });\n\n it(\"should return true when the limit for each role is respected.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(8, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionRolesMaxInGameDefaultMessage()).toBe(\"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\");\n });\n });\n});" + "source": "import {\n getCompositionRolesMaxInGameDefaultMessage,\n areCompositionRolesMaxInGameRespected,\n} from \"../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Roles Max In Game Decorator\", () => {\n describe(\"areCompositionRolesMaxInGameRespected\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(areCompositionRolesMaxInGameRespected(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(areCompositionRolesMaxInGameRespected(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected([...players, { name: \"bad\", role: { toto: \"tata\" } }])).toBe(false);\n });\n\n it(\"should return false when there is 2 players with the same role but max in game is 1.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected(players)).toBe(false);\n });\n\n it(\"should return true when players are empty.\", () => {\n expect(areCompositionRolesMaxInGameRespected([])).toBe(true);\n });\n\n it(\"should return true when the limit for each role is respected.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(8, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(areCompositionRolesMaxInGameRespected(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionRolesMaxInGameDefaultMessage()).toBe(\"players.role can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles\");\n });\n });\n});" }, - "tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts": { + "tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts": { "tests": [ { - "id": "898", + "id": "955", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return false when players are undefined.", "location": { "start": { @@ -97862,7 +107601,7 @@ } }, { - "id": "899", + "id": "956", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return false when players are not an array.", "location": { "start": { @@ -97872,7 +107611,7 @@ } }, { - "id": "900", + "id": "957", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return false when one of the players is not an object.", "location": { "start": { @@ -97882,7 +107621,7 @@ } }, { - "id": "901", + "id": "958", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return false when one of the players doesn't have the good structure.", "location": { "start": { @@ -97892,7 +107631,7 @@ } }, { - "id": "902", + "id": "959", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return false when composition is full of werewolves.", "location": { "start": { @@ -97902,7 +107641,7 @@ } }, { - "id": "903", + "id": "960", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return false when players are empty.", "location": { "start": { @@ -97912,7 +107651,7 @@ } }, { - "id": "904", + "id": "961", "name": "Composition Has Villager Decorator doesCompositionHaveAtLeastOneVillager should return true when there is at least one villager in composition.", "location": { "start": { @@ -97922,7 +107661,7 @@ } }, { - "id": "905", + "id": "962", "name": "Composition Has Villager Decorator playersRoleLimitDefaultMessage should return default message when called.", "location": { "start": { @@ -97932,12 +107671,12 @@ } } ], - "source": "import {\n doesCompositionHaveAtLeastOneVillager,\n getCompositionHasVillagerDefaultMessage,\n} from \"../../../../../../../../src/modules/game/dto/base/decorators/composition-has-villager.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Has Villager Decorator\", () => {\n describe(\"doesCompositionHaveAtLeastOneVillager\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(doesCompositionHaveAtLeastOneVillager(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(doesCompositionHaveAtLeastOneVillager(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager([...players, { name: \"bad\", role: { titi: \"toto\" } }])).toBe(false);\n });\n\n it(\"should return false when composition is full of werewolves.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILE_FATHER_OF_WOLVES } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILE_FATHER_OF_WOLVES } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager(players)).toBe(false);\n });\n\n it(\"should return false when players are empty.\", () => {\n expect(doesCompositionHaveAtLeastOneVillager([])).toBe(false);\n });\n\n it(\"should return true when there is at least one villager in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionHasVillagerDefaultMessage()).toBe(\"one of the players.role must have at least one role from `villagers` side\");\n });\n });\n});" + "source": "import {\n doesCompositionHaveAtLeastOneVillager,\n getCompositionHasVillagerDefaultMessage,\n} from \"../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Has Villager Decorator\", () => {\n describe(\"doesCompositionHaveAtLeastOneVillager\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(doesCompositionHaveAtLeastOneVillager(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(doesCompositionHaveAtLeastOneVillager(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager([...players, { name: \"bad\", role: { titi: \"toto\" } }])).toBe(false);\n });\n\n it(\"should return false when composition is full of werewolves.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILE_FATHER_OF_WOLVES } },\n { role: { name: ROLE_NAMES.WHITE_WEREWOLF } },\n { role: { name: ROLE_NAMES.VILE_FATHER_OF_WOLVES } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager(players)).toBe(false);\n });\n\n it(\"should return false when players are empty.\", () => {\n expect(doesCompositionHaveAtLeastOneVillager([])).toBe(false);\n });\n\n it(\"should return true when there is at least one villager in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneVillager(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionHasVillagerDefaultMessage()).toBe(\"one of the players.role must have at least one role from `villagers` side\");\n });\n });\n});" }, - "tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts": { + "tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts": { "tests": [ { - "id": "906", + "id": "963", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return false when players are undefined.", "location": { "start": { @@ -97947,7 +107686,7 @@ } }, { - "id": "907", + "id": "964", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return false when players are not an array.", "location": { "start": { @@ -97957,7 +107696,7 @@ } }, { - "id": "908", + "id": "965", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return false when one of the players is not an object.", "location": { "start": { @@ -97967,7 +107706,7 @@ } }, { - "id": "909", + "id": "966", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return false when one of the players doesn't have the good structure.", "location": { "start": { @@ -97977,7 +107716,7 @@ } }, { - "id": "910", + "id": "967", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return false when composition is full of villagers.", "location": { "start": { @@ -97987,7 +107726,7 @@ } }, { - "id": "911", + "id": "968", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return false when players are empty.", "location": { "start": { @@ -97997,7 +107736,7 @@ } }, { - "id": "912", + "id": "969", "name": "Composition Has Werewolf Decorator doesCompositionHaveAtLeastOneWerewolf should return true when there is at least one werewolf in composition.", "location": { "start": { @@ -98007,7 +107746,7 @@ } }, { - "id": "913", + "id": "970", "name": "Composition Has Werewolf Decorator playersRoleLimitDefaultMessage should return default message when called.", "location": { "start": { @@ -98017,57 +107756,12 @@ } } ], - "source": "import {\n doesCompositionHaveAtLeastOneWerewolf,\n getCompositionHasWerewolfDefaultMessage,\n} from \"../../../../../../../../src/modules/game/dto/base/decorators/composition-has-werewolf.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Has Werewolf Decorator\", () => {\n describe(\"doesCompositionHaveAtLeastOneWerewolf\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(doesCompositionHaveAtLeastOneWerewolf(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(doesCompositionHaveAtLeastOneWerewolf(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf([...players, { name: \"bad\", role: { titi: \"toto\" } }])).toBe(false);\n });\n\n it(\"should return false when composition is full of villagers.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.HUNTER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf(players)).toBe(false);\n });\n\n it(\"should return false when players are empty.\", () => {\n expect(doesCompositionHaveAtLeastOneWerewolf([])).toBe(false);\n });\n\n it(\"should return true when there is at least one werewolf in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.HUNTER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionHasWerewolfDefaultMessage()).toBe(\"one of the players.role must have at least one role from `werewolves` side\");\n });\n });\n});" - }, - "tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts": { - "tests": [ - { - "id": "914", - "name": "Unexpected Exception Factory createCantFindPlayerUnexpectedException should create player is dead unexpected exception when called.", - "location": { - "start": { - "column": 6, - "line": 7 - } - } - }, - { - "id": "915", - "name": "Unexpected Exception Factory createPlayerIsDeadUnexpectedException should create player is dead unexpected exception when called.", - "location": { - "start": { - "column": 6, - "line": 20 - } - } - }, - { - "id": "916", - "name": "Unexpected Exception Factory createCantGenerateGamePlaysUnexpectedException should create can't generate game plays unexpected exception when called.", - "location": { - "start": { - "column": 6, - "line": 33 - } - } - }, - { - "id": "917", - "name": "Unexpected Exception Factory createNoCurrentGamePlayUnexpectedException should create no current game play unexpected exception when called.", - "location": { - "start": { - "column": 6, - "line": 45 - } - } - } - ], - "source": "import { createCantFindPlayerUnexpectedException, createCantGenerateGamePlaysUnexpectedException, createNoCurrentGamePlayUnexpectedException, createPlayerIsDeadUnexpectedException } from \"../../../../../../src/shared/exception/helpers/unexpected-exception.factory\";\nimport { createFakeObjectId } from \"../../../../../factories/shared/mongoose/mongoose.factory\";\nimport type { ExceptionResponse } from \"../../../../../types/exception/exception.types\";\n\ndescribe(\"Unexpected Exception Factory\", () => {\n describe(\"createCantFindPlayerUnexpectedException\", () => {\n it(\"should create player is dead unexpected exception when called.\", () => {\n const interpolations = { gameId: createFakeObjectId(), playerId: createFakeObjectId() };\n const exception = createCantFindPlayerUnexpectedException(\"werewolvesEat\", interpolations);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in werewolvesEat\",\n error: `Can't find player with id \"${interpolations.playerId.toString()}\" in game \"${interpolations.gameId.toString()}\"`,\n });\n });\n });\n\n describe(\"createPlayerIsDeadUnexpectedException\", () => {\n it(\"should create player is dead unexpected exception when called.\", () => {\n const interpolations = { gameId: createFakeObjectId(), playerId: createFakeObjectId() };\n const exception = createPlayerIsDeadUnexpectedException(\"killPlayer\", interpolations);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in killPlayer\",\n error: `Player with id \"${interpolations.playerId.toString()}\" is dead in game \"${interpolations.gameId.toString()}\"`,\n });\n });\n });\n\n describe(\"createCantGenerateGamePlaysUnexpectedException\", () => {\n it(\"should create can't generate game plays unexpected exception when called.\", () => {\n const exception = createCantGenerateGamePlaysUnexpectedException(\"createGame\");\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in createGame\",\n error: `Can't generate game plays`,\n });\n });\n });\n \n describe(\"createNoCurrentGamePlayUnexpectedException\", () => {\n it(\"should create no current game play unexpected exception when called.\", () => {\n const interpolations = { gameId: createFakeObjectId() };\n const exception = createNoCurrentGamePlayUnexpectedException(\"makePlay\", interpolations);\n\n expect(exception.getResponse()).toStrictEqual({\n statusCode: 500,\n message: \"Unexpected exception in makePlay\",\n error: `Game with id \"${interpolations.gameId.toString()}\" doesn't have a current game play to deal with`,\n });\n });\n });\n});" + "source": "import {\n doesCompositionHaveAtLeastOneWerewolf,\n getCompositionHasWerewolfDefaultMessage,\n} from \"../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { bulkCreateFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Composition Has Werewolf Decorator\", () => {\n describe(\"doesCompositionHaveAtLeastOneWerewolf\", () => {\n it(\"should return false when players are undefined.\", () => {\n expect(doesCompositionHaveAtLeastOneWerewolf(undefined)).toBe(false);\n });\n\n it(\"should return false when players are not an array.\", () => {\n expect(doesCompositionHaveAtLeastOneWerewolf(null)).toBe(false);\n });\n\n it(\"should return false when one of the players is not an object.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf([...players, \"toto\"])).toBe(false);\n });\n\n it(\"should return false when one of the players doesn't have the good structure.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.TWO_SISTERS } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n { role: { name: ROLE_NAMES.VILLAGER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf([...players, { name: \"bad\", role: { titi: \"toto\" } }])).toBe(false);\n });\n\n it(\"should return false when composition is full of villagers.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.VILLAGER } },\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.HUNTER } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf(players)).toBe(false);\n });\n\n it(\"should return false when players are empty.\", () => {\n expect(doesCompositionHaveAtLeastOneWerewolf([])).toBe(false);\n });\n\n it(\"should return true when there is at least one werewolf in composition.\", () => {\n const players = bulkCreateFakeCreateGamePlayerDto(4, [\n { role: { name: ROLE_NAMES.WITCH } },\n { role: { name: ROLE_NAMES.SEER } },\n { role: { name: ROLE_NAMES.HUNTER } },\n { role: { name: ROLE_NAMES.WEREWOLF } },\n ]);\n\n expect(doesCompositionHaveAtLeastOneWerewolf(players)).toBe(true);\n });\n });\n\n describe(\"playersRoleLimitDefaultMessage\", () => {\n it(\"should return default message when called.\", () => {\n expect(getCompositionHasWerewolfDefaultMessage()).toBe(\"one of the players.role must have at least one role from `werewolves` side\");\n });\n });\n});" }, "tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts": { "tests": [ { - "id": "918", + "id": "971", "name": "Player Side Transformer playerSideTransformer should return null when value is null.", "location": { "start": { @@ -98077,7 +107771,7 @@ } }, { - "id": "919", + "id": "972", "name": "Player Side Transformer playerSideTransformer should return same value when value is not an object.", "location": { "start": { @@ -98087,7 +107781,7 @@ } }, { - "id": "920", + "id": "973", "name": "Player Side Transformer playerSideTransformer should return same value when obj is not an object.", "location": { "start": { @@ -98097,7 +107791,7 @@ } }, { - "id": "921", + "id": "974", "name": "Player Side Transformer playerSideTransformer should return same value when obj doesn't have the role.name field.", "location": { "start": { @@ -98107,7 +107801,7 @@ } }, { - "id": "922", + "id": "975", "name": "Player Side Transformer playerSideTransformer should return same value when role is unknown.", "location": { "start": { @@ -98117,7 +107811,7 @@ } }, { - "id": "923", + "id": "976", "name": "Player Side Transformer playerSideTransformer should fill player side with werewolf data when role is white werewolf.", "location": { "start": { @@ -98127,7 +107821,7 @@ } }, { - "id": "924", + "id": "977", "name": "Player Side Transformer playerSideTransformer should fill player side with villager data when role is witch.", "location": { "start": { @@ -98137,12 +107831,12 @@ } } ], - "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { playerSideTransformer } from \"../../../../../../../../../src/modules/game/dto/base/game-player/transformers/player-side.transformer\";\nimport type { CreateGamePlayerSideDto } from \"../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-side.dto/create-game-player-side.dto\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Player Side Transformer\", () => {\n describe(\"playerSideTransformer\", () => {\n it(\"should return null when value is null.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WHITE_WEREWOLF } });\n\n expect(playerSideTransformer({ value: null, obj: player } as TransformFnParams)).toBeNull();\n });\n\n it(\"should return same value when value is not an object.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WHITE_WEREWOLF } });\n\n expect(playerSideTransformer({ value: \"toto\", obj: player } as TransformFnParams)).toBe(\"toto\");\n });\n\n it(\"should return same value when obj is not an object.\", () => {\n expect(playerSideTransformer({ value: {}, obj: null } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should return same value when obj doesn't have the role.name field.\", () => {\n expect(playerSideTransformer({ value: {}, obj: { role: { toto: ROLE_NAMES.WITCH } } } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should return same value when role is unknown.\", () => {\n expect(playerSideTransformer({ value: {}, obj: { role: { name: \"hello\" } } } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should fill player side with werewolf data when role is white werewolf.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WHITE_WEREWOLF } });\n\n expect(playerSideTransformer({ value: {}, obj: player } as TransformFnParams)).toStrictEqual({\n current: ROLE_SIDES.WEREWOLVES,\n original: ROLE_SIDES.WEREWOLVES,\n });\n });\n\n it(\"should fill player side with villager data when role is witch.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WITCH } });\n\n expect(playerSideTransformer({ value: {}, obj: player } as TransformFnParams)).toStrictEqual({\n current: ROLE_SIDES.VILLAGERS,\n original: ROLE_SIDES.VILLAGERS,\n });\n });\n });\n});" + "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { playerSideTransformer } from \"../../../../../../../../../src/modules/game/dto/base/game-player/transformers/player-side.transformer\";\nimport type { CreateGamePlayerSideDto } from \"../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-side/create-game-player-side.dto\";\nimport { ROLE_NAMES, ROLE_SIDES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGamePlayerDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory\";\n\ndescribe(\"Player Side Transformer\", () => {\n describe(\"playerSideTransformer\", () => {\n it(\"should return null when value is null.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WHITE_WEREWOLF } });\n\n expect(playerSideTransformer({ value: null, obj: player } as TransformFnParams)).toBeNull();\n });\n\n it(\"should return same value when value is not an object.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WHITE_WEREWOLF } });\n\n expect(playerSideTransformer({ value: \"toto\", obj: player } as TransformFnParams)).toBe(\"toto\");\n });\n\n it(\"should return same value when obj is not an object.\", () => {\n expect(playerSideTransformer({ value: {}, obj: null } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should return same value when obj doesn't have the role.name field.\", () => {\n expect(playerSideTransformer({ value: {}, obj: { role: { toto: ROLE_NAMES.WITCH } } } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should return same value when role is unknown.\", () => {\n expect(playerSideTransformer({ value: {}, obj: { role: { name: \"hello\" } } } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should fill player side with werewolf data when role is white werewolf.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WHITE_WEREWOLF } });\n\n expect(playerSideTransformer({ value: {}, obj: player } as TransformFnParams)).toStrictEqual({\n current: ROLE_SIDES.WEREWOLVES,\n original: ROLE_SIDES.WEREWOLVES,\n });\n });\n\n it(\"should fill player side with villager data when role is witch.\", () => {\n const player = createFakeCreateGamePlayerDto({ role: { name: ROLE_NAMES.WITCH } });\n\n expect(playerSideTransformer({ value: {}, obj: player } as TransformFnParams)).toStrictEqual({\n current: ROLE_SIDES.VILLAGERS,\n original: ROLE_SIDES.VILLAGERS,\n });\n });\n });\n});" }, "tests/unit/specs/modules/game/dto/base/game-player/transformers/player-role.transformer.spec.ts": { "tests": [ { - "id": "925", + "id": "978", "name": "Player Role Transformer playerRoleTransformer should return null when value is null.", "location": { "start": { @@ -98152,7 +107846,7 @@ } }, { - "id": "926", + "id": "979", "name": "Player Role Transformer playerRoleTransformer should return same value when value is not an object.", "location": { "start": { @@ -98162,7 +107856,7 @@ } }, { - "id": "927", + "id": "980", "name": "Player Role Transformer playerRoleTransformer should return same value when value doesn't have the name field.", "location": { "start": { @@ -98172,7 +107866,7 @@ } }, { - "id": "928", + "id": "981", "name": "Player Role Transformer playerRoleTransformer should return same value when role is unknown.", "location": { "start": { @@ -98182,7 +107876,7 @@ } }, { - "id": "929", + "id": "982", "name": "Player Role Transformer playerRoleTransformer should fill player role (seer) fields when called.", "location": { "start": { @@ -98192,7 +107886,7 @@ } }, { - "id": "930", + "id": "983", "name": "Player Role Transformer playerRoleTransformer should fill player role (white-werewolf) fields when called.", "location": { "start": { @@ -98202,7 +107896,7 @@ } }, { - "id": "931", + "id": "984", "name": "Player Role Transformer playerRoleTransformer should fill player role fields with isRevealed true when role is villager villager.", "location": { "start": { @@ -98212,12 +107906,12 @@ } } ], - "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { playerRoleTransformer } from \"../../../../../../../../../src/modules/game/dto/base/game-player/transformers/player-role.transformer\";\nimport type { CreateGamePlayerRoleDto } from \"../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-role.dto/create-game-player-role.dto\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\n\ndescribe(\"Player Role Transformer\", () => {\n describe(\"playerRoleTransformer\", () => {\n it(\"should return null when value is null.\", () => {\n expect(playerRoleTransformer({ value: null } as TransformFnParams)).toBeNull();\n });\n\n it(\"should return same value when value is not an object.\", () => {\n expect(playerRoleTransformer({ value: \"toto\" } as TransformFnParams)).toBe(\"toto\");\n });\n\n it(\"should return same value when value doesn't have the name field.\", () => {\n expect(playerRoleTransformer({ value: {} } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should return same value when role is unknown.\", () => {\n expect(playerRoleTransformer({ value: { name: \"hello\" } } as TransformFnParams)).toStrictEqual({ name: \"hello\" });\n });\n\n it(\"should fill player role (seer) fields when called.\", () => {\n const createPlayerRoleDto: CreateGamePlayerRoleDto = { name: ROLE_NAMES.SEER };\n\n expect(playerRoleTransformer({ value: createPlayerRoleDto } as TransformFnParams)).toStrictEqual({\n name: ROLE_NAMES.SEER,\n original: ROLE_NAMES.SEER,\n current: ROLE_NAMES.SEER,\n isRevealed: false,\n });\n });\n\n it(\"should fill player role (white-werewolf) fields when called.\", () => {\n const createPlayerRoleDto: CreateGamePlayerRoleDto = { name: ROLE_NAMES.WHITE_WEREWOLF };\n\n expect(playerRoleTransformer({ value: createPlayerRoleDto } as TransformFnParams)).toStrictEqual({\n name: ROLE_NAMES.WHITE_WEREWOLF,\n original: ROLE_NAMES.WHITE_WEREWOLF,\n current: ROLE_NAMES.WHITE_WEREWOLF,\n isRevealed: false,\n });\n });\n\n it(\"should fill player role fields with isRevealed true when role is villager villager.\", () => {\n const createPlayerRoleDto: CreateGamePlayerRoleDto = { name: ROLE_NAMES.VILLAGER_VILLAGER };\n\n expect(playerRoleTransformer({ value: createPlayerRoleDto } as TransformFnParams)).toStrictEqual({\n name: ROLE_NAMES.VILLAGER_VILLAGER,\n original: ROLE_NAMES.VILLAGER_VILLAGER,\n current: ROLE_NAMES.VILLAGER_VILLAGER,\n isRevealed: true,\n });\n });\n });\n});" + "source": "import type { TransformFnParams } from \"class-transformer/types/interfaces\";\nimport { playerRoleTransformer } from \"../../../../../../../../../src/modules/game/dto/base/game-player/transformers/player-role.transformer\";\nimport type { CreateGamePlayerRoleDto } from \"../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-role/create-game-player-role.dto\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\n\ndescribe(\"Player Role Transformer\", () => {\n describe(\"playerRoleTransformer\", () => {\n it(\"should return null when value is null.\", () => {\n expect(playerRoleTransformer({ value: null } as TransformFnParams)).toBeNull();\n });\n\n it(\"should return same value when value is not an object.\", () => {\n expect(playerRoleTransformer({ value: \"toto\" } as TransformFnParams)).toBe(\"toto\");\n });\n\n it(\"should return same value when value doesn't have the name field.\", () => {\n expect(playerRoleTransformer({ value: {} } as TransformFnParams)).toStrictEqual({});\n });\n\n it(\"should return same value when role is unknown.\", () => {\n expect(playerRoleTransformer({ value: { name: \"hello\" } } as TransformFnParams)).toStrictEqual({ name: \"hello\" });\n });\n\n it(\"should fill player role (seer) fields when called.\", () => {\n const createPlayerRoleDto: CreateGamePlayerRoleDto = { name: ROLE_NAMES.SEER };\n\n expect(playerRoleTransformer({ value: createPlayerRoleDto } as TransformFnParams)).toStrictEqual({\n name: ROLE_NAMES.SEER,\n original: ROLE_NAMES.SEER,\n current: ROLE_NAMES.SEER,\n isRevealed: false,\n });\n });\n\n it(\"should fill player role (white-werewolf) fields when called.\", () => {\n const createPlayerRoleDto: CreateGamePlayerRoleDto = { name: ROLE_NAMES.WHITE_WEREWOLF };\n\n expect(playerRoleTransformer({ value: createPlayerRoleDto } as TransformFnParams)).toStrictEqual({\n name: ROLE_NAMES.WHITE_WEREWOLF,\n original: ROLE_NAMES.WHITE_WEREWOLF,\n current: ROLE_NAMES.WHITE_WEREWOLF,\n isRevealed: false,\n });\n });\n\n it(\"should fill player role fields with isRevealed true when role is villager villager.\", () => {\n const createPlayerRoleDto: CreateGamePlayerRoleDto = { name: ROLE_NAMES.VILLAGER_VILLAGER };\n\n expect(playerRoleTransformer({ value: createPlayerRoleDto } as TransformFnParams)).toStrictEqual({\n name: ROLE_NAMES.VILLAGER_VILLAGER,\n original: ROLE_NAMES.VILLAGER_VILLAGER,\n current: ROLE_NAMES.VILLAGER_VILLAGER,\n isRevealed: true,\n });\n });\n });\n});" }, "tests/unit/specs/modules/game/controllers/pipes/get-game-by-id.pipe.spec.ts": { "tests": [ { - "id": "932", + "id": "985", "name": "Get Game By Id Pipe transform should throw error when value is not a valid object id.", "location": { "start": { @@ -98227,7 +107921,7 @@ } }, { - "id": "933", + "id": "986", "name": "Get Game By Id Pipe transform should throw error when game is not found.", "location": { "start": { @@ -98237,7 +107931,7 @@ } }, { - "id": "934", + "id": "987", "name": "Get Game By Id Pipe transform should return existing game when game is found.", "location": { "start": { @@ -98249,10 +107943,55 @@ ], "source": "import { faker } from \"@faker-js/faker\";\nimport { BadRequestException } from \"@nestjs/common\";\nimport type { TestingModule } from \"@nestjs/testing\";\nimport { Test } from \"@nestjs/testing\";\nimport { GetGameByIdPipe } from \"../../../../../../../src/modules/game/controllers/pipes/get-game-by-id.pipe\";\nimport { GameRepository } from \"../../../../../../../src/modules/game/providers/repositories/game.repository\";\nimport { API_RESOURCES } from \"../../../../../../../src/shared/api/enums/api.enum\";\nimport { ResourceNotFoundException } from \"../../../../../../../src/shared/exception/types/resource-not-found-exception.type\";\nimport { createFakeGame } from \"../../../../../../factories/game/schemas/game.schema.factory\";\nimport { createObjectIdFromString } from \"../../../../../../helpers/mongoose/mongoose.helper\";\n\ndescribe(\"Get Game By Id Pipe\", () => {\n let getGameByIdPipe: GetGameByIdPipe;\n let mocks: { gameRepository: { findOne: jest.SpyInstance } };\n let repositories: { game: GameRepository };\n \n beforeEach(async() => {\n mocks = { gameRepository: { findOne: jest.fn() } };\n \n const module: TestingModule = await Test.createTestingModule({\n providers: [\n GameRepository,\n {\n provide: GameRepository,\n useValue: mocks.gameRepository,\n },\n ],\n }).compile();\n \n repositories = { game: module.get(GameRepository) };\n getGameByIdPipe = new GetGameByIdPipe(repositories.game);\n });\n \n describe(\"transform\", () => {\n const gameId = faker.database.mongodbObjectId();\n\n it(\"should throw error when value is not a valid object id.\", async() => {\n const expectedError = new BadRequestException(\"Validation failed (Mongo ObjectId is expected)\");\n\n await expect(getGameByIdPipe.transform(\"bad-id\")).rejects.toThrow(expectedError);\n });\n\n it(\"should throw error when game is not found.\", async() => {\n mocks.gameRepository.findOne.mockResolvedValue(null);\n const expectedError = new ResourceNotFoundException(API_RESOURCES.GAMES, gameId.toString());\n\n await expect(getGameByIdPipe.transform(gameId)).rejects.toThrow(expectedError);\n });\n \n it(\"should return existing game when game is found.\", async() => {\n const game = createFakeGame();\n mocks.gameRepository.findOne.mockResolvedValue(game);\n \n await expect(getGameByIdPipe.transform(gameId)).resolves.toStrictEqual(game);\n expect(mocks.gameRepository.findOne).toHaveBeenCalledExactlyOnceWith({ _id: createObjectIdFromString(gameId) });\n });\n });\n});" }, + "tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.spec.ts": { + "tests": [ + { + "id": "988", + "name": "Additional Cards For Thief Roles Decorator areAdditionalCardsForThiefRolesRespected should return true when additional cards are not defined.", + "location": { + "start": { + "column": 6, + "line": 8 + } + } + }, + { + "id": "989", + "name": "Additional Cards For Thief Roles Decorator areAdditionalCardsForThiefRolesRespected should return false when at least one additional card role is not for thief.", + "location": { + "start": { + "column": 6, + "line": 14 + } + } + }, + { + "id": "990", + "name": "Additional Cards For Thief Roles Decorator areAdditionalCardsForThiefRolesRespected should return true when all additional cards roles are for thief.", + "location": { + "start": { + "column": 6, + "line": 23 + } + } + }, + { + "id": "991", + "name": "Additional Cards For Thief Roles Decorator getAdditionalCardsForThiefRolesDefaultMessage should return additional cards for thief roles default message when called.", + "location": { + "start": { + "column": 6, + "line": 34 + } + } + } + ], + "source": "import { gameAdditionalCardsThiefRoleNames } from \"../../../../../../../../../src/modules/game/constants/game-additional-card/game-additional-card.constant\";\nimport { areAdditionalCardsForThiefRolesRespected, getAdditionalCardsForThiefRolesDefaultMessage } from \"../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator\";\nimport { ROLE_NAMES } from \"../../../../../../../../../src/modules/role/enums/role.enum\";\nimport { createFakeCreateGameAdditionalCardDto } from \"../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory\";\n\ndescribe(\"Additional Cards For Thief Roles Decorator\", () => {\n describe(\"areAdditionalCardsForThiefRolesRespected\", () => {\n it(\"should return true when additional cards are not defined.\", () => {\n const additionalCards = undefined;\n\n expect(areAdditionalCardsForThiefRolesRespected(additionalCards)).toBe(true);\n });\n\n it(\"should return false when at least one additional card role is not for thief.\", () => {\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.THIEF }),\n ];\n\n expect(areAdditionalCardsForThiefRolesRespected(additionalCards)).toBe(false);\n });\n\n it(\"should return true when all additional cards roles are for thief.\", () => {\n const additionalCards = [\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }),\n createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.LITTLE_GIRL }),\n ];\n\n expect(areAdditionalCardsForThiefRolesRespected(additionalCards)).toBe(true);\n });\n });\n\n describe(\"getAdditionalCardsForThiefRolesDefaultMessage\", () => {\n it(\"should return additional cards for thief roles default message when called.\", () => {\n expect(getAdditionalCardsForThiefRolesDefaultMessage()).toBe(`additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`);\n });\n });\n});" + }, "tests/unit/specs/modules/config/database/helpers/database.helper.spec.ts": { "tests": [ { - "id": "935", + "id": "992", "name": "Database Helper mongooseModuleFactory should return connection string when called.", "location": { "start": { @@ -98267,7 +108006,7 @@ "tests/unit/specs/modules/game/dto/base/transformers/game-players-position.transformer.spec.ts": { "tests": [ { - "id": "936", + "id": "993", "name": "Game Players Position Transformer gamePlayersPositionTransformer should return same value when value is not an array.", "location": { "start": { @@ -98277,7 +108016,7 @@ } }, { - "id": "937", + "id": "994", "name": "Game Players Position Transformer gamePlayersPositionTransformer should return same value when one value of the array is not object.", "location": { "start": { @@ -98287,7 +108026,7 @@ } }, { - "id": "938", + "id": "995", "name": "Game Players Position Transformer gamePlayersPositionTransformer should return players as is when every position is set.", "location": { "start": { @@ -98297,7 +108036,7 @@ } }, { - "id": "939", + "id": "996", "name": "Game Players Position Transformer gamePlayersPositionTransformer should return players as is when at least one position is not set.", "location": { "start": { @@ -98307,7 +108046,7 @@ } }, { - "id": "940", + "id": "997", "name": "Game Players Position Transformer gamePlayersPositionTransformer should return players with sequential position when no positions are set.", "location": { "start": { @@ -98322,7 +108061,7 @@ "tests/unit/specs/modules/config/env/helpers/env.helper.spec.ts": { "tests": [ { - "id": "941", + "id": "998", "name": "Config Env Helper validate should return the validated config when there is no error in env variables.", "location": { "start": { @@ -98332,7 +108071,7 @@ } }, { - "id": "942", + "id": "999", "name": "Config Env Helper validate should throw error when env variables is not valid.", "location": { "start": { @@ -98342,7 +108081,7 @@ } }, { - "id": "943", + "id": "1000", "name": "Config Env Helper getEnvPath should return default development env path when NODE_ENV is undefined.", "location": { "start": { @@ -98352,7 +108091,7 @@ } }, { - "id": "944", + "id": "1001", "name": "Config Env Helper getEnvPath should return test env path when NODE_ENV is test.", "location": { "start": { @@ -98362,7 +108101,7 @@ } }, { - "id": "945", + "id": "1002", "name": "Config Env Helper getEnvPaths should return default and local test env paths when function is called.", "location": { "start": { @@ -98377,7 +108116,7 @@ "tests/unit/specs/modules/role/helpers/role.helper.spec.ts": { "tests": [ { - "id": "946", + "id": "1003", "name": "Role Helper getRolesWithSide should get all werewolf roles when werewolf side is provided.", "location": { "start": { @@ -98387,7 +108126,7 @@ } }, { - "id": "947", + "id": "1004", "name": "Role Helper getRolesWithSide should get all villagers roles when villager side is provided.", "location": { "start": { @@ -98402,7 +108141,7 @@ "tests/unit/specs/shared/api/pipes/validate-mongo-id.pipe.spec.ts": { "tests": [ { - "id": "948", + "id": "1005", "name": "Validate MongoId Pipe transform should return the value as ObjectId when value is a correct MongoId (string).", "location": { "start": { @@ -98412,7 +108151,7 @@ } }, { - "id": "949", + "id": "1006", "name": "Validate MongoId Pipe transform should return the value as ObjectId when value is a correct MongoId (objectId).", "location": { "start": { @@ -98422,7 +108161,7 @@ } }, { - "id": "950", + "id": "1007", "name": "Validate MongoId Pipe transform should throw an error when value is a incorrect string MongoId.", "location": { "start": { @@ -98432,7 +108171,7 @@ } }, { - "id": "951", + "id": "1008", "name": "Validate MongoId Pipe transform should throw an error when value is null.", "location": { "start": { @@ -98447,7 +108186,7 @@ "tests/unit/specs/modules/game/helpers/game.factory.spec.ts": { "tests": [ { - "id": "952", + "id": "1009", "name": "Game Factory createGame should create a game when called.", "location": { "start": { @@ -98462,7 +108201,7 @@ "tests/unit/specs/shared/exception/types/unexpected-exception.type.spec.ts": { "tests": [ { - "id": "953", + "id": "1010", "name": "Unexpected exception type getResponse should get response with description without interpolations when interpolations are not necessary.", "location": { "start": { @@ -98472,7 +108211,7 @@ } }, { - "id": "954", + "id": "1011", "name": "Unexpected exception type getResponse should get response with description with interpolations when interpolations necessary.", "location": { "start": { @@ -98487,7 +108226,7 @@ "tests/unit/specs/shared/exception/types/resource-not-found-exception.type.spec.ts": { "tests": [ { - "id": "955", + "id": "1012", "name": "Resource not found exception type getResponse should get response without description when called without reason.", "location": { "start": { @@ -98497,7 +108236,7 @@ } }, { - "id": "956", + "id": "1013", "name": "Resource not found exception type getResponse should get response with description when called with reason.", "location": { "start": { @@ -98512,7 +108251,7 @@ "tests/unit/specs/shared/exception/types/bad-resource-mutation-exception.type.spec.ts": { "tests": [ { - "id": "957", + "id": "1014", "name": "Resource not found mutation exception type getResponse should get response without description when called without reason.", "location": { "start": { @@ -98522,7 +108261,7 @@ } }, { - "id": "958", + "id": "1015", "name": "Resource not found mutation exception type getResponse should get response with description when called with reason.", "location": { "start": { @@ -98537,7 +108276,7 @@ "tests/unit/specs/modules/game/controllers/decorators/api-game-not-found-response.decorator.spec.ts": { "tests": [ { - "id": "959", + "id": "1016", "name": "Api Game Not Found Response Decorator ApiGameNotFoundResponse should call api not found response function with default values when called without specific options.", "location": { "start": { @@ -98547,7 +108286,7 @@ } }, { - "id": "960", + "id": "1017", "name": "Api Game Not Found Response Decorator ApiGameNotFoundResponse should call api not found response function with other values when called with specific options.", "location": { "start": { @@ -98562,7 +108301,7 @@ "tests/unit/specs/modules/game/controllers/decorators/api-game-id-param.decorator.spec.ts": { "tests": [ { - "id": "961", + "id": "1018", "name": "Api Game Id Param Decorator ApiGameIdParam should call api param function with default values when called without specific options.", "location": { "start": { @@ -98572,7 +108311,7 @@ } }, { - "id": "962", + "id": "1019", "name": "Api Game Id Param Decorator ApiGameIdParam should call api param function with other values when called with specific options.", "location": { "start": { @@ -98587,7 +108326,7 @@ "tests/unit/specs/modules/role/constants/role.constant.spec.ts": { "tests": [ { - "id": "963", + "id": "1020", "name": "Role Constant werewolvesRoles should contain only roles with side 'werewolves' when called.", "location": { "start": { @@ -98597,7 +108336,7 @@ } }, { - "id": "964", + "id": "1021", "name": "Role Constant villagerRoles should contain only roles with side 'villagers' when called.", "location": { "start": { @@ -98607,7 +108346,7 @@ } }, { - "id": "965", + "id": "1022", "name": "Role Constant roles should contain all roles when called.", "location": { "start": { @@ -98622,7 +108361,7 @@ "tests/unit/specs/modules/game/helpers/player/player.factory.spec.ts": { "tests": [ { - "id": "966", + "id": "1023", "name": "Player Factory createPlayer should create a player when called.", "location": { "start": { @@ -98637,7 +108376,7 @@ "tests/e2e/specs/modules/role/controllers/role.controller.e2e-spec.ts": { "tests": [ { - "id": "967", + "id": "1024", "name": "Role Controller GET /roles should return roles when route is called.", "location": { "start": { @@ -98652,7 +108391,7 @@ "tests/e2e/specs/modules/health/controllers/health.controller.e2e-spec.ts": { "tests": [ { - "id": "968", + "id": "1025", "name": "Health Controller GET /health should return app health when route is called.", "location": { "start": { @@ -98667,7 +108406,7 @@ "tests/unit/specs/shared/exception/types/bad-game-play-payload-exception.type.spec.ts": { "tests": [ { - "id": "969", + "id": "1026", "name": "Bad game play payload exception type getResponse should get response when called.", "location": { "start": { @@ -98682,7 +108421,7 @@ "tests/unit/specs/shared/api/helpers/api.helper.spec.ts": { "tests": [ { - "id": "970", + "id": "1027", "name": "API Helper getResourceSingularForm should return game when called with games [#0].", "location": { "start": { @@ -98692,7 +108431,7 @@ } }, { - "id": "971", + "id": "1028", "name": "API Helper getResourceSingularForm should return player when called with players [#1].", "location": { "start": { @@ -98702,7 +108441,7 @@ } }, { - "id": "972", + "id": "1029", "name": "API Helper getResourceSingularForm should return additional card when called with game-additional-cards [#2].", "location": { "start": { @@ -98712,7 +108451,7 @@ } }, { - "id": "973", + "id": "1030", "name": "API Helper getResourceSingularForm should return role when called with roles [#3].", "location": { "start": { @@ -98722,7 +108461,7 @@ } }, { - "id": "974", + "id": "1031", "name": "API Helper getResourceSingularForm should return health when called with health [#4].", "location": { "start": { @@ -98737,7 +108476,7 @@ "tests/unit/specs/shared/validation/transformers/validation.transformer.spec.ts": { "tests": [ { - "id": "975", + "id": "1032", "name": "Validation Transformer toBoolean should return true when input is {\"value\": \"true\"} [#0].", "location": { "start": { @@ -98747,7 +108486,7 @@ } }, { - "id": "976", + "id": "1033", "name": "Validation Transformer toBoolean should return false when input is {\"value\": \"false\"} [#1].", "location": { "start": { @@ -98757,7 +108496,7 @@ } }, { - "id": "977", + "id": "1034", "name": "Validation Transformer toBoolean should return false2 when input is {\"value\": \"false2\"} [#2].", "location": { "start": { @@ -98767,7 +108506,7 @@ } }, { - "id": "978", + "id": "1035", "name": "Validation Transformer toBoolean should return true when input is {\"value\": true} [#3].", "location": { "start": { @@ -98777,7 +108516,7 @@ } }, { - "id": "979", + "id": "1036", "name": "Validation Transformer toBoolean should return false when input is {\"value\": false} [#4].", "location": { "start": { @@ -98787,7 +108526,7 @@ } }, { - "id": "980", + "id": "1037", "name": "Validation Transformer toBoolean should return 0 when input is {\"value\": 0} [#5].", "location": { "start": { @@ -98797,7 +108536,7 @@ } }, { - "id": "981", + "id": "1038", "name": "Validation Transformer toBoolean should return 1 when input is {\"value\": 1} [#6].", "location": { "start": { @@ -98812,7 +108551,7 @@ "tests/unit/specs/shared/validation/helpers/validation.helper.spec.ts": { "tests": [ { - "id": "982", + "id": "1039", "name": "Validation Helper doesArrayRespectBounds should return true when no bounds are provided.", "location": { "start": { @@ -98822,7 +108561,7 @@ } }, { - "id": "983", + "id": "1040", "name": "Validation Helper doesArrayRespectBounds should return false when min bound is not respected.", "location": { "start": { @@ -98832,7 +108571,7 @@ } }, { - "id": "984", + "id": "1041", "name": "Validation Helper doesArrayRespectBounds should return false when max bound is not respected.", "location": { "start": { @@ -98842,7 +108581,7 @@ } }, { - "id": "985", + "id": "1042", "name": "Validation Helper doesArrayRespectBounds should return true when min and max bounds are respected.", "location": { "start": { @@ -98854,10 +108593,10 @@ ], "source": "import { doesArrayRespectBounds } from \"../../../../../../src/shared/validation/helpers/validation.helper\";\n\ndescribe(\"Validation Helper\", () => {\n describe(\"doesArrayRespectBounds\", () => {\n it(\"should return true when no bounds are provided.\", () => {\n expect(doesArrayRespectBounds([], {})).toBe(true);\n });\n\n it(\"should return false when min bound is not respected.\", () => {\n expect(doesArrayRespectBounds([], { minItems: 1 })).toBe(false);\n });\n\n it(\"should return false when max bound is not respected.\", () => {\n expect(doesArrayRespectBounds([1, 2], { maxItems: 1 })).toBe(false);\n });\n\n it(\"should return true when min and max bounds are respected.\", () => {\n expect(doesArrayRespectBounds([1, 2], { minItems: 1, maxItems: 2 })).toBe(true);\n });\n });\n});" }, - "tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts": { + "tests/unit/specs/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.spec.ts": { "tests": [ { - "id": "986", + "id": "1043", "name": "Composition Unique Names Decorator getPlayerName should return same value when value is null.", "location": { "start": { @@ -98867,7 +108606,7 @@ } }, { - "id": "987", + "id": "1044", "name": "Composition Unique Names Decorator getPlayerName should return same value when value is not an object.", "location": { "start": { @@ -98877,7 +108616,7 @@ } }, { - "id": "988", + "id": "1045", "name": "Composition Unique Names Decorator getPlayerName should return same value when value doesn't have name field.", "location": { "start": { @@ -98887,7 +108626,7 @@ } }, { - "id": "989", + "id": "1046", "name": "Composition Unique Names Decorator getPlayerName should return name when called.", "location": { "start": { @@ -98897,12 +108636,12 @@ } } ], - "source": "import { getPlayerName } from \"../../../../../../../../src/modules/game/dto/base/decorators/composition-unique-names.decorator\";\n\ndescribe(\"Composition Unique Names Decorator\", () => {\n describe(\"getPlayerName\", () => {\n it(\"should return same value when value is null.\", () => {\n expect(getPlayerName(null)).toBeNull();\n });\n\n it(\"should return same value when value is not an object.\", () => {\n expect(getPlayerName(\"tata\")).toBe(\"tata\");\n });\n\n it(\"should return same value when value doesn't have name field.\", () => {\n expect(getPlayerName({ toto: \"tata\" })).toStrictEqual({ toto: \"tata\" });\n });\n\n it(\"should return name when called.\", () => {\n expect(getPlayerName({ name: \"Antoine\" })).toBe(\"Antoine\");\n });\n });\n});" + "source": "import { getPlayerName } from \"../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator\";\n\ndescribe(\"Composition Unique Names Decorator\", () => {\n describe(\"getPlayerName\", () => {\n it(\"should return same value when value is null.\", () => {\n expect(getPlayerName(null)).toBeNull();\n });\n\n it(\"should return same value when value is not an object.\", () => {\n expect(getPlayerName(\"tata\")).toBe(\"tata\");\n });\n\n it(\"should return same value when value doesn't have name field.\", () => {\n expect(getPlayerName({ toto: \"tata\" })).toStrictEqual({ toto: \"tata\" });\n });\n\n it(\"should return name when called.\", () => {\n expect(getPlayerName({ name: \"Antoine\" })).toBe(\"Antoine\");\n });\n });\n});" }, "tests/unit/specs/modules/role/helpers/role.factory.spec.ts": { "tests": [ { - "id": "990", + "id": "1047", "name": "Role Factory createRole should create a role when called.", "location": { "start": { @@ -98917,7 +108656,7 @@ "tests/unit/specs/modules/game/helpers/game-phase/game-phase.helper.spec.ts": { "tests": [ { - "id": "991", + "id": "1048", "name": "Game Phase Helper isGamePhaseOver should return false when the phase is not over.", "location": { "start": { @@ -98927,7 +108666,7 @@ } }, { - "id": "992", + "id": "1049", "name": "Game Phase Helper isGamePhaseOver should return true when the phase is over.", "location": { "start": { @@ -98942,7 +108681,7 @@ "tests/unit/specs/server/helpers/server.helper.spec.ts": { "tests": [ { - "id": "993", + "id": "1050", "name": "Server Helper queryStringParser should call qs parse method with specific options when called.", "location": { "start": { @@ -98957,7 +108696,7 @@ "tests/e2e/specs/app.controller.e2e-spec.ts": { "tests": [ { - "id": "994", + "id": "1051", "name": "App Controller GET / should return status code 204 when route is called.", "location": { "start": { @@ -98972,7 +108711,7 @@ "tests/unit/specs/server/constants/server.constant.spec.ts": { "tests": [ { - "id": "995", + "id": "1052", "name": "Server Constant fastifyServerDefaultOptions should get fastify server default options when called.", "location": { "start": { diff --git a/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.spec.ts new file mode 100644 index 000000000..e9de58716 --- /dev/null +++ b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator.spec.ts @@ -0,0 +1,38 @@ +import { gameAdditionalCardsThiefRoleNames } from "../../../../../../../../../src/modules/game/constants/game-additional-card/game-additional-card.constant"; +import { areAdditionalCardsForThiefRolesRespected, getAdditionalCardsForThiefRolesDefaultMessage } from "../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-roles.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { createFakeCreateGameAdditionalCardDto } from "../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory"; + +describe("Additional Cards For Thief Roles Decorator", () => { + describe("areAdditionalCardsForThiefRolesRespected", () => { + it("should return true when additional cards are not defined.", () => { + const additionalCards = undefined; + + expect(areAdditionalCardsForThiefRolesRespected(additionalCards)).toBe(true); + }); + + it("should return false when at least one additional card role is not for thief.", () => { + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.THIEF }), + ]; + + expect(areAdditionalCardsForThiefRolesRespected(additionalCards)).toBe(false); + }); + + it("should return true when all additional cards roles are for thief.", () => { + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.LITTLE_GIRL }), + ]; + + expect(areAdditionalCardsForThiefRolesRespected(additionalCards)).toBe(true); + }); + }); + + describe("getAdditionalCardsForThiefRolesDefaultMessage", () => { + it("should return additional cards for thief roles default message when called.", () => { + expect(getAdditionalCardsForThiefRolesDefaultMessage()).toBe(`additionalCards.roleName must be one of the following values: ${gameAdditionalCardsThiefRoleNames.toString()}`); + }); + }); +}); \ No newline at end of file diff --git a/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.spec.ts new file mode 100644 index 000000000..626a49162 --- /dev/null +++ b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator.spec.ts @@ -0,0 +1,85 @@ +import type { ValidationArguments } from "class-validator"; +import { getAdditionalCardsForThiefSizeDefaultMessage, isAdditionalCardsForThiefSizeRespected } from "../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-for-thief-size.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { createFakeCreateGameAdditionalCardDto } from "../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory"; +import { createFakeCreateThiefGameOptionsDto } from "../../../../../../../../factories/game/dto/create-game/create-game-options/create-roles-game-options/create-roles-game-options.dto.factory"; +import { createFakeCreateGameDto } from "../../../../../../../../factories/game/dto/create-game/create-game.dto.factory"; +import { createFakeGameOptions } from "../../../../../../../../factories/game/schemas/game-options/game-options.schema.factory"; +import { createFakeRolesGameOptions } from "../../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory"; + +describe("Additional Cards For Thief Size Decorator", () => { + describe("isAdditionalCardsForThiefSizeRespected", () => { + it("should return true when cards are not defined.", () => { + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) }); + const createGameDto = createFakeCreateGameDto({ options }); + const validationArguments: ValidationArguments = { + value: undefined, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsForThiefSizeRespected(undefined, validationArguments)).toBe(true); + }); + + it("should return false when cards are not an array.", () => { + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) }); + const createGameDto = createFakeCreateGameDto({ options }); + const validationArguments: ValidationArguments = { + value: null, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsForThiefSizeRespected(null, validationArguments)).toBe(false); + }); + + it("should return false when cards size doesn't respect the options.", () => { + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) }); + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + ]; + const createGameDto = createFakeCreateGameDto({ options, additionalCards }); + const validationArguments: ValidationArguments = { + value: additionalCards, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsForThiefSizeRespected(additionalCards, validationArguments)).toBe(false); + }); + + it("should return true when cards size doesn't respect the options.", () => { + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeCreateThiefGameOptionsDto({ additionalCardsCount: 2 }) }) }); + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER, recipient: ROLE_NAMES.THIEF }), + ]; + const createGameDto = createFakeCreateGameDto({ options, additionalCards }); + const validationArguments: ValidationArguments = { + value: additionalCards, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsForThiefSizeRespected(additionalCards, validationArguments)).toBe(true); + }); + }); + + describe("getAdditionalCardsForThiefSizeDefaultMessage", () => { + it("should default decorator message when called.", () => { + expect(getAdditionalCardsForThiefSizeDefaultMessage()).toBe("additionalCards length must be equal to options.roles.thief.additionalCardsCount"); + }); + }); +}); \ No newline at end of file diff --git a/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts new file mode 100644 index 000000000..5f991b8d2 --- /dev/null +++ b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator.spec.ts @@ -0,0 +1,159 @@ +import type { ValidationArguments } from "class-validator"; +import { getAdditionalCardsPresenceDefaultMessage, isAdditionalCardsPresenceRespected } from "../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-presence.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { createFakeCreateGameAdditionalCardDto } from "../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory"; +import { createFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +import { createFakeCreateGameDto } from "../../../../../../../../factories/game/dto/create-game/create-game.dto.factory"; + +describe("Additional Cards Presence Decorator", () => { + describe("isAdditionalCardsPresenceRespected", () => { + it("should return false when additional cards are set but there is no thief in game.", () => { + const additionalCards = [ + createFakeCreateGameAdditionalCardDto(), + createFakeCreateGameAdditionalCardDto(), + ]; + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.SEER } }), + ], + additionalCards, + }); + const validationArguments: ValidationArguments = { + value: additionalCards, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsPresenceRespected(additionalCards, validationArguments)).toBe(false); + }); + + it("should return false when additional cards are not set but there is thief in game.", () => { + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.THIEF } }), + ], + }); + const validationArguments: ValidationArguments = { + value: undefined, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsPresenceRespected(undefined, validationArguments)).toBe(false); + }); + + it("should return false when additional cards are not an array.", () => { + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.THIEF } }), + ], + }); + const validationArguments: ValidationArguments = { + value: "coucou", + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsPresenceRespected("coucou", validationArguments)).toBe(false); + }); + + it("should return true when additional cards are set and a thief is in the game.", () => { + const additionalCards = [ + createFakeCreateGameAdditionalCardDto(), + createFakeCreateGameAdditionalCardDto(), + ]; + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.THIEF } }), + ], + }); + const validationArguments: ValidationArguments = { + value: additionalCards, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsPresenceRespected(additionalCards, validationArguments)).toBe(true); + }); + + it("should return true when additional cards are not set and there is no thief is in the game.", () => { + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.SEER } }), + ], + }); + const validationArguments: ValidationArguments = { + value: undefined, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(isAdditionalCardsPresenceRespected(undefined, validationArguments)).toBe(true); + }); + }); + + describe("getAdditionalCardsPresenceDefaultMessage", () => { + it("should return additional cards required presence message when they are not set.", () => { + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.THIEF } }), + ], + }); + const validationArguments: ValidationArguments = { + value: undefined, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(getAdditionalCardsPresenceDefaultMessage(validationArguments)).toBe("additionalCards must be set if there is a player with role `thief`"); + }); + + it("should return additional cards forbidden presence message when they are set.", () => { + const additionalCards = [ + createFakeCreateGameAdditionalCardDto(), + createFakeCreateGameAdditionalCardDto(), + ]; + const createGameDto = createFakeCreateGameDto({ + players: [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.SEER } }), + ], + additionalCards, + }); + const validationArguments: ValidationArguments = { + value: additionalCards, + object: createGameDto, + constraints: [], + targetName: "", + property: "additionalCards", + }; + + expect(getAdditionalCardsPresenceDefaultMessage(validationArguments)).toBe("additionalCards can't be set if there is no player with role `thief`"); + }); + }); +}); \ No newline at end of file diff --git a/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts new file mode 100644 index 000000000..5f3133979 --- /dev/null +++ b/tests/unit/specs/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator.spec.ts @@ -0,0 +1,122 @@ +import type { ValidationArguments } from "class-validator"; +import { areAdditionalCardsRolesMaxInGameRespected, getAdditionalCardsRolesMaxInGameDefaultMessage } from "../../../../../../../../../src/modules/game/dto/base/decorators/additional-cards/additional-cards-roles-max-in-game.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { createFakeCreateGameAdditionalCardDto } from "../../../../../../../../factories/game/dto/create-game/create-game-additional-card/create-game-additional-card.dto.factory"; +import { createFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +import { createFakeCreateGameDto } from "../../../../../../../../factories/game/dto/create-game/create-game.dto.factory"; + +describe("Additional Cards Roles Max in Game Decorator", () => { + describe("areAdditionalCardsRolesMaxInGameRespected", () => { + it("should return true when additional cards are not defined.", () => { + const additionalCards = undefined; + const players = [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.SEER } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Thomas", role: { name: ROLE_NAMES.THIEF } }), + ]; + const game = createFakeCreateGameDto({ additionalCards, players }); + const validationArguments: ValidationArguments = { + object: game, + property: "additionalCards", + targetName: "CreateGameDto", + constraints: [], + value: additionalCards, + }; + + expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(true); + }); + + it("should return false when players cards are not defined.", () => { + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.VILLAGER_VILLAGER }), + ]; + const game = createFakeCreateGameDto({ additionalCards }, { players: undefined }); + const validationArguments: ValidationArguments = { + object: game, + property: "additionalCards", + targetName: "CreateGameDto", + constraints: [], + value: additionalCards, + }; + + expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(false); + }); + + it("should return false when at least one role max in game is not respected due to additional cards only.", () => { + const players = [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.SEER } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.VILLAGER } }), + createFakeCreateGamePlayerDto({ name: "Thomas", role: { name: ROLE_NAMES.THIEF } }), + ]; + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH }), + ]; + const game = createFakeCreateGameDto({ additionalCards, players }); + const validationArguments: ValidationArguments = { + object: game, + property: "additionalCards", + targetName: "CreateGameDto", + constraints: [], + value: additionalCards, + }; + + expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(false); + }); + + it("should return false when at least one role max in game is not respected due to additional cards and player roles together.", () => { + const players = [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.SEER } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.WITCH } }), + createFakeCreateGamePlayerDto({ name: "Thomas", role: { name: ROLE_NAMES.THIEF } }), + ]; + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WITCH }), + ]; + const game = createFakeCreateGameDto({ additionalCards, players }); + const validationArguments: ValidationArguments = { + object: game, + property: "additionalCards", + targetName: "CreateGameDto", + constraints: [], + value: additionalCards, + }; + + expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(false); + }); + + it("should return true when at every role max in game are respected among additional cards and player roles together.", () => { + const players = [ + createFakeCreateGamePlayerDto({ name: "Antoine", role: { name: ROLE_NAMES.SEER } }), + createFakeCreateGamePlayerDto({ name: "JB", role: { name: ROLE_NAMES.WEREWOLF } }), + createFakeCreateGamePlayerDto({ name: "Olivia", role: { name: ROLE_NAMES.WITCH } }), + createFakeCreateGamePlayerDto({ name: "Thomas", role: { name: ROLE_NAMES.THIEF } }), + ]; + const additionalCards = [ + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeCreateGameAdditionalCardDto({ roleName: ROLE_NAMES.HUNTER }), + ]; + const game = createFakeCreateGameDto({ additionalCards, players }); + const validationArguments: ValidationArguments = { + object: game, + property: "additionalCards", + targetName: "CreateGameDto", + constraints: [], + value: additionalCards, + }; + + expect(areAdditionalCardsRolesMaxInGameRespected(additionalCards, validationArguments)).toBe(true); + }); + }); + + describe("getAdditionalCardsRolesMaxInGameDefaultMessage", () => { + it("should return additional cards roles max in game default message when called.", () => { + expect(getAdditionalCardsRolesMaxInGameDefaultMessage()).toBe("additionalCards.roleName can't exceed role maximum occurrences in game. Please check `maxInGame` property of roles"); + }); + }); +}); \ No newline at end of file diff --git a/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts similarity index 90% rename from tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts rename to tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts index d21cb417f..d89a6b282 100644 --- a/tests/unit/specs/modules/game/dto/base/decorators/composition-has-villager.decorator.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-villager.decorator.spec.ts @@ -1,9 +1,9 @@ import { doesCompositionHaveAtLeastOneVillager, getCompositionHasVillagerDefaultMessage, -} from "../../../../../../../../src/modules/game/dto/base/decorators/composition-has-villager.decorator"; -import { ROLE_NAMES } from "../../../../../../../../src/modules/role/enums/role.enum"; -import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +} from "../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; describe("Composition Has Villager Decorator", () => { describe("doesCompositionHaveAtLeastOneVillager", () => { diff --git a/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts similarity index 90% rename from tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts rename to tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts index f656d08b2..c51aa39fd 100644 --- a/tests/unit/specs/modules/game/dto/base/decorators/composition-has-werewolf.decorator.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator.spec.ts @@ -1,9 +1,9 @@ import { doesCompositionHaveAtLeastOneWerewolf, getCompositionHasWerewolfDefaultMessage, -} from "../../../../../../../../src/modules/game/dto/base/decorators/composition-has-werewolf.decorator"; -import { ROLE_NAMES } from "../../../../../../../../src/modules/role/enums/role.enum"; -import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +} from "../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; describe("Composition Has Werewolf Decorator", () => { describe("doesCompositionHaveAtLeastOneWerewolf", () => { diff --git a/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts similarity index 93% rename from tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts rename to tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts index 91a002d43..ebed98910 100644 --- a/tests/unit/specs/modules/game/dto/base/decorators/composition-positions-consistency.decorator.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator.spec.ts @@ -1,9 +1,9 @@ import { doesCompositionHaveConsistentPositions, getCompositionPositionsConsistencyDefaultMessage, -} from "../../../../../../../../src/modules/game/dto/base/decorators/composition-positions-consistency.decorator"; -import { ROLE_NAMES } from "../../../../../../../../src/modules/role/enums/role.enum"; -import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +} from "../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-positions-consistency.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; describe("Composition Positions Consistency Decorator", () => { describe("doesCompositionHaveConsistentPositions", () => { diff --git a/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts similarity index 90% rename from tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts rename to tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts index 4d602a3dd..1f16f6783 100644 --- a/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator.spec.ts @@ -1,9 +1,9 @@ import { getCompositionRolesMaxInGameDefaultMessage, areCompositionRolesMaxInGameRespected, -} from "../../../../../../../../src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator"; -import { ROLE_NAMES } from "../../../../../../../../src/modules/role/enums/role.enum"; -import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +} from "../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; describe("Composition Roles Max In Game Decorator", () => { describe("areCompositionRolesMaxInGameRespected", () => { diff --git a/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts similarity index 90% rename from tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts rename to tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts index e47ac5b49..8220c1fdb 100644 --- a/tests/unit/specs/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator.spec.ts @@ -1,9 +1,9 @@ import { getCompositionRolesMinInGameDefaultMessage, areCompositionRolesMinInGameRespected, -} from "../../../../../../../../src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator"; -import { ROLE_NAMES } from "../../../../../../../../src/modules/role/enums/role.enum"; -import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; +} from "../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator"; +import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; +import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; describe("Composition Roles Min In Game Decorator", () => { describe("areCompositionRolesMinInGameRespected", () => { diff --git a/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.spec.ts similarity index 81% rename from tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts rename to tests/unit/specs/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.spec.ts index 42009789e..574a9d722 100644 --- a/tests/unit/specs/modules/game/dto/base/decorators/composition-unique-names.decorator.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/decorators/composition/composition-unique-names.decorator.spec.ts @@ -1,4 +1,4 @@ -import { getPlayerName } from "../../../../../../../../src/modules/game/dto/base/decorators/composition-unique-names.decorator"; +import { getPlayerName } from "../../../../../../../../../src/modules/game/dto/base/decorators/composition/composition-unique-names.decorator"; describe("Composition Unique Names Decorator", () => { describe("getPlayerName", () => { diff --git a/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-role.transformer.spec.ts b/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-role.transformer.spec.ts index 9e198c3be..ee208f253 100644 --- a/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-role.transformer.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-role.transformer.spec.ts @@ -1,6 +1,6 @@ import type { TransformFnParams } from "class-transformer/types/interfaces"; import { playerRoleTransformer } from "../../../../../../../../../src/modules/game/dto/base/game-player/transformers/player-role.transformer"; -import type { CreateGamePlayerRoleDto } from "../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-role.dto/create-game-player-role.dto"; +import type { CreateGamePlayerRoleDto } from "../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-role/create-game-player-role.dto"; import { ROLE_NAMES } from "../../../../../../../../../src/modules/role/enums/role.enum"; describe("Player Role Transformer", () => { diff --git a/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts b/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts index ddd72ff48..874ede2a0 100644 --- a/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts +++ b/tests/unit/specs/modules/game/dto/base/game-player/transformers/player-side.transformer.spec.ts @@ -1,6 +1,6 @@ import type { TransformFnParams } from "class-transformer/types/interfaces"; import { playerSideTransformer } from "../../../../../../../../../src/modules/game/dto/base/game-player/transformers/player-side.transformer"; -import type { CreateGamePlayerSideDto } from "../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-side.dto/create-game-player-side.dto"; +import type { CreateGamePlayerSideDto } from "../../../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player-side/create-game-player-side.dto"; import { ROLE_NAMES, ROLE_SIDES } from "../../../../../../../../../src/modules/role/enums/role.enum"; import { createFakeCreateGamePlayerDto } from "../../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; diff --git a/tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts b/tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts index 0ed32c090..6a47758ff 100644 --- a/tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts +++ b/tests/unit/specs/modules/game/helpers/game-play/game-play.factory.spec.ts @@ -2,7 +2,7 @@ import { plainToInstance } from "class-transformer"; import { GAME_PLAY_ACTIONS } from "../../../../../../../src/modules/game/enums/game-play.enum"; import { PLAYER_ATTRIBUTE_NAMES, PLAYER_GROUPS } from "../../../../../../../src/modules/game/enums/player.enum"; import { createGamePlay, createGamePlayAllElectSheriff, createGamePlayAllVote, createGamePlayBigBadWolfEats, createGamePlayCharmedMeetEachOther, createGamePlayCupidCharms, createGamePlayDogWolfChoosesSide, createGamePlayFoxSniffs, createGamePlayGuardProtects, createGamePlayHunterShoots, createGamePlayLoversMeetEachOther, createGamePlayPiedPiperCharms, createGamePlayRavenMarks, createGamePlayScapegoatBansVoting, createGamePlaySeerLooks, createGamePlaySheriffDelegates, createGamePlaySheriffSettlesVotes, createGamePlaySource, createGamePlayStutteringJudgeChoosesSign, createGamePlayThiefChoosesCard, createGamePlayThreeBrothersMeetEachOther, createGamePlayTwoSistersMeetEachOther, createGamePlayWerewolvesEat, createGamePlayWhiteWerewolfEats, createGamePlayWildChildChoosesModel, createGamePlayWitchUsesPotions } from "../../../../../../../src/modules/game/helpers/game-play/game-play.factory"; -import { GamePlaySource } from "../../../../../../../src/modules/game/schemas/game-play/game-play-source.schema"; +import { GamePlaySource } from "../../../../../../../src/modules/game/schemas/game-play/game-play-source/game-play-source.schema"; import { GamePlay } from "../../../../../../../src/modules/game/schemas/game-play/game-play.schema"; import { ROLE_NAMES } from "../../../../../../../src/modules/role/enums/role.enum"; import { createFakeGamePlaySource } from "../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory"; diff --git a/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts b/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts index 94ab088ec..75e4fe4fe 100644 --- a/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts +++ b/tests/unit/specs/modules/game/helpers/game-play/game-play.helper.spec.ts @@ -1,8 +1,9 @@ import type { MakeGamePlayTargetWithRelationsDto } from "../../../../../../../src/modules/game/dto/make-game-play/make-game-play-target/make-game-play-target-with-relations.dto"; import type { MakeGamePlayVoteWithRelationsDto } from "../../../../../../../src/modules/game/dto/make-game-play/make-game-play-vote/make-game-play-vote-with-relations.dto"; import type { MakeGamePlayWithRelationsDto } from "../../../../../../../src/modules/game/dto/make-game-play/make-game-play-with-relations.dto"; -import { WITCH_POTIONS } from "../../../../../../../src/modules/game/enums/game-play.enum"; -import { createMakeGamePlayDtoWithRelations, getChosenCardFromMakeGamePlayDto, getTargetsWithRelationsFromMakeGamePlayDto, getVotesWithRelationsFromMakeGamePlayDto } from "../../../../../../../src/modules/game/helpers/game-play/game-play.helper"; +import { GAME_PLAY_ACTIONS, GAME_PLAY_CAUSES, WITCH_POTIONS } from "../../../../../../../src/modules/game/enums/game-play.enum"; +import { areGamePlaysEqual, createMakeGamePlayDtoWithRelations, findPlayPriorityIndex, getChosenCardFromMakeGamePlayDto, getTargetsWithRelationsFromMakeGamePlayDto, getVotesWithRelationsFromMakeGamePlayDto } from "../../../../../../../src/modules/game/helpers/game-play/game-play.helper"; +import type { GamePlay } from "../../../../../../../src/modules/game/schemas/game-play/game-play.schema"; import { ROLE_SIDES } from "../../../../../../../src/modules/role/enums/role.enum"; import { API_RESOURCES } from "../../../../../../../src/shared/api/enums/api.enum"; import { ResourceNotFoundException } from "../../../../../../../src/shared/exception/types/resource-not-found-exception.type"; @@ -11,6 +12,7 @@ import { createFakeMakeGamePlayVoteWithRelationsDto } from "../../../../../../fa import { createFakeMakeGamePlayWithRelationsDto } from "../../../../../../factories/game/dto/make-game-play/make-game-play-with-relations/make-game-play-with-relations.dto.factory"; import { createFakeMakeGamePlayDto } from "../../../../../../factories/game/dto/make-game-play/make-game-play.dto.factory"; import { bulkCreateFakeGameAdditionalCards } from "../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory"; +import { createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayHunterShoots, createFakeGamePlaySeerLooks, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats } from "../../../../../../factories/game/schemas/game-play/game-play.schema.factory"; import { createFakeGame } from "../../../../../../factories/game/schemas/game.schema.factory"; import { bulkCreateFakePlayers } from "../../../../../../factories/game/schemas/player/player.schema.factory"; import { createFakeObjectId } from "../../../../../../factories/shared/mongoose/mongoose.factory"; @@ -174,4 +176,49 @@ describe("Game Play Helper", () => { expect(createMakeGamePlayDtoWithRelations(makeGamePlayDto, game)).toStrictEqual(expectedMakeGamePlayDtoWithRelationsDto); }); }); + + describe("findPlayPriorityIndex", () => { + it("should return -1 when play is not found in priority list.", () => { + const gamePlay = createFakeGamePlaySeerLooks({ action: GAME_PLAY_ACTIONS.EAT }); + + expect(findPlayPriorityIndex(gamePlay)).toBe(-1); + }); + + it("should return index when play is found in priority list.", () => { + const gamePlay = createFakeGamePlayHunterShoots(); + + expect(findPlayPriorityIndex(gamePlay)).toBe(0); + }); + }); + + describe("areGamePlaysEqual", () => { + it.each<{ playA: GamePlay; playB: GamePlay; result: boolean; test: string }>([ + { + playA: createFakeGamePlaySeerLooks(), + playB: createFakeGamePlaySeerLooks(), + result: true, + test: "both plays are equal", + }, + { + playA: createFakeGamePlayWerewolvesEat(), + playB: createFakeGamePlayWhiteWerewolfEats(), + result: false, + test: "both sources are not equal", + }, + { + playA: createFakeGamePlayAllVote(), + playB: createFakeGamePlayAllElectSheriff(), + result: false, + test: "both actions are not equal", + }, + { + playA: createFakeGamePlayAllVote(), + playB: createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + result: false, + test: "both causes are not equal", + }, + ])("should return $result when $test [#$#].", ({ playA, playB, result }) => { + expect(areGamePlaysEqual(playA, playB)).toBe(result); + }); + }); }); \ No newline at end of file diff --git a/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts b/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts index 488b6ac08..1f244f12a 100644 --- a/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts +++ b/tests/unit/specs/modules/game/providers/services/game-history/game-history-record.service.spec.ts @@ -44,6 +44,7 @@ describe("Game History Record Service", () => { getGameHistoryAncientProtectedFromWerewolvesRecords: jest.SpyInstance; getPreviousGameHistoryRecord: jest.SpyInstance; getGameHistory: jest.SpyInstance; + getGameHistoryPhaseRecords: jest.SpyInstance; }; gameRepository: { findOne: jest.SpyInstance }; gamePlayVoteService: { getNominatedPlayers: jest.SpyInstance }; @@ -67,6 +68,7 @@ describe("Game History Record Service", () => { getGameHistoryAncientProtectedFromWerewolvesRecords: jest.fn(), getPreviousGameHistoryRecord: jest.fn(), getGameHistory: jest.fn(), + getGameHistoryPhaseRecords: jest.fn(), }, gameRepository: { findOne: jest.fn() }, gamePlayVoteService: { getNominatedPlayers: jest.fn() }, @@ -178,6 +180,15 @@ describe("Game History Record Service", () => { }); }); + describe("getGameHistoryPhaseRecords", () => { + it("should call getGameHistoryPhaseRecords method when called.", async() => { + const game = createFakeGame(); + await services.gameHistoryRecord.getGameHistoryPhaseRecords(game._id, game.turn, game.phase); + + expect(mocks.gameHistoryRecordRepository.getGameHistoryPhaseRecords).toHaveBeenCalledExactlyOnceWith(game._id, game.turn, game.phase); + }); + }); + describe("getPreviousGameHistoryRecord", () => { it("should previous game history record when called.", async() => { const gameId = createFakeObjectId(); diff --git a/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts b/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts index 256228bbd..ca745ba9e 100644 --- a/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts +++ b/tests/unit/specs/modules/game/providers/services/game-play/game-play-validator.service.spec.ts @@ -18,7 +18,7 @@ import { createFakeMakeGamePlayWithRelationsDto } from "../../../../../../../fac import { createFakeGameAdditionalCard } from "../../../../../../../factories/game/schemas/game-additional-card/game-additional-card.schema.factory"; import { createFakeGameHistoryRecord, createFakeGameHistoryRecordAllVotePlay, createFakeGameHistoryRecordGuardProtectPlay, createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlayVoting, createFakeGameHistoryRecordWerewolvesEatPlay, createFakeGameHistoryRecordWitchUsePotionsPlay } from "../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory"; import { createFakeGameOptions } from "../../../../../../../factories/game/schemas/game-options/game-options.schema.factory"; -import { createFakePiedPiperGameOptions, createFakeRolesGameOptions } from "../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory"; +import { createFakePiedPiperGameOptions, createFakeRolesGameOptions, createFakeThiefGameOptions } from "../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory"; import { createFakeVotesGameOptions } from "../../../../../../../factories/game/schemas/game-options/votes-game-options.schema.factory"; import { createFakeGamePlaySource } from "../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory"; import { createFakeGamePlay, createFakeGamePlayAllElectSheriff, createFakeGamePlayAllVote, createFakeGamePlayBigBadWolfEats, createFakeGamePlayCupidCharms, createFakeGamePlayDogWolfChoosesSide, createFakeGamePlayFoxSniffs, createFakeGamePlayGuardProtects, createFakeGamePlayHunterShoots, createFakeGamePlayPiedPiperCharms, createFakeGamePlayRavenMarks, createFakeGamePlayScapegoatBansVoting, createFakeGamePlaySeerLooks, createFakeGamePlaySheriffDelegates, createFakeGamePlaySheriffSettlesVotes, createFakeGamePlayThiefChoosesCard, createFakeGamePlayWerewolvesEat, createFakeGamePlayWhiteWerewolfEats, createFakeGamePlayWildChildChoosesModel, createFakeGamePlayWitchUsesPotions } from "../../../../../../../factories/game/schemas/game-play/game-play.schema.factory"; @@ -140,13 +140,74 @@ describe("Game Play Validator Service", () => { }); }); + describe("validateGamePlayThiefChosenCard", () => { + it("should do nothing when game additional cards are not set.", () => { + const chosenCard = createFakeGameAdditionalCard(); + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) }); + const game = createFakeGameWithCurrentPlay({ options }); + + expect(() => services.gamePlayValidator["validateGamePlayThiefChosenCard"](chosenCard, game)).not.toThrow(); + }); + + it("should do nothing when game additional cards are set but thief can skip even if all cards are werewolves.", () => { + const chosenCard = createFakeGameAdditionalCard(); + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: false }) }) }); + const additionalCards = [ + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WHITE_WEREWOLF }), + ]; + const game = createFakeGameWithCurrentPlay({ additionalCards, options }); + + expect(() => services.gamePlayValidator["validateGamePlayThiefChosenCard"](chosenCard, game)).not.toThrow(); + }); + + it("should do nothing when thief can't skip if all cards are werewolves but they are not so he can skip.", () => { + const chosenCard = undefined; + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) }); + const additionalCards = [ + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.SEER }), + ]; + const game = createFakeGameWithCurrentPlay({ additionalCards, options }); + + expect(() => services.gamePlayValidator["validateGamePlayThiefChosenCard"](chosenCard, game)).not.toThrow(); + }); + + it("should do nothing when thief can't skip if all cards are werewolves but he chose one anyway.", () => { + const chosenCard = createFakeGameAdditionalCard(); + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) }); + const additionalCards = [ + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WHITE_WEREWOLF }), + ]; + const game = createFakeGameWithCurrentPlay({ additionalCards, options }); + + expect(() => services.gamePlayValidator["validateGamePlayThiefChosenCard"](chosenCard, game)).not.toThrow(); + }); + + it("should throw error when all additional cards are werewolves and thief didn't choose a card.", () => { + const chosenCard = undefined; + const options = createFakeGameOptions({ roles: createFakeRolesGameOptions({ thief: createFakeThiefGameOptions({ mustChooseBetweenWerewolves: true }) }) }); + const additionalCards = [ + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WEREWOLF }), + createFakeGameAdditionalCard({ roleName: ROLE_NAMES.WHITE_WEREWOLF }), + ]; + const game = createFakeGameWithCurrentPlay({ additionalCards, options }); + + expect(() => services.gamePlayValidator["validateGamePlayThiefChosenCard"](chosenCard, game)).toThrow(BadGamePlayPayloadException); + expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith("Thief must choose a card (`chosenCard`)"); + }); + }); + describe("validateGamePlayWithRelationsDtoChosenCard", () => { - it("should throw error when chosen card is not defined but expected.", () => { - const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() }); - const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto(); - - expect(() => services.gamePlayValidator["validateGamePlayWithRelationsDtoChosenCard"](makeGamePlayWithRelationsDto, game)).toThrow(BadGamePlayPayloadException); - expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith("`chosenCard` is required on this current game's state"); + let localMocks: { + gamePlayValidatorService: { + validateGamePlayThiefChosenCard: jest.SpyInstance; + }; + }; + + beforeEach(() => { + localMocks = { gamePlayValidatorService: { validateGamePlayThiefChosenCard: jest.spyOn(services.gamePlayValidator as unknown as { validateGamePlayThiefChosenCard }, "validateGamePlayThiefChosenCard").mockImplementation() } }; }); it("should do nothing when chosen card is not defined and not expected.", () => { @@ -164,11 +225,13 @@ describe("Game Play Validator Service", () => { expect(BadGamePlayPayloadException).toHaveBeenCalledExactlyOnceWith("`chosenCard` can't be set on this current game's state"); }); - it("should do nothing when chosen card is defined but expected.", () => { + it("should call validateGamePlayThiefChosenCard method when action is choose card.", () => { + const chosenCard = createFakeGameAdditionalCard(); const game = createFakeGameWithCurrentPlay({ currentPlay: createFakeGamePlayThiefChoosesCard() }); - const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenCard: createFakeGameAdditionalCard() }); - - expect(() => services.gamePlayValidator["validateGamePlayWithRelationsDtoChosenCard"](makeGamePlayWithRelationsDto, game)).not.toThrow(); + const makeGamePlayWithRelationsDto = createFakeMakeGamePlayWithRelationsDto({ chosenCard }); + services.gamePlayValidator["validateGamePlayWithRelationsDtoChosenCard"](makeGamePlayWithRelationsDto, game); + + expect(localMocks.gamePlayValidatorService.validateGamePlayThiefChosenCard).toHaveBeenCalledExactlyOnceWith(chosenCard, game); }); }); diff --git a/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts b/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts index b9d5e6201..4465ed754 100644 --- a/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts +++ b/tests/unit/specs/modules/game/providers/services/game-play/game-play.service.spec.ts @@ -12,10 +12,11 @@ import { GamePlayService } from "../../../../../../../../src/modules/game/provid import type { GamePlay } from "../../../../../../../../src/modules/game/schemas/game-play/game-play.schema"; import type { Game } from "../../../../../../../../src/modules/game/schemas/game.schema"; import { ROLE_NAMES } from "../../../../../../../../src/modules/role/enums/role.enum"; +import * as UnexpectedExceptionFactory from "../../../../../../../../src/shared/exception/helpers/unexpected-exception.factory"; import { createFakeGameOptionsDto } from "../../../../../../../factories/game/dto/create-game/create-game-options/create-game-options.dto.factory"; import { bulkCreateFakeCreateGamePlayerDto } from "../../../../../../../factories/game/dto/create-game/create-game-player/create-game-player.dto.factory"; import { createFakeCreateGameDto } from "../../../../../../../factories/game/dto/create-game/create-game.dto.factory"; -import { createFakeGameHistoryRecord } from "../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory"; +import { createFakeGameHistoryRecord, createFakeGameHistoryRecordPlay, createFakeGameHistoryRecordPlaySource } from "../../../../../../../factories/game/schemas/game-history-record/game-history-record.schema.factory"; import { createFakeGameOptions } from "../../../../../../../factories/game/schemas/game-options/game-options.schema.factory"; import { createFakeRolesGameOptions, createFakeSheriffGameOptions } from "../../../../../../../factories/game/schemas/game-options/game-roles-options.schema.factory"; import { createFakeGamePlaySource } from "../../../../../../../factories/game/schemas/game-play/game-play-source.schema.factory"; @@ -30,24 +31,31 @@ describe("Game Play Service", () => { let mocks: { gameHistoryRecordService: { getGameHistoryWitchUsesSpecificPotionRecords: jest.SpyInstance; + getGameHistoryPhaseRecords: jest.SpyInstance; }; gameHelper: { getLeftToEatByWerewolvesPlayers: jest.SpyInstance; getLeftToEatByWhiteWerewolfPlayers: jest.SpyInstance; getExpectedPlayersToPlay: jest.SpyInstance; }; + unexpectedExceptionFactory: { + createNoGamePlayPriorityUnexpectedException: jest.SpyInstance; + }; }; beforeEach(async() => { mocks = { - gameHistoryRecordService: { getGameHistoryWitchUsesSpecificPotionRecords: jest.fn().mockResolvedValue([]) }, + gameHistoryRecordService: { + getGameHistoryWitchUsesSpecificPotionRecords: jest.fn().mockResolvedValue([]), + getGameHistoryPhaseRecords: jest.fn().mockResolvedValue([]), + }, gameHelper: { getLeftToEatByWerewolvesPlayers: jest.spyOn(GameHelper, "getLeftToEatByWerewolvesPlayers").mockReturnValue([]), getLeftToEatByWhiteWerewolfPlayers: jest.spyOn(GameHelper, "getLeftToEatByWhiteWerewolfPlayers").mockReturnValue([]), getExpectedPlayersToPlay: jest.spyOn(GameHelper, "getExpectedPlayersToPlay").mockReturnValue([]), }, + unexpectedExceptionFactory: { createNoGamePlayPriorityUnexpectedException: jest.spyOn(UnexpectedExceptionFactory, "createNoGamePlayPriorityUnexpectedException").mockImplementation() }, }; - const module: TestingModule = await Test.createTestingModule({ providers: [ { @@ -61,48 +69,53 @@ describe("Game Play Service", () => { services = { gamePlay: module.get(GamePlayService) }; }); - describe("removeObsoleteUpcomingPlays", () => { - it("should return game as is when no game play needs to be removed.", async() => { - const players = [ - createFakeSeerAlivePlayer(), - createFakeWerewolfAlivePlayer(), - createFakeHunterAlivePlayer({ isAlive: false }), - createFakeWitchAlivePlayer(), - ]; - const upcomingPlays = [ - createFakeGamePlaySeerLooks(), - createFakeGamePlayHunterShoots(), - createFakeGamePlayWitchUsesPotions(), - createFakeGamePlayWerewolvesEat(), - ]; - const game = createFakeGame({ players, upcomingPlays }); + describe("refreshUpcomingPlays", () => { + let localMocks: { + gamePlayService: { + removeObsoleteUpcomingPlays: jest.SpyInstance; + getNewUpcomingPlaysForCurrentPhase: jest.SpyInstance; + sortUpcomingPlaysByPriority: jest.SpyInstance; + }; + }; - await expect(services.gamePlay.removeObsoleteUpcomingPlays(game)).resolves.toStrictEqual(game); + beforeEach(() => { + localMocks = { + gamePlayService: { + removeObsoleteUpcomingPlays: jest.spyOn(services.gamePlay as unknown as { removeObsoleteUpcomingPlays }, "removeObsoleteUpcomingPlays").mockImplementation(), + getNewUpcomingPlaysForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { getNewUpcomingPlaysForCurrentPhase }, "getNewUpcomingPlaysForCurrentPhase").mockImplementation(), + sortUpcomingPlaysByPriority: jest.spyOn(services.gamePlay as unknown as { sortUpcomingPlaysByPriority }, "sortUpcomingPlaysByPriority").mockImplementation(), + }, + }; }); - it("should remove some game plays when players became powerless or died.", async() => { - const players = [ - createFakeSeerAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }), - createFakeWerewolfAlivePlayer(), - createFakeHunterAlivePlayer({ isAlive: false }), - createFakeWitchAlivePlayer({ isAlive: false }), - ]; - const upcomingPlays = [ - createFakeGamePlaySeerLooks(), - createFakeGamePlayHunterShoots(), - createFakeGamePlayWitchUsesPotions(), - createFakeGamePlayWerewolvesEat(), - ]; - const game = createFakeGame({ players, upcomingPlays }); - const expectedGame = createFakeGame({ - ...game, - upcomingPlays: [ - createFakeGamePlayHunterShoots(), - createFakeGamePlayWerewolvesEat(), - ], - }); + it("should call removeObsoleteUpcomingPlays when called.", async() => { + const game = createFakeGame(); + localMocks.gamePlayService.removeObsoleteUpcomingPlays.mockResolvedValue(game); + localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase.mockReturnValue(game.upcomingPlays); + localMocks.gamePlayService.sortUpcomingPlaysByPriority.mockReturnValue(game.upcomingPlays); + await services.gamePlay.refreshUpcomingPlays(game); + + expect(localMocks.gamePlayService.removeObsoleteUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game); + }); + + it("should call getNewUpcomingPlaysForCurrentPhase when called.", async() => { + const game = createFakeGame(); + localMocks.gamePlayService.removeObsoleteUpcomingPlays.mockResolvedValue(game); + localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase.mockReturnValue(game.upcomingPlays); + localMocks.gamePlayService.sortUpcomingPlaysByPriority.mockReturnValue(game.upcomingPlays); + await services.gamePlay.refreshUpcomingPlays(game); + + expect(localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase).toHaveBeenCalledExactlyOnceWith(game); + }); + + it("should call sortUpcomingPlaysByPriority when called.", async() => { + const game = createFakeGame(); + localMocks.gamePlayService.removeObsoleteUpcomingPlays.mockResolvedValue(game); + localMocks.gamePlayService.getNewUpcomingPlaysForCurrentPhase.mockReturnValue(game.upcomingPlays); + localMocks.gamePlayService.sortUpcomingPlaysByPriority.mockReturnValue(game.upcomingPlays); + await services.gamePlay.refreshUpcomingPlays(game); - await expect(services.gamePlay.removeObsoleteUpcomingPlays(game)).resolves.toStrictEqual(expectedGame); + expect(localMocks.gamePlayService.sortUpcomingPlaysByPriority).toHaveBeenCalledExactlyOnceWith(game.upcomingPlays); }); }); @@ -238,6 +251,220 @@ describe("Game Play Service", () => { }); }); + describe("removeObsoleteUpcomingPlays", () => { + it("should return game as is when no game play needs to be removed.", async() => { + const players = [ + createFakeSeerAlivePlayer(), + createFakeWerewolfAlivePlayer(), + createFakeHunterAlivePlayer({ isAlive: false }), + createFakeWitchAlivePlayer(), + ]; + const upcomingPlays = [ + createFakeGamePlaySeerLooks(), + createFakeGamePlayHunterShoots(), + createFakeGamePlayWitchUsesPotions(), + createFakeGamePlayWerewolvesEat(), + ]; + const game = createFakeGame({ players, upcomingPlays }); + + await expect(services.gamePlay["removeObsoleteUpcomingPlays"](game)).resolves.toStrictEqual(game); + }); + + it("should remove some game plays when players became powerless or died.", async() => { + const players = [ + createFakeSeerAlivePlayer({ attributes: [createFakePowerlessByAncientPlayerAttribute()] }), + createFakeWerewolfAlivePlayer(), + createFakeHunterAlivePlayer({ isAlive: false }), + createFakeWitchAlivePlayer({ isAlive: false }), + ]; + const upcomingPlays = [ + createFakeGamePlaySeerLooks(), + createFakeGamePlayHunterShoots(), + createFakeGamePlayWitchUsesPotions(), + createFakeGamePlayWerewolvesEat(), + ]; + const game = createFakeGame({ players, upcomingPlays }); + const expectedGame = createFakeGame({ + ...game, + upcomingPlays: [ + createFakeGamePlayHunterShoots(), + createFakeGamePlayWerewolvesEat(), + ], + }); + + await expect(services.gamePlay["removeObsoleteUpcomingPlays"](game)).resolves.toStrictEqual(expectedGame); + }); + }); + + describe("isUpcomingPlayNewForCurrentPhase", () => { + it("should return false when gamePlay is in game's upcoming plays.", () => { + const upcomingPlays = [ + createFakeGamePlaySeerLooks(), + createFakeGamePlayAllElectSheriff(), + createFakeGamePlayWerewolvesEat(), + ]; + const game = createFakeGame({ upcomingPlays }); + const upcomingPlay = createFakeGamePlayAllElectSheriff(); + + expect(services.gamePlay["isUpcomingPlayNewForCurrentPhase"](upcomingPlay, game, [])).toBe(false); + }); + + it("should return false when upcomingPlay is game's current play.", () => { + const game = createFakeGame({ currentPlay: createFakeGamePlayAllElectSheriff() }); + const upcomingPlay = createFakeGamePlayAllElectSheriff(); + + expect(services.gamePlay["isUpcomingPlayNewForCurrentPhase"](upcomingPlay, game, [])).toBe(false); + }); + + it("should return false when upcomingPlay is already played in game history.", () => { + const game = createFakeGame(); + const upcomingPlay = createFakeGamePlayAllElectSheriff(); + const allVoteGamePlay = createFakeGamePlayAllVote(); + const gameHistoryRecords = [ + createFakeGameHistoryRecord({ + play: createFakeGameHistoryRecordPlay({ + action: allVoteGamePlay.action, + source: createFakeGameHistoryRecordPlaySource({ name: allVoteGamePlay.source.name }), + cause: allVoteGamePlay.cause, + }), + }), + createFakeGameHistoryRecord({ + play: createFakeGameHistoryRecordPlay({ + action: upcomingPlay.action, + source: createFakeGameHistoryRecordPlaySource({ name: upcomingPlay.source.name }), + cause: upcomingPlay.cause, + }), + }), + ]; + + expect(services.gamePlay["isUpcomingPlayNewForCurrentPhase"](upcomingPlay, game, gameHistoryRecords)).toBe(false); + }); + + it("should return true when upcoming play is nor the current game play, nor already played nor in game's upcoming plays.", () => { + const game = createFakeGame(); + const upcomingPlay = createFakeGamePlayAllElectSheriff(); + const allVoteGamePlay = createFakeGamePlayAllVote(); + const gameHistoryRecords = [ + createFakeGameHistoryRecord({ + play: createFakeGameHistoryRecordPlay({ + action: allVoteGamePlay.action, + source: createFakeGameHistoryRecordPlaySource({ name: allVoteGamePlay.source.name }), + cause: allVoteGamePlay.cause, + }), + }), + ]; + + expect(services.gamePlay["isUpcomingPlayNewForCurrentPhase"](upcomingPlay, game, gameHistoryRecords)).toBe(true); + }); + }); + + describe("getNewUpcomingPlaysForCurrentPhase", () => { + let localMocks: { + gamePlayService: { + getUpcomingDayPlays: jest.SpyInstance; + getUpcomingNightPlays: jest.SpyInstance; + isUpcomingPlayNewForCurrentPhase: jest.SpyInstance; + }; + }; + + beforeEach(() => { + localMocks = { + gamePlayService: { + getUpcomingDayPlays: jest.spyOn(services.gamePlay as unknown as { getUpcomingDayPlays }, "getUpcomingDayPlays").mockReturnValue([]), + getUpcomingNightPlays: jest.spyOn(services.gamePlay as unknown as { getUpcomingNightPlays }, "getUpcomingNightPlays").mockResolvedValue([]), + isUpcomingPlayNewForCurrentPhase: jest.spyOn(services.gamePlay as unknown as { isUpcomingPlayNewForCurrentPhase }, "isUpcomingPlayNewForCurrentPhase"), + }, + }; + }); + + it("should call getUpcomingNightPlays method with night phase when game phase is night.", async() => { + const game = createFakeGame({ phase: GAME_PHASES.NIGHT }); + await services.gamePlay["getNewUpcomingPlaysForCurrentPhase"](game); + + expect(localMocks.gamePlayService.getUpcomingNightPlays).toHaveBeenCalledExactlyOnceWith(game); + expect(mocks.gameHistoryRecordService.getGameHistoryPhaseRecords).toHaveBeenCalledExactlyOnceWith(game._id, game.turn, GAME_PHASES.NIGHT); + }); + + it("should call getUpcomingNightPlays method with day phase when game phase is day.", async() => { + const game = createFakeGame({ phase: GAME_PHASES.DAY }); + await services.gamePlay["getNewUpcomingPlaysForCurrentPhase"](game); + + expect(localMocks.gamePlayService.getUpcomingDayPlays).toHaveBeenCalledExactlyOnceWith(); + expect(mocks.gameHistoryRecordService.getGameHistoryPhaseRecords).toHaveBeenCalledExactlyOnceWith(game._id, game.turn, GAME_PHASES.DAY); + }); + + it("should call isUpcomingPlayNewForCurrentPhase method for as much times as there are upcoming phase plays when filtering them.", async() => { + const game = createFakeGame({ phase: GAME_PHASES.NIGHT }); + const upcomingPlays = [ + createFakeGamePlayAllElectSheriff(), + createFakeGamePlaySeerLooks(), + createFakeGamePlayWerewolvesEat(), + ]; + localMocks.gamePlayService.getUpcomingNightPlays.mockResolvedValue(upcomingPlays); + await services.gamePlay["getNewUpcomingPlaysForCurrentPhase"](game); + + expect(localMocks.gamePlayService.isUpcomingPlayNewForCurrentPhase).toHaveBeenNthCalledWith(1, upcomingPlays[0], game, []); + expect(localMocks.gamePlayService.isUpcomingPlayNewForCurrentPhase).toHaveBeenNthCalledWith(2, upcomingPlays[1], game, []); + expect(localMocks.gamePlayService.isUpcomingPlayNewForCurrentPhase).toHaveBeenNthCalledWith(3, upcomingPlays[2], game, []); + }); + }); + + describe("validateUpcomingPlaysPriority", () => { + it("should do nothing when all game plays have a priority.", () => { + const upcomingPlays = [ + createFakeGamePlayAllElectSheriff(), + createFakeGamePlayHunterShoots(), + createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + ]; + + expect(() => services.gamePlay["validateUpcomingPlaysPriority"](upcomingPlays)).not.toThrow(); + }); + + it("should throw an error when the first upcoming play doesn't have a priority.", () => { + const upcomingPlays = [ + createFakeGamePlayWitchUsesPotions({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + createFakeGamePlayHunterShoots(), + createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + ]; + + expect(() => services.gamePlay["validateUpcomingPlaysPriority"](upcomingPlays)).toThrow(undefined); + expect(mocks.unexpectedExceptionFactory.createNoGamePlayPriorityUnexpectedException).toHaveBeenCalledExactlyOnceWith("validateUpcomingPlaysPriority", upcomingPlays[0]); + }); + }); + + describe("sortUpcomingPlaysByPriority", () => { + it("should return empty array when upcoming plays are empty.", () => { + expect(services.gamePlay["sortUpcomingPlaysByPriority"]([])).toStrictEqual([]); + }); + + it("should return upcoming plays sorted by priority when called with defined actions in priority list.", () => { + const upcomingPlaysToSort = [ + createFakeGamePlayAllVote(), + createFakeGamePlayAllElectSheriff(), + createFakeGamePlayBigBadWolfEats(), + createFakeGamePlayWerewolvesEat(), + createFakeGamePlaySeerLooks(), + createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }), + createFakeGamePlayWitchUsesPotions(), + createFakeGamePlayHunterShoots(), + createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + ]; + const expectedUpcomingPlays = [ + createFakeGamePlayHunterShoots(), + createFakeGamePlayAllElectSheriff(), + createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.PREVIOUS_VOTES_WERE_IN_TIES }), + createFakeGamePlayAllVote({ cause: GAME_PLAY_CAUSES.STUTTERING_JUDGE_REQUEST }), + createFakeGamePlayAllVote(), + createFakeGamePlaySeerLooks(), + createFakeGamePlayWerewolvesEat(), + createFakeGamePlayBigBadWolfEats(), + createFakeGamePlayWitchUsesPotions(), + ]; + + expect(services.gamePlay["sortUpcomingPlaysByPriority"](upcomingPlaysToSort)).toStrictEqual(expectedUpcomingPlays); + }); + }); + describe("isSheriffElectionTime", () => { it("should return false when sheriff is not enabled even if it's the time.", () => { const sheriffGameOptions = createFakeSheriffGameOptions({ electedAt: { turn: 1, phase: GAME_PHASES.NIGHT }, isEnabled: false, hasDoubledVote: false }); diff --git a/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts b/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts index 66bcb707e..d35fc3648 100644 --- a/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts +++ b/tests/unit/specs/modules/game/providers/services/game-random-composition.service.spec.ts @@ -1,9 +1,9 @@ import type { TestingModule } from "@nestjs/testing"; import { Test } from "@nestjs/testing"; -import { doesCompositionHaveAtLeastOneVillager } from "../../../../../../../src/modules/game/dto/base/decorators/composition-has-villager.decorator"; -import { doesCompositionHaveAtLeastOneWerewolf } from "../../../../../../../src/modules/game/dto/base/decorators/composition-has-werewolf.decorator"; -import { areCompositionRolesMaxInGameRespected } from "../../../../../../../src/modules/game/dto/base/decorators/composition-roles-max-in-game.decorator"; -import { areCompositionRolesMinInGameRespected } from "../../../../../../../src/modules/game/dto/base/decorators/composition-roles-min-in-game.decorator"; +import { doesCompositionHaveAtLeastOneVillager } from "../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-villager.decorator"; +import { doesCompositionHaveAtLeastOneWerewolf } from "../../../../../../../src/modules/game/dto/base/decorators/composition/composition-has-werewolf.decorator"; +import { areCompositionRolesMaxInGameRespected } from "../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-max-in-game.decorator"; +import { areCompositionRolesMinInGameRespected } from "../../../../../../../src/modules/game/dto/base/decorators/composition/composition-roles-min-in-game.decorator"; import type { CreateGamePlayerDto } from "../../../../../../../src/modules/game/dto/create-game/create-game-player/create-game-player.dto"; import type { GetGameRandomCompositionDto } from "../../../../../../../src/modules/game/dto/get-game-random-composition/get-game-random-composition.dto"; import { GameRandomCompositionService } from "../../../../../../../src/modules/game/providers/services/game-random-composition.service"; diff --git a/tests/unit/specs/modules/game/providers/services/game.service.spec.ts b/tests/unit/specs/modules/game/providers/services/game.service.spec.ts index 529112d4a..004e03100 100644 --- a/tests/unit/specs/modules/game/providers/services/game.service.spec.ts +++ b/tests/unit/specs/modules/game/providers/services/game.service.spec.ts @@ -49,7 +49,7 @@ describe("Game Service", () => { gamePlayService: { getUpcomingNightPlays: jest.SpyInstance; proceedToNextGamePlay: jest.SpyInstance; - removeObsoleteUpcomingPlays: jest.SpyInstance; + refreshUpcomingPlays: jest.SpyInstance; }; gamePlayValidatorService: { validateGamePlayWithRelationsDto: jest.SpyInstance }; gamePlayMakerService: { makeGamePlay: jest.SpyInstance }; @@ -84,7 +84,7 @@ describe("Game Service", () => { gamePlayService: { getUpcomingNightPlays: jest.fn(), proceedToNextGamePlay: jest.fn(), - removeObsoleteUpcomingPlays: jest.fn(), + refreshUpcomingPlays: jest.fn(), }, gamePlayValidatorService: { validateGamePlayWithRelationsDto: jest.fn() }, gamePlayMakerService: { makeGamePlay: jest.fn() }, @@ -238,7 +238,7 @@ describe("Game Service", () => { beforeEach(() => { mocks.gamePlayHelper.createMakeGamePlayDtoWithRelations.mockReturnValue(play); mocks.gamePlayMakerService.makeGamePlay.mockResolvedValue(game); - mocks.gamePlayService.removeObsoleteUpcomingPlays.mockReturnValue(game); + mocks.gamePlayService.refreshUpcomingPlays.mockReturnValue(game); mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game); mocks.gameVictoryHelper.isGameOver.mockReturnValue(false); localMocks = { @@ -279,7 +279,7 @@ describe("Game Service", () => { const makeGamePlayDto = createFakeMakeGamePlayDto(); await services.game.makeGamePlay(clonedGame, makeGamePlayDto); - expect(mocks.gamePlayService.removeObsoleteUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game); + expect(mocks.gamePlayService.refreshUpcomingPlays).toHaveBeenCalledExactlyOnceWith(game); }); it("should call proceed to next game play method when called.", async() => { @@ -331,7 +331,7 @@ describe("Game Service", () => { mocks.gameVictoryHelper.isGameOver.mockReturnValue(true); mocks.gamePlayMakerService.makeGamePlay.mockReturnValue(game); mocks.gamePlayService.proceedToNextGamePlay.mockReturnValue(game); - mocks.gamePlayService.removeObsoleteUpcomingPlays.mockReturnValue(game.upcomingPlays); + mocks.gamePlayService.refreshUpcomingPlays.mockReturnValue(game.upcomingPlays); await services.game.makeGamePlay(game, makeGamePlayDto); expect(localMocks.gameService.setGameAsOver).toHaveBeenCalledExactlyOnceWith(game); diff --git a/tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts b/tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts index 98696b360..b84885352 100644 --- a/tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts +++ b/tests/unit/specs/shared/exception/helpers/unexpected-exception.factory.spec.ts @@ -1,4 +1,5 @@ -import { createCantFindPlayerUnexpectedException, createCantGenerateGamePlaysUnexpectedException, createNoCurrentGamePlayUnexpectedException, createPlayerIsDeadUnexpectedException } from "../../../../../../src/shared/exception/helpers/unexpected-exception.factory"; +import { createCantFindPlayerUnexpectedException, createCantGenerateGamePlaysUnexpectedException, createNoCurrentGamePlayUnexpectedException, createNoGamePlayPriorityUnexpectedException, createPlayerIsDeadUnexpectedException } from "../../../../../../src/shared/exception/helpers/unexpected-exception.factory"; +import { createFakeGamePlay } from "../../../../../factories/game/schemas/game-play/game-play.schema.factory"; import { createFakeObjectId } from "../../../../../factories/shared/mongoose/mongoose.factory"; import type { ExceptionResponse } from "../../../../../types/exception/exception.types"; @@ -53,4 +54,17 @@ describe("Unexpected Exception Factory", () => { }); }); }); + + describe("createNoGamePlayPriorityUnexpectedException", () => { + it("should create no game play priority unexpected exception when called.", () => { + const gamePlay = createFakeGamePlay(); + const exception = createNoGamePlayPriorityUnexpectedException("makePlay", gamePlay); + + expect(exception.getResponse()).toStrictEqual({ + statusCode: 500, + message: "Unexpected exception in makePlay", + error: `Game play "${JSON.stringify(gamePlay)}" doesn't have a set priority`, + }); + }); + }); }); \ No newline at end of file