public async Task GivenValidWarIdAndValidRequest_Vote_ReturnsNoContent() { // Arrange var voteRequestModel = new Models.VoteRequest { MatchId = Guid.NewGuid() }; var voteRequest = new VoteRequest(); var existingMatch = new War.Matches.Match { UserId = _stubUser.Id }; _stubMapper.Setup(x => x.Map <Models.VoteRequest, VoteRequest>(voteRequestModel)).Returns(voteRequest); _stubMatchRepository.Setup(x => x.Get(ValidWarId, voteRequestModel.MatchId)).Returns(Task.FromResult(existingMatch)); // Act var result = await _controller.Vote(ValidWarId, voteRequestModel); // Assert VerifyReturnsNoContent(ValidWarId, voteRequest, result); }
public async Task GivenWrongUserId_Vote_Returns_Unauthorized() { // Arrange var voteRequestModel = new Models.VoteRequest { MatchId = Guid.NewGuid() }; var voteRequest = new VoteRequest(); var existingMatch = new War.Matches.Match { UserId = new UserIdentifier { AuthenticationType = Guid.NewGuid().ToString(), NameIdentifier = Guid.NewGuid().ToString() } }; _stubMapper.Setup(x => x.Map <Models.VoteRequest, VoteRequest>(voteRequestModel)).Returns(voteRequest); _stubMatchRepository.Setup(x => x.Get(ValidWarId, voteRequestModel.MatchId)).ReturnsAsync(existingMatch); // Act var result = await _controller.Vote(ValidWarId, voteRequestModel); // Assert result.Should().BeOfType <UnauthorizedResult>(); }
public async Task GivenValidWarIdAndExistingVote_Vote_ReturnsExpectedResult() { // Arrange _controller.ModelState.Clear(); var voteRequestModel = new Models.VoteRequest { MatchId = Guid.NewGuid(), Choice = Models.VoteChoice.Contestant2 }; var votes = new List <Vote> { new Vote() }; var match = new War.Matches.Match { UserId = _stubUser.Id }; _stubMatchRepository.Setup(x => x.Get(ValidWarId, voteRequestModel.MatchId)).ReturnsAsync(match); _stubVoteRepository.Setup(x => x.Get(ValidWarId, voteRequestModel.MatchId)).ReturnsAsync(votes); // Act var result = await _controller.Vote(ValidWarId, voteRequestModel); // Assert result.Should().BeOfType <ConflictResult>(); }