Example #1
0
        public async void FindFriends_OnInvalidQuery_BadRequest()
        {
            //Arrange
            var persistenceMock = new Mock <IFriendsPersistence>();
            var mapperMock      = new Mock <IMapper>();

            //Act
            var controller = new FriendsController(_logger, persistenceMock.Object, mapperMock.Object);
            var response   = await controller.FindUsers(null);

            //Assert
            Assert.IsType <BadRequestResult>(response);
        }
Example #2
0
        public async void FindFriends_OnAnyFindingMatches_OkWithMatchingUserDto()
        {
            //Arrange
            var requestPhoneNumbers = new List <string> {
                "123", "456", "789"
            };

            var usersInDb = new List <ApplicationUser>
            {
                new ApplicationUser {
                    UserName = "******"
                },
                new ApplicationUser {
                    UserName = "******"
                }
            };

            var fakeDtos = new List <UserDto>();

            usersInDb.ForEach(a => fakeDtos.Add(new UserDto {
                Username = a.UserName
            }));

            var persistenceMock = new Mock <IFriendsPersistence>();

            persistenceMock
            .Setup(r => r.Friends
                   .FindByNameRangeAsync(requestPhoneNumbers))
            .ReturnsAsync(usersInDb);

            var mapperMock = new Mock <IMapper>();

            mapperMock
            .Setup(m => m.Map <IEnumerable <UserDto> >(usersInDb))
            .Returns(fakeDtos);

            //Act
            var controller = new FriendsController(_logger, persistenceMock.Object, mapperMock.Object);
            var response   = await controller.FindUsers(requestPhoneNumbers);

            var dtos = ((OkObjectResult)response).Value as IEnumerable <UserDto>;

            //Assert
            Assert.IsType <OkObjectResult>(response);
            Assert.Equal(usersInDb.Count, dtos.Count());
        }