public void GivenEntityWithoutIdentifierShouldThrowException()
        {
            var data = new List <Admin>().AsQueryable();

            var mockContext = new Mock <UserDataContext>();
            var mockSet     = SetupDbSet(data);

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

            var dao = new AdminDAO(mockContext.Object);

            var ex = Assert.Throws <Exception>(() => dao.Add(new Admin()
            {
                AdminId = ""
            }));

            Assert.AreEqual("Identifier and Password cannot be empty", ex.Message);
        }
        public void GivenNewEntityShouldAddInDb()
        {
            var data = new List <Admin>().AsQueryable();

            var mockContext = new Mock <UserDataContext>();
            var mockSet     = SetupDbSet(data);

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

            var dao = new AdminDAO(mockContext.Object);

            dao.Add(new Admin()
            {
                AdminId = "Admin", Password = "******"
            });

            mockSet.Verify(m => m.Add(It.IsAny <Admin>()), Times.Once());
            mockContext.Verify(m => m.SaveChanges(), Times.Once());
        }
        public void GivenExistingEntityShouldThrowException()
        {
            var data = new List <Admin> {
                new Admin()
                {
                    Id = 0, AdminId = "Admin", Password = "******"
                }
            }.AsQueryable();

            var mockContext = new Mock <UserDataContext>();
            var mockSet     = SetupDbSet(data);

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

            var dao = new AdminDAO(mockContext.Object);

            var ex = Assert.Throws <Exception>(() => dao.Add(new Admin()
            {
                AdminId = "Admin", Password = "******"
            }));

            Assert.AreEqual("Admin Identifier already exists.", ex.Message);
        }