Esempio n. 1
0
        public void GetByCode_Return_InternalServerError()
        {
            //Setup
            Mock <IServiceProvider> serviceProvider = GetServiceProvider();
            GarmentCurrencyService  service         = new GarmentCurrencyService(serviceProvider.Object);

            serviceProvider.Setup(s => s.GetService(typeof(GarmentCurrencyService))).Returns(service);

            //Act
            IActionResult response = GetController(service).GetByCode(null);


            //Assert
            int statusCode = this.GetStatusCode(response);

            Assert.Equal((int)HttpStatusCode.InternalServerError, statusCode);
        }
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            List <ValidationResult> validationResult = new List <ValidationResult>();

            if (string.IsNullOrWhiteSpace(this.Code))
            {
                validationResult.Add(new ValidationResult("Code is required", new List <string> {
                    "Code"
                }));
            }

            if (this.Date > DateTime.Now)
            {
                validationResult.Add(new ValidationResult("Date must be less than or equal today's date", new List <string> {
                    "Date"
                }));
            }

            if (this.Rate.Equals(null) || this.Rate < 0)
            {
                validationResult.Add(new ValidationResult("Rate must be greater than zero", new List <string> {
                    "Rate"
                }));
            }

            if (validationResult.Count.Equals(0))
            {
                /* Service Validation */
                GarmentCurrencyService service = (GarmentCurrencyService)validationContext.GetService(typeof(GarmentCurrencyService));
                var coba = service.DbContext.Set <GarmentCurrency>().Where(r => r.Code == this.Code);
                if (service.DbContext.Set <GarmentCurrency>().Count(r => r._IsDeleted.Equals(false) && r.Id != this.Id && r.Code.Equals(this.Code) && r.Date.Equals(this.Date)) > 0) /* Unique */
                {
                    validationResult.Add(new ValidationResult("Code and Date already exists", new List <string> {
                        "Code"
                    }));
                    validationResult.Add(new ValidationResult("Code and Date already exists", new List <string> {
                        "Date"
                    }));
                }
            }

            return(validationResult);
        }
Esempio n. 3
0
        public void GetByCode_Return_Ok()
        {
            //Setup
            CoreDbContext           dbContext       = _dbContext(GetCurrentAsyncMethod());
            Mock <IServiceProvider> serviceProvider = GetServiceProvider();

            GarmentCurrencyService service = new GarmentCurrencyService(serviceProvider.Object);

            serviceProvider.Setup(s => s.GetService(typeof(GarmentCurrencyService))).Returns(service);
            serviceProvider.Setup(s => s.GetService(typeof(CoreDbContext))).Returns(dbContext);

            Lib.Models.GarmentCurrency testData = GetTestData(dbContext);

            //Act
            IActionResult response = GetController(service).GetByCode("");


            //Assert
            int statusCode = this.GetStatusCode(response);

            Assert.Equal((int)HttpStatusCode.OK, statusCode);
        }
Esempio n. 4
0
        protected GarmentCurrenciesController GetController(GarmentCurrencyService service)
        {
            var user   = new Mock <ClaimsPrincipal>();
            var claims = new Claim[]
            {
                new Claim("username", "unittestusername")
            };

            user.Setup(u => u.Claims).Returns(claims);

            GarmentCurrenciesController controller = new GarmentCurrenciesController(service);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = user.Object
                }
            };
            controller.ControllerContext.HttpContext.Request.Headers["Authorization"] = "Bearer unittesttoken";
            controller.ControllerContext.HttpContext.Request.Path = new PathString("/v1/unit-test");
            return(controller);
        }