public void When_user_has_voted_today_and_user_want_vote_at_same_day_same_project_then_throw_new_UserAlreadyVoted_exception()
        {
            repoMock
            .Setup(r => r.HasUserVotedToday(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>()))
            .Returns(true);
            repoMock
            .Setup(r => r.Add(It.IsAny <Vote>()));

            Assert.Throws <UserAlreadyVotedException>(() => voteList.AddVote(2, "2", "draugiem"));
            repoMock.Verify(r => r.Add(It.IsAny <Vote>()), Times.Never);
        }
        public IActionResult GiveVote(int projectId, string userId, string socialName)
        {
            if (!IsCountryAllowed())
            {
                return(Forbid());
            }

            try
            {
                voteList.AddVote(projectId, userId, socialName);
                return(Ok(new VoteInfo(true, projectId)));
            }
            catch (UserAlreadyVotedException)
            {
                return(Ok(new VoteInfo(false, projectId)));
            }
        }