示例#1
0
        public void AdminReposTest()
        {
            AdminMock adminRepos = new AdminMock(accounts.ToList());

            //Информация о аккаунтах
            var user = adminRepos.Users.First();

            Assert.IsTrue(user.Rights == "user");
            Assert.IsTrue(adminRepos.SuperUsers.First().Rights == "admin");
            Assert.IsTrue(adminRepos.GetAccount(user.Id).Name == user.Name);

            //Пароли
            int Id = adminRepos.Users.ElementAt(0).Id;

            adminRepos.ChangePassword(Id, "newPassword");
            Assert.IsTrue(adminRepos.GetAccount(Id).Password == "newPassword");
            Assert.IsTrue(adminRepos.FindByPassword("22", "name2").Email == "email2");

            //Добавить удалить аккаунт
            adminRepos.AddAccount(new Account()
            {
                Name = "alexey", Email = "*****@*****.**", Password = "******", Rights = "user"
            });
            Assert.IsNotNull(adminRepos.FindByPassword("1111", "alexey"));
            Id = adminRepos.FindByPassword("1111", "alexey").Id;
            adminRepos.RemoveAccount(Id);
            Assert.IsNull(adminRepos.FindByPassword("1111", "alexey"));
        }
示例#2
0
        public void Cannot_Edit_Nonexistant_Product()
        {
            var repo   = new AdminMock().Repository;
            var target = new AdminController(repo);

            var p = target.Edit(14).ViewData.Model as Product;

            Assert.IsNull(p);
        }
示例#3
0
        public void Can_Delete_Valid_Product()
        {
            var mock   = new AdminMock();
            var repo   = mock.Repository;
            var target = new AdminController(repo);
            var p      = repo.Products.ToArray()[2];

            var result = target.Delete(p.ProductId);

            mock.Mock.Verify(o => o.Delete(p.ProductId));
        }
示例#4
0
        public void Index_Contains_All_Products()
        {
            var repo   = new AdminMock().Repository;
            var target = new AdminController(repo);

            var result = ((IEnumerable <Product>)target.Index().ViewData.Model).ToArray();

            Assert.AreEqual(5, result.Length);
            Assert.AreEqual("P1", result[0].Name);
            Assert.AreEqual("P2", result[1].Name);
            Assert.AreEqual("P3", result[2].Name);
        }
示例#5
0
        public void Can_Edit_Products()
        {
            var repo   = new AdminMock().Repository;
            var target = new AdminController(repo);

            var p1 = target.Edit(1).ViewData.Model as Product;
            var p2 = target.Edit(2).ViewData.Model as Product;
            var p3 = target.Edit(3).ViewData.Model as Product;

            Assert.AreEqual(1, p1.ProductId);
            Assert.AreEqual(2, p2.ProductId);
            Assert.AreEqual(3, p3.ProductId);
        }
示例#6
0
        public void Can_Save_Valid_Changes()
        {
            var mock   = new AdminMock();
            var repo   = mock.Repository;
            var target = new AdminController(repo);
            var p      = new Product {
                Name = "Test"
            };

            var result = target.Edit(p);

            mock.Mock.Verify(o => o.Save(p));
            Assert.IsNotInstanceOfType(result, typeof(ViewResult));
        }
示例#7
0
        public void Cannot_Save_Invalid_Changes()
        {
            var mock   = new AdminMock();
            var repo   = mock.Repository;
            var target = new AdminController(repo);

            target.ModelState.AddModelError("err", "err");
            var p = new Product {
                Name = "Test"
            };

            var result = target.Edit(p);

            mock.Mock.Verify(o => o.Save(It.IsAny <Product>()), Times.Never);
            Assert.IsInstanceOfType(result, typeof(ViewResult));
        }