public void GetAddressTypeTest()
        {
            int    id              = 1;
            string TypeName        = "Test";
            bool   isDeleted       = false;
            int    CreatedByUserId = 1;

            var addressType_1 = new AddressTypeDto
            {
                AddressTypeName = TypeName,
                AddressTypeId   = id,
                IsDeleted       = isDeleted,
                CustomerId      = CreatedByUserId,
                CreatedDate     = DateTime.Now,
                ModifiedDate    = DateTime.Now
            };

            var addresses = new List <AddressTypeDto>
            {
                addressType_1
            };

            var mockRepo = new Mock <IAddressTypeRepository>();

            mockRepo.Setup(x => x.GetAddressTypes()).Returns(addresses);
            var addressTypeManipulation = new AddressTypeManipulation(mockRepo.Object);

            var controller     = new AddressTypeController(addressTypeManipulation);
            var result         = controller.GetAddressTypes();
            var okObjectResult = result as OkObjectResult;

            Assert.NotNull(okObjectResult);
            Assert.IsType <OkObjectResult>(result);
        }
        public void DeleteAddressBadRequestFailureTest()
        {
            int    id              = 1;
            string TypeName        = "Test";
            bool   isDeleted       = false;
            int    CreatedByUserId = 1;

            NSI.REST.Models.AddressTypeCreateModel addressType_1 = new AddressTypeCreateModel()
            {
                AddressTypeName = TypeName,
                AddressTypeId   = id,
                IsDeleted       = isDeleted,
                CustomerId      = CreatedByUserId,
                CreatedDate     = DateTime.Now,
                ModifiedDate    = DateTime.Now
            };

            var addressRepo = new Mock <IAddressTypeRepository>();

            addressRepo.Setup(x => x.DeleteAddressTypeById(It.IsAny <int>())).Throws <Exception>();
            var addressTypeManipulation = new AddressTypeManipulation(addressRepo.Object);
            var controller = new AddressTypeController(addressTypeManipulation);
            var result     = controller.DeleteAddressType(1);

            Assert.IsType <BadRequestObjectResult>(result);
        }
        public void UpdateAddressTypeNoContentFailureTest()
        {
            int    id              = 1;
            string TypeName        = "Test";
            bool   isDeleted       = false;
            int    CreatedByUserId = 1;

            NSI.REST.Models.AddressTypeEditModel addressType_1 = new AddressTypeEditModel()
            {
                AddressTypeName = TypeName,
                AddressTypeId   = id,
                IsDeleted       = isDeleted,
                CustomerId      = CreatedByUserId,
                CreatedDate     = DateTime.Now,
                ModifiedDate    = DateTime.Now
            };

            var addressRepo = new Mock <IAddressTypeRepository>();

            addressRepo.Setup(x => x.EditAddressType(It.IsAny <int>(), It.IsAny <AddressTypeDto>()));
            var addressTypeManipulation = new AddressTypeManipulation(addressRepo.Object);
            var controller = new AddressTypeController(addressTypeManipulation);
            var result     = controller.PutAddressType(1, addressType_1);

            Assert.IsType <NoContentResult>(result);
        }
        public void GetAddressTypeByIdTest()
        {
            int    id              = 1;
            string TypeName        = "Test";
            bool   isDeleted       = false;
            int    CreatedByUserId = 1;

            var addressType_1 = new AddressTypeDto
            {
                AddressTypeName = TypeName,
                AddressTypeId   = id,
                IsDeleted       = isDeleted,
                CustomerId      = CreatedByUserId,
                CreatedDate     = DateTime.Now,
                ModifiedDate    = DateTime.Now
            };

            var mockRepo = new Mock <IAddressTypeRepository>();

            mockRepo.Setup(x => x.GetAddressTypeById(It.Is <int>(q => q == 1))).Returns(addressType_1);
            var addressTypeManipulation = new AddressTypeManipulation(mockRepo.Object);
            var controller     = new AddressTypeController(addressTypeManipulation);
            var result         = controller.GetAddressType(1);
            var okObjectResult = result as OkObjectResult;

            Assert.NotNull(okObjectResult);
            var model = okObjectResult.Value as AddressTypeDto;

            Assert.NotNull(model);
            output.WriteLine(model.AddressTypeName);
            Assert.IsType <OkObjectResult>(result);
        }
        public void CreateNewAddressTypeSuccessTest()
        {
            int    id              = 1;
            string TypeName        = "Test";
            bool   isDeleted       = false;
            int    CreatedByUserId = 1;

            NSI.REST.Models.AddressTypeCreateModel addressType_1 = new AddressTypeCreateModel()
            {
                AddressTypeName = TypeName,
                AddressTypeId   = id,
                IsDeleted       = isDeleted,
                CustomerId      = CreatedByUserId,
                CreatedDate     = DateTime.Now,
                ModifiedDate    = DateTime.Now
            };

            var addressType_2 = new AddressTypeDto
            {
                AddressTypeName = TypeName,
                AddressTypeId   = id,
                IsDeleted       = isDeleted,
                CustomerId      = CreatedByUserId,
                CreatedDate     = DateTime.Now,
                ModifiedDate    = DateTime.Now
            };

            var mockRepo = new Mock <IAddressTypeRepository>();

            mockRepo.Setup(x => x.CreateAddressType(It.IsAny <AddressTypeDto>())).Returns(addressType_2);
            var addressTypeManipulation = new AddressTypeManipulation(mockRepo.Object);
            var controller = new AddressTypeController(addressTypeManipulation);
            var result     = controller.PostAddressType(addressType_1);

            Assert.IsType <OkObjectResult>(result);
        }