예제 #1
0
        public void DeleteAddressByIdThrowExceptionFailureTest()
        {
            int      id              = 1;
            string   Address1        = "Test";
            string   Address2        = "Test";
            string   City            = "Test";
            string   ZipCode         = "71000";
            bool     isDeleted       = false;
            int      AddressTypeId   = 1;
            int      CreatedByUserId = 1;
            DateTime DateCreated     = DateTime.Now;
            DateTime DateModified    = DateTime.Now;

            var addressDto = new AddressDto
            {
                AddressId       = id,
                Address1        = Address1,
                Address2        = Address2,
                City            = City,
                ZipCode         = ZipCode,
                AddressTypeId   = AddressTypeId,
                CreatedByUserId = CreatedByUserId,
                IsDeleted       = isDeleted,
                DateCreated     = DateCreated,
                DateModified    = DateModified
            };
            var data = new List <Address>
            {
                new Address {
                    AddressId = 0
                }
            }.AsQueryable();

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

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

            var mockRepo = new Mock <IkarusContext>();

            mockRepo.Setup(x => x.SaveChanges()).Throws <Exception>();

            mockRepo.Setup(x => x.Address).Returns(mockSet.Object);
            var addressRepository = new AddressRepository(mockRepo.Object);

            try
            {
                var result = addressRepository.DeleteAddressById(0);
            }
            catch (Exception e)
            {
                Assert.IsType <Exception>(e);
            }
        }
예제 #2
0
        public void TestInvalidDeleteAddressById()
        {
            //Arrange

            var options = new DbContextOptionsBuilder <AddressContext>().UseInMemoryDatabase(databaseName: "Addresses").Options;
            var context = new AddressContext(options);

            context.Addresses.Add(a);
            var repository = new AddressRepository(context);

            // Assert
            Assert.Throws <ArgumentNullException>(() => repository.DeleteAddressById(2));

            context.Database.EnsureDeleted();
        }
예제 #3
0
        public void TestValidDeleteAddressById()
        {
            //Arrange

            var options = new DbContextOptionsBuilder <AddressContext>().UseInMemoryDatabase(databaseName: "Addresses").Options;
            var context = new AddressContext(options);

            context.Addresses.Add(a);
            context.SaveChanges();
            var repository = new AddressRepository(context);

            // Act
            repository.DeleteAddressById(1);

            //Assert
            Assert.AreEqual(0, context.Addresses.Count());

            context.Database.EnsureDeleted();
        }