public async Task Handle_GivenInvalidRequest_ShouldThrowEntityAlreadyExistsException() { // Arrange var tournamentFormatsRepositoryMock = new Mock <IDeletableEntityRepository <TournamentFormat> >(); var dataSet = new List <TournamentFormat> { new TournamentFormat { Name = "5v5", GameId = 123, Id = It.IsAny <int>(), TeamPlayersCount = 5, TotalPlayersCount = 10, Description = It.IsAny <string>() } }.AsQueryable(); var dataSetMock = dataSet.BuildMock(); tournamentFormatsRepositoryMock.Setup(m => m.AllAsNoTrackingWithDeleted()).Returns(dataSetMock.Object); var request = new CreateTournamentFormatCommand { Name = "5v5", GameId = 123 }; var sut = new CreateTournamentFormatCommandHandler(tournamentFormatsRepositoryMock.Object, It.IsAny <IDeletableEntityRepository <Game> >()); // Act & Assert await Should.ThrowAsync <EntityAlreadyExistsException>(sut.Handle(request, CancellationToken.None)); }
public async Task Handle_GivenInvalidRequest_ShouldThrowNotFoundException() { // Arrange var request = new CreateTournamentFormatCommand() { GameId = 90125, Name = "5v5", Description = "Plain old 5v5 classic counter-strike competitie format", TeamPlayersCount = 5 }; IDeletableEntityRepository <Game> gameRepo = new EfDeletableEntityRepository <Game>(this.dbContext); var sut = new CreateTournamentFormatCommandHandler(deletableEntityRepository, gameRepo); // Act & Assert await Should.ThrowAsync <NotFoundException>(sut.Handle(request, CancellationToken.None)); }
public async Task Handle_GivenValidRequest_ShouldCreateValidEntity() { // Arrange var request = new CreateTournamentFormatCommand() { GameId = 2, Name = "5v5", Description = "Plain old 5v5 classic counter-strike competitive format", TeamPlayersCount = 5 }; IDeletableEntityRepository <Game> gameRepo = new EfDeletableEntityRepository <Game>(this.dbContext); var sut = new CreateTournamentFormatCommandHandler(base.deletableEntityRepository, gameRepo); // Act var result = await sut.Handle(request, CancellationToken.None); // Assert result.ShouldBe(4); }