Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(pied-piper): acceptance tests #555

Merged
merged 6 commits into from
Jun 20, 2024

Conversation

antoinezanardi
Copy link
Owner

@antoinezanardi antoinezanardi commented Jun 20, 2024

Summary by CodeRabbit

  • New Features

    • Introduced "Pied Piper Role" project run configuration.
    • Added localization strings for Pied Piper role in English and French.
    • New step definitions for setting game options and verifying player attributes in Cucumber tests.
    • Added GamePiedPiperHasCharmedEvent to game event components and constants.
  • Bug Fixes

    • Corrected role description from "Savior" to "Defender" in localization.
  • Style

    • Updated class attribute in CurrentPlayQuestion.vue for better text alignment.
    • Adjusted layout in GamePlaygroundHeaderCurrentPlay.vue.
  • Documentation

    • Enhanced README with new sections and images for "Charmed people meet each other Playground" and "Pied Piper charms Playground".
  • Tests

    • Added test cases for GamePiedPiperHasCharmedEvent component and updated expectations in audio store tests.
  • Chores

    • Added "pan-flute" sound effect.
    • Updated game event types and conditions in game event store.

@antoinezanardi antoinezanardi added the ✅ test Adding missing tests or correcting existing tests label Jun 20, 2024
@antoinezanardi antoinezanardi self-assigned this Jun 20, 2024
Copy link

coderabbitai bot commented Jun 20, 2024

Warning

Rate limit exceeded

@antoinezanardi has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 8 minutes and 59 seconds before requesting another review.

How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Commits

Files that changed from the base of the PR and between f8333b6 and eead5d9.

Walkthrough

The latest updates center around integrating the Pied Piper role into the game, enhancing user interactions and gameplay mechanics. Key changes include new configurations for the Pied Piper role, updates to localization files, additions of new Cucumber test scenarios, and modifications to various Vue components for event handling and user feedback. These alterations aim to improve the gaming experience by introducing fresh elements and refining existing functionalities.

Changes

Files Change Summary
.run/Pied Piper Role.run.xml Introduced a project run configuration for "Pied Piper Role" using Cucumber.js.
modules/i18n/locales/en.json Updated role descriptions, changing "Savior" to "Defender" in the Pied Piper attention note.
modules/i18n/locales/fr.json Introduced new localization strings for Pied Piper event.
tests/acceptance/features/game/features/role/pied-piper.feature Added a feature for Pied Piper role, detailing events and interactions.
tests/acceptance/features/game/step-definitions/game-options/game-options.given-steps.ts Added step definitions for setting Pied Piper game options.
tests/acceptance/features/game/step-definitions/player/player-attribute/player-attribute.then-steps.ts Added a step definition to verify players have the "charmed by pied piper" attribute.
tests/acceptance/features/game/step-definitions/game-play/game-play.then-steps.ts Added a step definition to check if the current game play is action free.
app/components/pages/game/GamePlaying/.../(multiple files) Added and modified components to handle the "GamePiedPiperHasCharmedEvent" and adjusted layout and styling for better UI.
app/stores/audio/constants/audio.constants.ts Added a new sound effect named "pan-flute".
app/stores/game/game-event/constants/game-event.constants.ts Added a new game event type "pied-piper-has-charmed".
app/stores/game/game-event/useGameEventsStore.ts Added a condition for the "charm" action with "pied-piper" source to handle corresponding game events.
tests/unit/specs/.../(multiple files) Updated unit tests and added new tests for verifying Pied Piper event handling, sound playback, and checking component renderings.
README.md Added sections summarizing "Charmed people meet each other Playground" and "Pied Piper charms Playground" with corresponding images.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GameLobby
    participant GameEngine
    participant GameUI
    participant AudioStore

    User->>+GameLobby: Choose Pied Piper Role
    GameLobby-->>GameEngine: Start New Game
    GameEngine->>GameUI: Display Game Event "Pied Piper"
    GameEngine->>AudioStore: Play "pan-flute" Sound
    GameUI-->>User: Show Players Charmed by Pied Piper
    GameEngine->>GameUI: Await User Action

    Note right of User: User interacts based on game events
Loading

Poem

In a game of charm and cheer,
The Pied Piper's tune you hear,
Players dance, enchanted delight,
Defenders guard, but lose their fight,
A click, a laugh, sounds so neat,
In this game, where foes do meet.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@antoinezanardi
Copy link
Owner Author

@coderabbitai review

Copy link

coderabbitai bot commented Jun 20, 2024

Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 731a938 and 8b77ee4.

Files ignored due to path filters (2)
  • tests/acceptance/screenshots/darwin/Charmed people meet each other Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Pied Piper charms Playground.png is excluded by !**/*.png
Files selected for processing (4)
  • .run/Pied Piper Role.run.xml (1 hunks)
  • modules/i18n/locales/en.json (1 hunks)
  • tests/acceptance/features/game/features/role/pied-piper.feature (1 hunks)
  • tests/acceptance/features/game/step-definitions/player/player-attribute/player-attribute.then-steps.ts (2 hunks)
Files skipped from review due to trivial changes (2)
  • .run/Pied Piper Role.run.xml
  • tests/acceptance/features/game/features/role/pied-piper.feature
Additional comments not posted (2)
tests/acceptance/features/game/step-definitions/player/player-attribute/player-attribute.then-steps.ts (1)

154-159: Excellent addition to the acceptance tests for the Pied Piper role.

This new step definition leverages Cucumber's DataTable to check multiple players for the "charmed by pied piper" attribute, enhancing the test's flexibility and coverage. Good use of the DataTable to handle multiple inputs efficiently. Ensure all necessary edge cases are covered in your test scenarios, such as what happens if no players are charmed or if an incorrect player name is passed.

modules/i18n/locales/en.json (1)

297-297: Change from "Savior" to "Defender" in the Pied Piper's role description is consistent with the PR's objectives.

@antoinezanardi
Copy link
Owner Author

@coderabbitai review

Copy link

coderabbitai bot commented Jun 20, 2024

Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 8b77ee4 and 4c790f4.

Files ignored due to path filters (17)
  • tests/acceptance/screenshots/darwin/Accursed Wolf-Father infects Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Big Bad Wolf eats Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Charmed people meet each other Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Defender protects Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Game Playground without targets.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Hunter shoots Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Pied Piper charms Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Scandalmonger marks Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Seer looks Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Sheriff delegates Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Sheriff settles votes Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Survivors elect Sheriff Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/Werewolves eat Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/darwin/White Werewolf eats Playground.png is excluded by !**/*.png
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameSheriffPromotionEvent/__snapshots__/GameSheriffPromotionEvent.nuxt.spec.ts.snap is excluded by !**/*.snap
  • tests/unit/specs/components/pages/game/GamePlaying/GamePlayground/CurrentPlayQuestion/__snapshots__/CurrentPlayQuestion.nuxt.spec.ts.snap is excluded by !**/*.snap
  • tests/unit/specs/components/pages/game/GamePlaying/GamePlayground/GamePlaygroundHeader/GamePlaygroundHeaderCurrentPlay/__snapshots__/GamePlaygroundHeaderCurrentPlay.nuxt.spec.ts.snap is excluded by !**/*.snap
Files selected for processing (4)
  • app/components/pages/game/GamePlaying/GamePlayground/CurrentPlayQuestion/CurrentPlayQuestion.vue (1 hunks)
  • app/components/pages/game/GamePlaying/GamePlayground/GamePlaygroundHeader/GamePlaygroundHeaderCurrentPlay/GamePlaygroundHeaderCurrentPlay.vue (1 hunks)
  • tests/acceptance/features/game/features/role/pied-piper.feature (1 hunks)
  • tests/acceptance/features/game/step-definitions/game-play/game-play.then-steps.ts (1 hunks)
Files skipped from review due to trivial changes (2)
  • app/components/pages/game/GamePlaying/GamePlayground/CurrentPlayQuestion/CurrentPlayQuestion.vue
  • app/components/pages/game/GamePlaying/GamePlayground/GamePlaygroundHeader/GamePlaygroundHeaderCurrentPlay/GamePlaygroundHeaderCurrentPlay.vue
Files skipped from review as they are similar to previous changes (1)
  • tests/acceptance/features/game/features/role/pied-piper.feature
Additional comments not posted (1)
tests/acceptance/features/game/step-definitions/game-play/game-play.then-steps.ts (1)

21-22: The new step definition correctly checks for the expected game state when no action is needed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 4c790f4 and 987cdde.

Files ignored due to path filters (15)
  • public/audio/sound-effects/pan-flute.mp3 is excluded by !**/*.mp3
  • public/audio/sound-effects/pan-flute.webm is excluded by !**/*.webm
  • tests/acceptance/screenshots/linux/Accursed Wolf-Father infects Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Big Bad Wolf eats Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Defender protects Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Game Playground without targets.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Hunter shoots Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Scandalmonger marks Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Seer looks Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Sheriff delegates Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Sheriff settles votes Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Survivors elect Sheriff Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Werewolves eat Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/White Werewolf eats Playground.png is excluded by !**/*.png
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GamePiedPiperHasCharmedEvent/__snapshots__/GamePiedPiperHasCharmedEvent.nuxt.spec.ts.snap is excluded by !**/*.snap
Files selected for processing (12)
  • app/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameEventsMonitorCurrentEvent.vue (2 hunks)
  • app/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GamePiedPiperHasCharmedEvent/GamePiedPiperHasCharmedEvent.vue (1 hunks)
  • app/stores/audio/constants/audio.constants.ts (1 hunks)
  • app/stores/game/game-event/constants/game-event.constants.ts (1 hunks)
  • app/stores/game/game-event/useGameEventsStore.ts (1 hunks)
  • modules/i18n/locales/en.json (2 hunks)
  • modules/i18n/locales/fr.json (1 hunks)
  • tests/acceptance/features/game/features/role/pied-piper.feature (1 hunks)
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameEventsMonitorCurrentEvent.nuxt.spec.ts (2 hunks)
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GamePiedPiperHasCharmedEvent/GamePiedPiperHasCharmedEvent.nuxt.spec.ts (1 hunks)
  • tests/unit/specs/stores/audio/useAudioStore.spec.ts (2 hunks)
  • tests/unit/specs/stores/game/game-event/useGameEventsStore.spec.ts (3 hunks)
Files skipped from review due to trivial changes (2)
  • app/stores/audio/constants/audio.constants.ts
  • tests/unit/specs/stores/audio/useAudioStore.spec.ts
Files skipped from review as they are similar to previous changes (2)
  • modules/i18n/locales/en.json
  • tests/acceptance/features/game/features/role/pied-piper.feature
Additional comments not posted (9)
app/stores/game/game-event/constants/game-event.constants.ts (1)

11-11: The addition of "pied-piper-has-charmed" to the game event types is well-placed and enhances the game's functionality by supporting new Pied Piper related events.

app/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GamePiedPiperHasCharmedEvent/GamePiedPiperHasCharmedEvent.vue (1)

1-13: The template structure using GameEventWithTexts and nested GameEventFlippingLastPlayTargetsCard is well-constructed for displaying the Pied Piper charm event dynamically.

app/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameEventsMonitorCurrentEvent.vue (1)

Line range hint 27-52: Correctly integrates GamePiedPiperHasCharmedEvent into the dynamic component loading system based on the game event type. This ensures that the new Pied Piper event is handled seamlessly within the game's UI.

tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GamePiedPiperHasCharmedEvent/GamePiedPiperHasCharmedEvent.nuxt.spec.ts (2)

1-34: The test setup using various factories to create a controlled testing environment is well-implemented, ensuring that the component's functionality is tested in isolation.


37-71: The test cases covering snapshot matching, sound effect playback, and dynamic text rendering are comprehensive and ensure the component behaves as expected under various states.

app/stores/game/game-event/useGameEventsStore.ts (1)

29-35: Ensure consistent handling of game events based on action and source.

The implementation correctly creates a game event for the "pied-piper-has-charmed" action when the source is "pied-piper". This aligns with the PR's objectives to enhance the Pied Piper role functionality.

tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameEventsMonitorCurrentEvent.nuxt.spec.ts (1)

154-164: Good coverage of the new "pied-piper-has-charmed" event.

The test ensures that the GamePiedPiperHasCharmedEvent component renders correctly when the current game event is of type "pied-piper-has-charmed". This is crucial for verifying the visual integration of the new game event.

tests/unit/specs/stores/game/game-event/useGameEventsStore.spec.ts (1)

342-357: Comprehensive test for the "pied-piper-has-charmed" event generation.

The test verifies that the "pied-piper-has-charmed" event is generated correctly when the last game history action is "charm" and the source is "pied-piper". This ensures that the game logic matches the new functionality introduced in the PR.

modules/i18n/locales/fr.json (1)

1340-1341: LGTM! The new localization strings for the "GamePiedPiperHasCharmedEvent" are consistent with the described functionality.

Comment on lines +15 to +37
<script setup lang="ts">
import { storeToRefs } from "pinia";
import GameEventFlippingLastPlayTargetsCard from "~/components/shared/game/game-event/GameEventFlippingPlayerCard/GameEventFlippingLastPlayTargetsCard/GameEventFlippingLastPlayTargetsCard.vue";
import GameEventWithTexts from "~/components/shared/game/game-event/GameEventWithTexts/GameEventWithTexts.vue";
import { useGameLastHistoryRecord } from "~/composables/api/game/game-history-record/useGameLastHistoryRecord";
import { useAudioStore } from "~/stores/audio/useAudioStore";
import { useGameStore } from "~/stores/game/useGameStore";

const gameStore = useGameStore();
const { game } = storeToRefs(gameStore);
const { lastTargetedPlayers } = useGameLastHistoryRecord(game);

const { t } = useI18n();

const audioStore = useAudioStore();
const { playSoundEffect } = audioStore;

const gamePiedPiperHasCharmedEventTexts = computed<string[]>(() => [
t("components.GamePiedPiperHasCharmedEvent.piedPiperHasCharmed", { charmedCount: lastTargetedPlayers.value.length }, lastTargetedPlayers.value.length),
t("components.GamePiedPiperHasCharmedEvent.gameMasterWillTapCharmedPlayers", { charmedCount: lastTargetedPlayers.value.length }, lastTargetedPlayers.value.length),
]);

playSoundEffect("pan-flute");
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider refactoring the immediate play of the "pan-flute" sound effect to be triggered by a more specific game event or method call. This would enhance the component's reusability and make it easier to control when the sound is played, especially important for unit testing.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 987cdde and 70fabf2.

Files ignored due to path filters (1)
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameTurnStartsEvent/GameCharmedTurnStartsEvent/__snapshots__/GameCharmedTurnStartsEvent.nuxt.spec.ts.snap is excluded by !**/*.snap
Files selected for processing (7)
  • app/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameTurnStartsEvent/GameCharmedTurnStartsEvent/GameCharmedTurnStartsEvent.vue (2 hunks)
  • modules/i18n/locales/en.json (4 hunks)
  • modules/i18n/locales/fr.json (3 hunks)
  • tests/acceptance/features/game/features/role/pied-piper.feature (1 hunks)
  • tests/acceptance/features/game/step-definitions/game-options/game-options.given-steps.ts (1 hunks)
  • tests/acceptance/features/game/step-definitions/player/player-attribute/player-attribute.then-steps.ts (3 hunks)
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameTurnStartsEvent/GameCharmedTurnStartsEvent/GameCharmedTurnStartsEvent.nuxt.spec.ts (3 hunks)
Files skipped from review as they are similar to previous changes (4)
  • modules/i18n/locales/en.json
  • modules/i18n/locales/fr.json
  • tests/acceptance/features/game/features/role/pied-piper.feature
  • tests/acceptance/features/game/step-definitions/player/player-attribute/player-attribute.then-steps.ts
Additional comments not posted (4)
app/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameTurnStartsEvent/GameCharmedTurnStartsEvent/GameCharmedTurnStartsEvent.vue (2)

31-33: Consider caching the result of charmedGameEventTexts to avoid recomputation on each render when the dependencies have not changed.
[REFACTOR_SUGGESTion]

const charmedGameEventTexts = computed<string[]>(() => {
  if (isFirstNight.value) {
    return [t("components.GameCharmedTurnStartsEvent.charmedPeopleMeetEachOther", lastTargetedPlayers.value.length)];
  }
  return [t("components.GameCharmedTurnStartsEvent.charmedPeopleMeetEachOtherWithOldOnes", lastTargetedPlayers.value.length)];
}, { cache: true });

14-14: Ensure that the useGameLastHistoryRecord is correctly handling all edge cases, especially for games with no history records yet.

Also applies to: 20-20

Verification successful

The useGameLastHistoryRecord function correctly handles the edge case where there are no history records by returning an empty array when game.value.lastGameHistoryRecord?.play.targets is not present.

  • Location of the implementation: app/composables/api/game/game-history-record/useGameLastHistoryRecord.ts
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that `useGameLastHistoryRecord` handles cases with no history records.

# Search for the function implementation and check for edge case handling.
ast-grep --lang javascript --pattern $'function useGameLastHistoryRecord($_) {
  $$$
  if ($_ === undefined) {
    return $$$
  }
  $$$
}'

Length of output: 139



Script:

#!/bin/bash
# Description: Locate the implementation of `useGameLastHistoryRecord` and verify its handling of edge cases.

# Search for the function definition of `useGameLastHistoryRecord` in the codebase.
ast-grep --lang javascript --pattern 'function useGameLastHistoryRecord($$) { $$$ }'

# If the function is not found as a standalone function, search for it as an exported function.
ast-grep --lang javascript --pattern 'export function useGameLastHistoryRecord($$) { $$$ }'

Length of output: 180



Script:

#!/bin/bash
# Description: Locate all occurrences of `useGameLastHistoryRecord` in the codebase to find its definition and usage.

# Search for the term `useGameLastHistoryRecord` across the codebase.
rg 'useGameLastHistoryRecord'

Length of output: 19592

tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameTurnStartsEvent/GameCharmedTurnStartsEvent/GameCharmedTurnStartsEvent.nuxt.spec.ts (1)

18-29: Ensure that the default game setup in tests accurately reflects possible real game scenarios, especially concerning the number of targets and their properties.

Verification successful

The previous attempts to match the overall structure using complex regex patterns caused repeated parse errors. However, the search for targets yielded several matches in different test files, indicating that the setup involving targets is indeed used across the codebase.

Given this context, it appears that the structure of the game setup in the test file (GameCharmedTurnStartsEvent.nuxt.spec.ts) is consistent with other test setups involving game targets.

  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameSeerHasSeenEvent/GameSeerHasSeenEvent.nuxt.spec.ts
  • tests/unit/specs/components/pages/game/GamePlaying/GameEventsMonitor/GameEventsMonitorCurrentEvent/GameAccursedWolfFatherMayHaveInfectedEvent/GameAccursedWolfFatherMayHaveInfectedEvent.nuxt.spec.ts
  • tests/unit/specs/components/pages/game/GameOver/GameOverHistory/GameOverHistoryRecords/GameOverHistoryRecord/GameOverHistoryRecord.nuxt.spec.ts

These examples show that the use of targets is a common pattern in game-related tests.

Ensure that the default game setup in tests accurately reflects possible real game scenarios, especially concerning the number of targets and their properties.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that the default game setup matches real game scenarios.

# Search for game scenarios in the codebase to compare with test setup.
rg --type typescript $'game: {
  turn: $_,
  lastGameHistoryRecord: {
    play: {
      targets: $$$
    }
  }
}'

Length of output: 467



Script:

#!/bin/bash
# Description: Verify that the default game setup matches real game scenarios.

# Search for game scenarios in the codebase to compare with test setup.
rg --type typescript 'game: {[^}]+turn: [^,]+,[^}]+lastGameHistoryRecord: {[^}]+play: {[^}]+targets: \[[^]]+\][^}]+}[^}]+}'

Length of output: 315



Script:

#!/bin/bash
# Description: Verify that the default game setup matches real game scenarios.

# Search for game scenarios in the codebase to compare with test setup.
rg --type typescript 'game: {[^}]*turn: [^,]*,[^}]*lastGameHistoryRecord: {[^}]*play: {[^}]*targets: \[[^]]*\][^}]*}[^}]*}'

Length of output: 315



Script:

#!/bin/bash
# Description: Verify that the default game setup matches real game scenarios by searching for individual elements.

# Search for 'turn' in game setups
rg --type typescript 'game: {[^}]*turn: [^,]*,'

# Search for 'lastGameHistoryRecord' in game setups
rg --type typescript 'lastGameHistoryRecord: {[^}]*play: {[^}]*targets: \[[^]]*\]'

# Search for 'targets' in game setups
rg --type typescript 'targets: \[[^]]*\]'

Length of output: 493



Script:

#!/bin/bash
# Description: Verify that the default game setup matches real game scenarios by searching for individual elements.

# Search for 'turn' in game setups
rg --type ts 'game: {[^}]*turn: [^,]*,'

# Search for 'lastGameHistoryRecord' in game setups
rg --type ts 'lastGameHistoryRecord: {[^}]*play: {[^}]*targets: \[[^]]*\]'

# Search for 'targets' in game setups
rg --type ts 'targets: \[[^]]*\]'

Length of output: 12642

tests/acceptance/features/game/step-definitions/game-options/game-options.given-steps.ts (1)

97-108: Ensure that the new step definitions for the Pied Piper role options are correctly triggering the expected changes in game state and are covered by acceptance tests.

Verification successful

The search results confirm that the step definitions for setting the Pied Piper game options are present in the codebase and are referenced in the acceptance tests.

  • tests/acceptance/features/game/step-definitions/game-options/game-options.given-steps.ts: Step definitions for setting the Pied Piper charmed people count and the infected Pied Piper powerful options.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that the step definitions trigger the correct game state changes.

# Search for acceptance tests covering these step definitions.
rg --type typescript $'Given(/the user sets the pied piper $$$/, async function(this: CustomWorld, $$$): Promise<void> {
  $$$
})'

Length of output: 486



Script:

#!/bin/bash
# Description: Verify that the step definitions trigger the correct game state changes.

# Adjusting the search pattern to avoid invalid repetition quantifier.
rg --type typescript 'Given\(/the user sets the pied piper charmed people count per night to \(\?<charmedCount>\\d+\) in game options/u, async function\(this: CustomWorld, charmedCount: string\): Promise<void>' -A 5
rg --type typescript 'Given\(/the user sets the infected pied piper powerful in game options/u, async function\(this: CustomWorld\): Promise<void>' -A 5

Length of output: 442



Script:

#!/bin/bash
# Description: Verify that the step definitions trigger the correct game state changes.

# Adjusting the search pattern to use the --glob option for .ts files.
rg --glob '*.ts' 'Given\(/the user sets the pied piper charmed people count per night to \(\?<charmedCount>\\d+\) in game options/u, async function\(this: CustomWorld, charmedCount: string\): Promise<void>' -A 5
rg --glob '*.ts' 'Given\(/the user sets the infected pied piper powerful in game options/u, async function\(this: CustomWorld\): Promise<void>' -A 5

Length of output: 364



Script:

#!/bin/bash
# Description: Verify that the step definitions trigger the correct game state changes.

# Broaden the search pattern to include general terms related to the Pied Piper role.
rg --glob '*.ts' 'Pied Piper' -A 5
rg --glob '*.ts' 'charmed people count' -A 5
rg --glob '*.ts' 'infected pied piper' -A 5

Length of output: 12396

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range and nitpick comments (5)
README.md (5)

Line range hint 135-157: Add alt text to images for accessibility.

The images in the "Game Page" section lack alternative text, which is important for accessibility. Consider adding descriptive alt text to each image tag.

Tools
Markdownlint

132-132: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


138-138: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


142-142: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


133-133: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


134-134: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


135-135: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


137-137: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


138-138: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


139-139: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


140-140: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


141-141: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


142-142: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


143-143: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


Line range hint 49-49: Consider using a more formal tone in the introduction.

The phrase "this awesome project" might be too informal for a project README. Consider using a more formal tone to enhance professionalism.

Tools
Markdownlint

132-132: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


138-138: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


142-142: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


133-133: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


134-134: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


135-135: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


137-137: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


138-138: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


139-139: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


140-140: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


141-141: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


142-142: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


143-143: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


Line range hint 281-281: Correct grammatical error in installation instructions.

The phrase "We recommend to use" should be corrected to "We recommend using" to improve readability and correctness.

Tools
Markdownlint

132-132: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


138-138: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


142-142: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


133-133: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


134-134: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


135-135: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


137-137: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


138-138: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


139-139: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


140-140: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


141-141: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


142-142: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


143-143: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


Line range hint 299-299: Simplify wording in the build instructions.

Consider simplifying "In order to build" to "To build" for conciseness and directness.

Tools
Markdownlint

132-132: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


138-138: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


142-142: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


133-133: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


134-134: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


135-135: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


137-137: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


138-138: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


139-139: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


140-140: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


141-141: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


142-142: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


143-143: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


Line range hint 398-398: Simplify wording in the code analysis section.

Consider simplifying "In order to keep" to "To keep" to maintain consistency with earlier suggestions and improve the document's readability.

Tools
Markdownlint

132-132: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


138-138: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


142-142: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


133-133: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


134-134: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


135-135: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


137-137: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


138-138: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


139-139: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


140-140: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


141-141: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


142-142: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


143-143: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 70fabf2 and f8333b6.

Files ignored due to path filters (14)
  • tests/acceptance/screenshots/darwin/Game Playground without targets.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Accursed Wolf-Father infects Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Big Bad Wolf eats Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Charmed people meet each other Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Defender protects Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Game Playground without targets.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Hunter shoots Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Pied Piper charms Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Scandalmonger marks Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Seer looks Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Sheriff delegates Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Sheriff settles votes Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/Werewolves eat Playground.png is excluded by !**/*.png
  • tests/acceptance/screenshots/linux/White Werewolf eats Playground.png is excluded by !**/*.png
Files selected for processing (1)
  • README.md (2 hunks)
Additional context used
LanguageTool
README.md

[style] ~49-~49: Consider using a more formal and expressive alternative to ‘awesome’. (AWESOME)
Context: .... #### 🤔 Want to know more about this awesome project ? <a href="https://werewolves-a...


[grammar] ~281-~281: The verb ‘recommend’ is used with the gerund form. (ADMIT_ENJOY_VB)
Context: ...Color=white&logo=pnpm&color=B76507) We recommend to use the node version specified in the `.nvm...


[style] ~299-~299: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...ocal. ## 🚀 Build In order to build the app for production, run the f...


[style] ~398-~398: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...oColor=white&logo=eslint&color=341BAB) In order to keep the code clean, consistent and fre...

Markdownlint
README.md

49-49: Expected: h3; Actual: h4 (MD001, heading-increment)
Heading levels should only increment by one level at a time


122-122: Expected: 0 or 2; Actual: 5 (MD009, no-trailing-spaces)
Trailing spaces


130-130: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


132-132: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


138-138: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


142-142: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


144-144: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


148-148: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


150-150: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


162-162: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


165-165: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


167-167: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


186-186: Expected: 0 or 2; Actual: 8 (MD009, no-trailing-spaces)
Trailing spaces


188-188: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


194-194: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


338-338: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


436-436: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


473-473: Expected: 0 or 2; Actual: 4 (MD009, no-trailing-spaces)
Trailing spaces


476-476: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


477-477: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


478-478: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


479-479: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


501-501: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces


43-43: Expected: 1; Actual: 0; Below (MD022, blanks-around-headings)
Headings should be surrounded by blank lines


483-483: Expected: 1; Actual: 0; Below (MD022, blanks-around-headings)
Headings should be surrounded by blank lines


489-489: Expected: 1; Actual: 0; Below (MD022, blanks-around-headings)
Headings should be surrounded by blank lines


494-494: Expected: 1; Actual: 0; Below (MD022, blanks-around-headings)
Headings should be surrounded by blank lines


510-510: Expected: 1; Actual: 0; Below (MD022, blanks-around-headings)
Headings should be surrounded by blank lines


49-49: Punctuation: '.' (MD026, no-trailing-punctuation)
Trailing punctuation in heading


82-82: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


83-83: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


84-84: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


85-85: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


87-87: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


88-88: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


89-89: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


90-90: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


91-91: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


92-92: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


93-93: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


94-94: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


95-95: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


96-96: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


97-97: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


98-98: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


99-99: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


100-100: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


101-101: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


102-102: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


103-103: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


104-104: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


105-105: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


106-106: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


107-107: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


108-108: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


109-109: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


110-110: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


111-111: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


112-112: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


113-113: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


114-114: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


120-120: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


121-121: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


122-122: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


123-123: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


124-124: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


126-126: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


127-127: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


128-128: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


129-129: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


130-130: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


131-131: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


133-133: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


134-134: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


135-135: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


137-137: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


138-138: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


139-139: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


140-140: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


141-141: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


142-142: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


143-143: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


145-145: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


146-146: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


147-147: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


148-148: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


149-149: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


151-151: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


152-152: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


153-153: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


155-155: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


157-157: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


158-158: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


159-159: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


161-161: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


162-162: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


163-163: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


164-164: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


165-165: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


166-166: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


168-168: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


169-169: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


170-170: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


172-172: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


173-173: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


174-174: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


175-175: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


177-177: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


178-178: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


179-179: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


180-180: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


182-182: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


183-183: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


184-184: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


185-185: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


186-186: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


187-187: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


189-189: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


190-190: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


191-191: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


193-193: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


194-194: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


195-195: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


196-196: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


198-198: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


199-199: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


200-200: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


201-201: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


202-202: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


203-203: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


204-204: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


205-205: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


206-206: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


207-207: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


208-208: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


209-209: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


210-210: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


211-211: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


212-212: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


213-213: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


214-214: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


220-220: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


221-221: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


222-222: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


223-223: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


224-224: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


225-225: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


226-226: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


227-227: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


228-228: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


229-229: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


230-230: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


231-231: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


232-232: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


233-233: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


234-234: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


235-235: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


236-236: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


237-237: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


238-238: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


239-239: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


240-240: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


241-241: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


242-242: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


243-243: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


244-244: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


245-245: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


246-246: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


247-247: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


248-248: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


249-249: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


250-250: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


251-251: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


252-252: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


253-253: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


254-254: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


255-255: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


256-256: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


257-257: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


258-258: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


259-259: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


260-260: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


261-261: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


262-262: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


263-263: null (MD027, no-multiple-space-blockquote)
Multiple spaces after blockquote symbol


484-484: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


490-490: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


495-495: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


53-53: null (MD045, no-alt-text)
Images should have alternate text (alt text)


53-53: null (MD045, no-alt-text)
Images should have alternate text (alt text)


53-53: null (MD045, no-alt-text)
Images should have alternate text (alt text)


53-53: null (MD045, no-alt-text)
Images should have alternate text (alt text)


55-55: null (MD045, no-alt-text)
Images should have alternate text (alt text)


55-55: null (MD045, no-alt-text)
Images should have alternate text (alt text)


55-55: null (MD045, no-alt-text)
Images should have alternate text (alt text)


55-55: null (MD045, no-alt-text)
Images should have alternate text (alt text)


56-56: null (MD045, no-alt-text)
Images should have alternate text (alt text)


56-56: null (MD045, no-alt-text)
Images should have alternate text (alt text)


56-56: null (MD045, no-alt-text)
Images should have alternate text (alt text)


56-56: null (MD045, no-alt-text)
Images should have alternate text (alt text)


57-57: null (MD045, no-alt-text)
Images should have alternate text (alt text)


57-57: null (MD045, no-alt-text)
Images should have alternate text (alt text)


57-57: null (MD045, no-alt-text)
Images should have alternate text (alt text)


57-57: null (MD045, no-alt-text)
Images should have alternate text (alt text)


58-58: null (MD045, no-alt-text)
Images should have alternate text (alt text)


58-58: null (MD045, no-alt-text)
Images should have alternate text (alt text)


58-58: null (MD045, no-alt-text)
Images should have alternate text (alt text)


58-58: null (MD045, no-alt-text)
Images should have alternate text (alt text)


59-59: null (MD045, no-alt-text)
Images should have alternate text (alt text)


59-59: null (MD045, no-alt-text)
Images should have alternate text (alt text)


59-59: null (MD045, no-alt-text)
Images should have alternate text (alt text)


59-59: null (MD045, no-alt-text)
Images should have alternate text (alt text)


60-60: null (MD045, no-alt-text)
Images should have alternate text (alt text)


60-60: null (MD045, no-alt-text)
Images should have alternate text (alt text)


60-60: null (MD045, no-alt-text)
Images should have alternate text (alt text)


60-60: null (MD045, no-alt-text)
Images should have alternate text (alt text)


61-61: null (MD045, no-alt-text)
Images should have alternate text (alt text)


61-61: null (MD045, no-alt-text)
Images should have alternate text (alt text)


521-521: null (MD045, no-alt-text)
Images should have alternate text (alt text)


527-527: null (MD045, no-alt-text)
Images should have alternate text (alt text)


533-533: null (MD047, single-trailing-newline)
Files should end with a single newline character

Copy link

sonarcloud bot commented Jun 20, 2024

@antoinezanardi antoinezanardi merged commit c8036fd into develop Jun 20, 2024
11 checks passed
@antoinezanardi antoinezanardi deleted the test/pied-piper-acceptance-tests branch June 20, 2024 17:40
antoinezanardi pushed a commit that referenced this pull request Jun 20, 2024
## [1.22.0](v1.21.0...v1.22.0) (2024-06-20)

### 🚀 Features

* **villager-villager:** event and revelations among player roles ([#552](#552)) ([1f6fb83](1f6fb83))

### 🐛 Bug Fixes

* **release:** correct release content in develop ([#561](#561)) ([af8a869](af8a869))

### ✅ Tests

* **acceptance:** white werewolf acceptance tests ([#551](#551)) ([700f730](700f730))
* **cucumber:** run tests in parallel ([#554](#554)) ([731a938](731a938))
* **game:** optimize game victory acceptance tests ([#558](#558)) ([52524bf](52524bf))
* **pied-piper:** acceptance tests ([#555](#555)) ([c8036fd](c8036fd))

### 🧹 Chore

* **coderabbit:** config file ([#560](#560)) ([8a0a95b](8a0a95b))
* **deps:** update dependency @stylistic/eslint-plugin to ^2.2.2 ([#553](#553)) ([fd12df9](fd12df9))
* **deps:** update dependency happy-dom to ^14.12.3 ([#556](#556)) ([1ab29be](1ab29be))
* **deps:** update dependency sass to ^1.77.6 ([#549](#549)) ([b0573a0](b0573a0))
* **deps:** update node.js to >=20.15.0 ([#557](#557)) ([3be5c0f](3be5c0f))
@antoinezanardi
Copy link
Owner Author

🎉 This PR is included in version 1.22.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released ✅ test Adding missing tests or correcting existing tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant