Skip to content

Commit

Permalink
refactoring: organization of module dependencies; moving request and …
Browse files Browse the repository at this point in the history
…response models into packages
  • Loading branch information
lucas-ifsp committed Apr 21, 2022
1 parent b853d4d commit c325d6d
Show file tree
Hide file tree
Showing 30 changed files with 49 additions and 25 deletions.
4 changes: 2 additions & 2 deletions console/src/main/java/com/bueno/application/cli/GameCLI.java
Expand Up @@ -22,7 +22,7 @@

import com.bueno.application.cli.commands.*;
import com.bueno.domain.usecases.bot.BotUseCase;
import com.bueno.domain.usecases.game.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.game.model.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.game.CreateGameUseCase;
import com.bueno.domain.usecases.game.GameRepository;
import com.bueno.domain.usecases.hand.PlayCardRequestModel;
Expand All @@ -33,7 +33,7 @@
import com.bueno.domain.usecases.utils.dtos.IntelDto;
import com.bueno.domain.usecases.user.CreateUserUseCase;
import com.bueno.domain.usecases.user.UserRepository;
import com.bueno.domain.usecases.user.UserRequestModel;
import com.bueno.domain.usecases.user.model.UserRequestModel;
import com.bueno.persistence.inmemory.InMemoryGameRepository;
import com.bueno.persistence.inmemory.InMemoryUserRepository;
import com.google.common.primitives.Ints;
Expand Down
Expand Up @@ -22,6 +22,8 @@

import com.bueno.domain.usecases.bot.BotUseCase;
import com.bueno.domain.usecases.game.*;
import com.bueno.domain.usecases.game.model.CreateForBotsRequestModel;
import com.bueno.domain.usecases.game.model.PlayWithBotsResponseModel;
import com.bueno.persistence.inmemory.InMemoryGameRepository;
import com.google.common.primitives.Ints;

Expand Down
Expand Up @@ -22,7 +22,7 @@

import com.bueno.application.model.CardImage;
import com.bueno.application.utils.TimelineBuilder;
import com.bueno.domain.usecases.game.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.game.model.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.game.CreateGameUseCase;
import com.bueno.domain.usecases.hand.PlayCardRequestModel;
import com.bueno.domain.usecases.hand.PlayCardUseCase;
Expand All @@ -32,7 +32,7 @@
import com.bueno.domain.usecases.utils.dtos.IntelDto;
import com.bueno.domain.usecases.utils.dtos.IntelDto.PlayerInfo;
import com.bueno.domain.usecases.user.CreateUserUseCase;
import com.bueno.domain.usecases.user.UserRequestModel;
import com.bueno.domain.usecases.user.model.UserRequestModel;
import com.bueno.persistence.inmemory.InMemoryGameRepository;
import com.bueno.persistence.inmemory.InMemoryUserRepository;
import javafx.animation.Timeline;
Expand Down
Expand Up @@ -23,6 +23,8 @@
import com.bueno.domain.entities.game.Game;
import com.bueno.domain.entities.player.Player;
import com.bueno.domain.entities.player.User;
import com.bueno.domain.usecases.game.model.CreateForBotsRequestModel;
import com.bueno.domain.usecases.game.model.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.utils.dtos.IntelDto;
import com.bueno.domain.usecases.user.UserRepository;
import com.bueno.domain.usecases.utils.exceptions.EntityNotFoundException;
Expand Down
Expand Up @@ -21,6 +21,8 @@
package com.bueno.domain.usecases.game;

import com.bueno.domain.usecases.bot.BotUseCase;
import com.bueno.domain.usecases.game.model.CreateForBotsRequestModel;
import com.bueno.domain.usecases.game.model.PlayWithBotsResponseModel;

import java.util.Objects;

Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.game;
package com.bueno.domain.usecases.game.model;

import lombok.Getter;
import lombok.ToString;
Expand Down
Expand Up @@ -18,9 +18,8 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.game;
package com.bueno.domain.usecases.game.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.ToString;

Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.game;
package com.bueno.domain.usecases.game.model;

import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
Expand Down
Expand Up @@ -27,6 +27,7 @@
import com.bueno.domain.entities.player.Player;
import com.bueno.domain.usecases.bot.BotUseCase;
import com.bueno.domain.usecases.game.GameRepository;
import com.bueno.domain.usecases.hand.validator.ActionValidator;
import com.bueno.domain.usecases.utils.dtos.IntelDto;
import com.bueno.domain.usecases.utils.exceptions.UnsupportedGameRequestException;
import com.bueno.domain.usecases.utils.converters.CardConverter;
Expand Down
Expand Up @@ -26,6 +26,7 @@
import com.bueno.domain.entities.player.Player;
import com.bueno.domain.usecases.bot.BotUseCase;
import com.bueno.domain.usecases.game.GameRepository;
import com.bueno.domain.usecases.hand.validator.ActionValidator;
import com.bueno.domain.usecases.utils.dtos.IntelDto;
import com.bueno.domain.usecases.utils.converters.IntelConverter;
import com.bueno.domain.usecases.utils.validation.Notification;
Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.hand;
package com.bueno.domain.usecases.hand.validator;

import com.bueno.domain.entities.game.Game;
import com.bueno.domain.entities.intel.PossibleAction;
Expand Down
Expand Up @@ -22,6 +22,9 @@

import com.bueno.domain.entities.game.Game;
import com.bueno.domain.usecases.game.GameRepository;
import com.bueno.domain.usecases.intel.model.IntelSinceResponseModel;
import com.bueno.domain.usecases.intel.model.OwnedCardsResponseModel;
import com.bueno.domain.usecases.intel.model.PlayerTurnResponseModel;
import com.bueno.domain.usecases.utils.exceptions.UnsupportedGameRequestException;
import com.bueno.domain.usecases.utils.converters.CardConverter;
import com.bueno.domain.usecases.utils.converters.IntelConverter;
Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.intel;
package com.bueno.domain.usecases.intel.model;

import com.bueno.domain.usecases.utils.dtos.IntelDto;
import lombok.AllArgsConstructor;
Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.intel;
package com.bueno.domain.usecases.intel.model;

import com.bueno.domain.usecases.utils.dtos.CardDto;
import lombok.AllArgsConstructor;
Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.intel;
package com.bueno.domain.usecases.intel.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Expand Up @@ -21,6 +21,8 @@
package com.bueno.domain.usecases.user;

import com.bueno.domain.entities.player.User;
import com.bueno.domain.usecases.user.model.UserRequestModel;
import com.bueno.domain.usecases.user.model.UserResponseModel;
import com.bueno.domain.usecases.utils.exceptions.EntityAlreadyExistsException;
import org.springframework.stereotype.Service;

Expand Down
Expand Up @@ -20,6 +20,7 @@

package com.bueno.domain.usecases.user;

import com.bueno.domain.usecases.user.model.UserResponseModel;
import com.bueno.domain.usecases.utils.exceptions.EntityNotFoundException;
import org.springframework.stereotype.Service;

Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.user;
package com.bueno.domain.usecases.user.model;

import lombok.EqualsAndHashCode;
import lombok.Getter;
Expand Down
Expand Up @@ -18,7 +18,7 @@
* along with CTruco. If not, see <https://www.gnu.org/licenses/>
*/

package com.bueno.domain.usecases.user;
package com.bueno.domain.usecases.user.model;

import com.bueno.domain.entities.player.User;
import lombok.AllArgsConstructor;
Expand Down
Expand Up @@ -94,6 +94,4 @@ public boolean equals(Object o) {
public int hashCode() {
return Objects.hash(timestamp);
}


}
Expand Up @@ -38,10 +38,6 @@ public void addError(String message){
addError(message, null);
}

public void addError(Exception e){
addError(e.getMessage(), e);
}

private void addError(String message, Exception e){
errors.add(new Error(message, e));
}
Expand Down
5 changes: 4 additions & 1 deletion domain/src/main/java/module-info.java
Expand Up @@ -7,13 +7,16 @@

exports com.bueno.domain.entities.game to application.persistence;
exports com.bueno.domain.entities.player to application.persistence;
exports com.bueno.domain.entities.deck to application.persistence;

exports com.bueno.domain.usecases.game;
exports com.bueno.domain.usecases.user;
exports com.bueno.domain.usecases.hand;
exports com.bueno.domain.usecases.bot;
exports com.bueno.domain.usecases.intel;
exports com.bueno.domain.usecases.utils.exceptions;
exports com.bueno.domain.usecases.utils.validation;
exports com.bueno.domain.usecases.utils.dtos;
exports com.bueno.domain.usecases.game.model;
exports com.bueno.domain.usecases.intel.model;
exports com.bueno.domain.usecases.user.model;
}
Expand Up @@ -23,6 +23,8 @@
import com.bueno.domain.entities.game.Game;
import com.bueno.domain.entities.player.Player;
import com.bueno.domain.entities.player.User;
import com.bueno.domain.usecases.game.model.CreateForBotsRequestModel;
import com.bueno.domain.usecases.game.model.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.user.UserRepository;
import com.bueno.domain.usecases.utils.exceptions.EntityNotFoundException;
import com.bueno.domain.usecases.utils.exceptions.UnsupportedGameRequestException;
Expand Down
Expand Up @@ -23,6 +23,7 @@
import com.bueno.domain.entities.game.Game;
import com.bueno.domain.entities.intel.Intel;
import com.bueno.domain.usecases.bot.BotUseCase;
import com.bueno.domain.usecases.game.model.CreateForBotsRequestModel;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand Down
Expand Up @@ -21,6 +21,7 @@
package com.bueno.domain.usecases.user;

import com.bueno.domain.entities.player.User;
import com.bueno.domain.usecases.user.model.UserRequestModel;
import com.bueno.domain.usecases.utils.exceptions.EntityAlreadyExistsException;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand Down
Expand Up @@ -21,6 +21,7 @@
package com.bueno.domain.usecases.user;

import com.bueno.domain.entities.player.User;
import com.bueno.domain.usecases.user.model.UserResponseModel;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand Down
Expand Up @@ -20,6 +20,7 @@

package com.bueno.domain.usecases.user;

import com.bueno.domain.usecases.user.model.UserRequestModel;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

Expand Down
Expand Up @@ -25,8 +25,7 @@
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.*;

class CardDtoTest {

Expand Down Expand Up @@ -63,4 +62,13 @@ void shouldThrowIfSuitIsNull() {
void shouldThrowIfSuitIsInvalid(String suit) {
assertThrows(IllegalArgumentException.class, () -> new CardDto("A", suit));
}

@Test
@DisplayName("Should correctly create closed card")
void shouldCorrectlyCreateClosedCard() {
assertAll(
() -> assertEquals("X", CardDto.closed().getRank()),
() -> assertEquals("X", CardDto.closed().getSuit())
);
}
}
2 changes: 1 addition & 1 deletion web/src/main/java/com/bueno/web/GameController.java
Expand Up @@ -21,7 +21,7 @@
package com.bueno.web;

import com.bueno.domain.usecases.game.CreateGameUseCase;
import com.bueno.domain.usecases.game.CreateForUserAndBotRequestModel;
import com.bueno.domain.usecases.game.model.CreateForUserAndBotRequestModel;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
Expand Down
2 changes: 1 addition & 1 deletion web/src/main/java/com/bueno/web/UserController.java
Expand Up @@ -22,7 +22,7 @@

import com.bueno.domain.usecases.user.CreateUserUseCase;
import com.bueno.domain.usecases.user.FindUserUseCase;
import com.bueno.domain.usecases.user.UserRequestModel;
import com.bueno.domain.usecases.user.model.UserRequestModel;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

Expand Down

0 comments on commit c325d6d

Please sign in to comment.