public void WhenMethodGetUserByIsCalledByNullOrEmptyUsernameReturnFalse(string userName)
        {
            // return a user by Name
            _dbContextMock.Setup(mockContext => mockContext.User).Returns(_dbSetMock.Object);

            // setup of Mock User Repository
            var target = _dbContextMock.Object;
            User testUser;
            _userRepository = new UserRepository(target);
            var success = _userRepository.GetUserBy(userName, out testUser);

            // assert
            _dbContextMock.VerifyAll();
            Assert.That(false, Is.EqualTo(success));
        }
        public void WhenMethodGetUserByNameTestIsCalledByUsernameReturnUser(string userName)
        {
            // return a user by Name
            _dbContextMock.Setup(mockContext => mockContext.User).Returns(_dbSetMock.Object);

            // setup of Mock User Repository
            var target = _dbContextMock.Object;
            User testUser;
            _userRepository = new UserRepository(target);
            var success = _userRepository.GetUserBy(userName, out testUser);

            // assert
            _dbContextMock.VerifyAll();
            Assert.That(true, Is.EqualTo(success));
            if (userName == testUser.Name)
            {
                Assert.That(userName, Is.EqualTo(testUser.Name));
            }
            else
            {
                Assert.That(userName, Is.Not.EqualTo(testUser.Name));
            }
        }
        public void WhenMethodGetUserByIdTestIsCalledReturnUser()
        {
            // Return a user by Id
            _dbContextMock.Setup(mockContext => mockContext.User).Returns(_dbSetMock.Object);

            // setup of our Mock User Repository
            var target = _dbContextMock.Object;
            User testUser;
            _userRepository = new UserRepository(target);
            var success = _userRepository.GetUserBy(2, out testUser);

            // assert
            _dbContextMock.VerifyAll();
            Assert.That(true, Is.EqualTo(success));
            Assert.That("Chris Smith", Is.EqualTo(testUser.Name));
            Assert.That("Richard Child", Is.Not.EqualTo(testUser.Name));
            Assert.That(2, Is.EqualTo(testUser.id));
        }