Example #1
0
        public void GetProjectsOfUser_ThrowsNotFoundExceptionIfRequestedUserDoesNotExist()
        {
            _userRepoMock.Setup(r => r.ExistsWithId("no-user")).ReturnsAsync(false);

            UserBl bl = new UserBl(_userRepoMock.Object, _mapper, _puRepoMock.Object);

            Assert.ThrowsAsync <NotFoundResponseException>(async() =>
                                                           await bl.GetProjectsOfUser("user", "no-user")).Wait();
        }
Example #2
0
        public void GetProjectsOfUser_ForTheSameUser_CallsOnceGetProjectsFromRepo()
        {
            _userRepoMock.Setup(r => r.ExistsWithId(user1.Id)).ReturnsAsync(true);
            _puRepoMock.Setup(r => r.GetProjectsOfUser(user1.Id)).ReturnsAsync(projectsForUser1);

            UserBl bl = new UserBl(_userRepoMock.Object, _mapper, _puRepoMock.Object);

            var projs = bl.GetProjectsOfUser(user1.Id, user1.Id).Result;

            _puRepoMock.Verify(r => r.GetProjectsOfUser(user1.Id), Times.Once);
        }
Example #3
0
        public void GetProjectsOfUser_ForTwoUsers_ReturnsEmptyResultIfNoCommonProjects()
        {
            _userRepoMock.Setup(r => r.ExistsWithId(user3.Id)).ReturnsAsync(true);
            _puRepoMock.Setup(r => r.GetProjectsOfUser(user1.Id)).ReturnsAsync(projectsForUser1);
            _puRepoMock.Setup(r => r.GetProjectsOfUser(user3.Id)).ReturnsAsync(projectsForUser3);

            UserBl bl = new UserBl(_userRepoMock.Object, _mapper, _puRepoMock.Object);

            var projs = bl.GetProjectsOfUser(user1.Id, user3.Id).Result.ToList();

            Assert.Empty(projs);
        }
Example #4
0
        public void GetProjectsOfUser_ForTwoUsers_ReturnsCommonProjects()
        {
            _userRepoMock.Setup(r => r.ExistsWithId(user2.Id)).ReturnsAsync(true);
            _puRepoMock.Setup(r => r.GetProjectsOfUser(user1.Id)).ReturnsAsync(projectsForUser1);
            _puRepoMock.Setup(r => r.GetProjectsOfUser(user2.Id)).ReturnsAsync(projectsForUser2);

            UserBl bl = new UserBl(_userRepoMock.Object, _mapper, _puRepoMock.Object);

            var projs = bl.GetProjectsOfUser(user1.Id, user2.Id).Result.ToList();

            foreach (var pd in projs)
            {
                Assert.True(projectsForUser1.Any(p => p.Id == pd.Id) && projectsForUser2.Any(p => p.Id == pd.Id));
            }
        }
Example #5
0
        public void GetProjectsOfUser_ForTheSameUser_ReturnsAllItsProjects()
        {
            _userRepoMock.Setup(r => r.ExistsWithId(user1.Id)).ReturnsAsync(true);
            _puRepoMock.Setup(r => r.GetProjectsOfUser(user1.Id)).ReturnsAsync(projectsForUser1);

            UserBl bl = new UserBl(_userRepoMock.Object, _mapper, _puRepoMock.Object);

            var projs = bl.GetProjectsOfUser(user1.Id, user1.Id).Result.ToList();

            Assert.Equal(projectsForUser1.Count(), projs.Count());
            for (int i = 0; i < projectsForUser1.Count(); ++i)
            {
                Assert.Equal(projectsForUser1[i].Id, projs[i].Id);
            }
        }