public void GetAvailableStates_ShoudReturn_SuccessEqualsTrue_WhenServiceProviderResultIsSuccess(Database db)
        {
            _mocks.MockContexts(db);

            var result = _checkoutRepository.GetAvailableStates(new GetAvailableStatesInputModel {
                CountryCode = "test"
            });

            result.Success.Should().BeTrue();
        }
        public JsonResult GetAvailableStates(GetAvailableStatesInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);

                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var result = _checkoutRepository.GetAvailableStates(model);

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                _logger.LogError("GetAvailableStates", this, e);
                return(Json(new BaseJsonResult("GetAvailableStates", e), JsonRequestBehavior.AllowGet));
            }
        }