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

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

            //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 || this.Rate == 0)
            {
                validationResult.Add(new ValidationResult("Rate must be greater than zero", new List <string> {
                    "Rate"
                }));
            }

            if (validationResult.Count.Equals(0))
            {
                /* Service Validation */
                BudgetCurrencyService service = (BudgetCurrencyService)validationContext.GetService(typeof(BudgetCurrencyService));
                var coba = service.DbContext.Set <BudgetCurrency>().Where(r => r.Code == this.Code);
                if (service.DbContext.Set <BudgetCurrency>().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 GetByIds_Return_InternalServerError()
        {
            //Setup
            Mock <IServiceProvider> serviceProvider = GetServiceProvider();
            BudgetCurrencyService   service         = new BudgetCurrencyService(serviceProvider.Object);

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

            //Act
            IActionResult response = GetController(service).GetByIds(new List <int>()
            {
                1
            });

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

            Assert.Equal((int)HttpStatusCode.InternalServerError, statusCode);
        }
Esempio n. 4
0
        public void GetByName_Return_OK()
        {
            //Setup
            CoreDbContext           dbContext       = _dbContext(GetCurrentAsyncMethod());
            Mock <IServiceProvider> serviceProvider = GetServiceProvider();

            BudgetCurrencyService service = new BudgetCurrencyService(serviceProvider.Object);

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

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

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

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

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

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

            BudgetCurrenciesController controller = new BudgetCurrenciesController(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);
        }