Exemple #1
0
        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);
        }
Exemple #2
0
        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>();
        }
Exemple #3
0
        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>();
        }