Beispiel #1
0
        public void GetUsersInputArgumentReturnValue()
        {
            //Arrange
            IQueryable <User> users = new List <User>
            {
                new User
                {
                    Id = 1, FirstName = "Максим", LastName = "Баканов", BirthDate = new DateTime(1998, 05, 07), Login = "******", Password = "******", Role = Roles.Administrator, Culture = "en"
                }
            }.AsQueryable();

            var mockSet = new Mock <DbSet <User> >();

            mockSet.As <IQueryable <User> >().Setup(m => m.Provider).Returns(users.Provider);
            mockSet.As <IQueryable <User> >().Setup(m => m.Expression).Returns(users.Expression);
            mockSet.As <IQueryable <User> >().Setup(m => m.ElementType).Returns(users.ElementType);
            mockSet.As <IQueryable <User> >().Setup(m => m.GetEnumerator()).Returns(users.GetEnumerator());

            var mockContext = new Mock <UsersDbContext>();

            mockContext.Setup(c => c.People).Returns(mockSet.Object);

            //Act
            var repository         = new UsersDbServices(mockContext.Object, new Logger <UsersDbServices>(new LoggerFactory()));
            var actualGetUsers     = repository.GetUsers();
            var actualGetUserId    = repository.GetUserId(1);
            var actualGetUserLogin = repository.GetUserLogin("maks");
            var result             = repository.CheckNewUser(new User {
                Id = 3, FirstName = "Максим", LastName = "Баканов", BirthDate = new DateTime(1998, 05, 07), Login = "******", Password = "******", Role = Roles.Administrator, Culture = "en"
            });

            //Assert
            Assert.AreEqual(1, actualGetUsers.Count());
            Assert.IsNotNull(actualGetUserId);
            Assert.IsNotNull(actualGetUserLogin);
            Assert.True(result);
        }