public async Task Handle_GivenNullRequest_ShouldThrowArgumentNullException() { // Arrange var sut = new GetMatchesForPlayWeekQueryHandler(It.IsAny <IDeletableEntityRepository <PlayWeek> >(), It.IsAny <IDeletableEntityRepository <Match> >(), It.IsAny <IMapper>()); // Act & Assert await Should.ThrowAsync <ArgumentNullException>(sut.Handle(null, It.IsAny <CancellationToken>())); }
public async Task Handle_GivenInvalidRequest_ShouldThrowNotFoundException() { // Arrange var query = new GetMatchesForPlayWeekQuery { PlayWeekId = 121 }; var sut = new GetMatchesForPlayWeekQueryHandler(this.deletableEntityRepository, It.IsAny <IDeletableEntityRepository <Match> >(), It.IsAny <IMapper>()); // Act & Assert await Should.ThrowAsync <NotFoundException>(sut.Handle(query, It.IsAny <CancellationToken>())); }
public async Task Handle_GivenValidRequest_ShouldReturnViewModel() { // Arrange var query = new GetMatchesForPlayWeekQuery { PlayWeekId = 1 }; var matchesRepository = new EfDeletableEntityRepository <Match>(this.dbContext); var sut = new GetMatchesForPlayWeekQueryHandler(this.deletableEntityRepository, matchesRepository, this.mapper); // Act var viewModel = await sut.Handle(query, It.IsAny <CancellationToken>()); // Assert viewModel.ShouldNotBeNull(); viewModel.Matches.Count().ShouldBe(2); viewModel.WeekAsString.ShouldBe("11/08/2019 - 18/08/2019"); }