Пример #1
0
        public void InvalidRegisterShouldNotCerateNewUserWithTheSameUsername()
        {
            var options = new DbContextOptionsBuilder <ExpensesDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(InvalidRegisterShouldNotCerateNewUserWithTheSameUsername))
                          .Options;

            using (var context = new ExpensesDbContext(options))
            {
                var userService = new UsersService(context, config);

                var added1 = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "*****@*****.**",
                    FirstName = "aaa",
                    LastName  = "bbb",
                    Password  = "******",
                    Username  = "******"
                };
                var added2 = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "*****@*****.**",
                    FirstName = "xxx",
                    LastName  = "yyy",
                    Password  = "******",
                    Username  = "******"
                };

                userService.Register(added1);
                var result = userService.Register(added2);

                Assert.AreEqual(null, result);
            }
        }
Пример #2
0
        public void ValidRegisterShouldCreateNewUser()
        {
            var options = new DbContextOptionsBuilder <ExpensesDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidRegisterShouldCreateNewUser))
                          .Options;

            using (var context = new ExpensesDbContext(options))
            {
                var userService = new UsersService(context, config);

                var added = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "[email protected]",
                    FirstName = "abc",
                    LastName  = "def",
                    Password  = "******",
                    Username  = "******"
                };

                var result = userService.Register(added);

                Assert.IsNotNull(result);
                Assert.AreEqual(added.Username, result.Username);
            }
        }
Пример #3
0
        public void InvalidAuthenticationShouldNotAuthenticateUserWithInvalidPassword()
        {
            var options = new DbContextOptionsBuilder <ExpensesDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(InvalidAuthenticationShouldNotAuthenticateUserWithInvalidPassword))
                          .Options;

            using (var context = new ExpensesDbContext(options))
            {
                var userService = new UsersService(context, config);

                var addedUser = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "[email protected]",
                    FirstName = "ggg",
                    LastName  = "hhh",
                    Password  = "******",
                    Username  = "******"
                };

                var addResult = userService.Register(addedUser);

                Assert.IsNotNull(addResult);
                Assert.AreEqual(addedUser.Username, addResult.Username);

                var authenticate = new Laborator2.ViewModels.UserGetModel
                {
                    Email    = "[email protected]",
                    Username = "******"
                };

                var result = userService.Authenticate(addedUser.Username, "11111111");

                Assert.AreEqual(null, result);
            }
        }
Пример #4
0
        public void ValidGetAllShouldReturnAllUsers()
        {
            var options = new DbContextOptionsBuilder <ExpensesDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidGetAllShouldReturnAllUsers))
                          .Options;

            using (var context = new ExpensesDbContext(options))
            {
                var userService = new UsersService(context, config);

                var addedUser1 = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "[email protected]",
                    FirstName = "aaa",
                    LastName  = "bbb",
                    Password  = "******",
                    Username  = "******"
                };
                var addedUser2 = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "[email protected]",
                    FirstName = "bbb",
                    LastName  = "ccc",
                    Password  = "******",
                    Username  = "******"
                };

                var addedUser3 = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "[email protected]",
                    FirstName = "ccc",
                    LastName  = "ddd",
                    Password  = "******",
                    Username  = "******"
                };

                UserGetModel        user1  = userService.Register(addedUser1);
                UserGetModel        user2  = userService.Register(addedUser2);
                UserGetModel        user3  = userService.Register(addedUser3);
                List <UserGetModel> actual = new List <UserGetModel>();
                user1.Token = null;
                user2.Token = null;
                user3.Token = null;
                actual.Add(user1);
                actual.Add(user2);
                actual.Add(user3);

                IEnumerable <UserGetModel> result   = userService.GetAll();
                IEnumerable <UserGetModel> expected = actual.AsEnumerable();

                Assert.IsTrue(expected.SequenceEqual(actual));
            }
        }
Пример #5
0
        public void ValidAuthenticationShouldAuthenticateValidUser()
        {
            var options = new DbContextOptionsBuilder <ExpensesDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(ValidAuthenticationShouldAuthenticateValidUser))
                          .Options;

            using (var context = new ExpensesDbContext(options))
            {
                var userService = new UsersService(context, config);

                var addedUser = new Laborator2.ViewModels.RegisterPostModel
                {
                    Email     = "[email protected]",
                    FirstName = "ddd",
                    LastName  = "eee",
                    Password  = "******",
                    Username  = "******"
                };

                var addResult = userService.Register(addedUser);

                Assert.IsNotNull(addResult);
                Assert.AreEqual(addedUser.Username, addResult.Username);

                var authenticate = new Laborator2.ViewModels.UserGetModel
                {
                    Email    = "[email protected]",
                    Username = "******"
                };

                var result = userService.Authenticate(addedUser.Username, addedUser.Password);

                Assert.IsNotNull(result);

                Assert.AreEqual(authenticate.Username, result.Username);
            }
        }