コード例 #1
0
        public ActionResult Create(CountryCreateOrUpdate value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var country = this.CountryService.Create();
            var privilege = new CountryPrivilege();

            if (!privilege.CanCreate(country))
            {
                return NotAuthorized();
            }

            value.Validate();

            if (value.IsValid)
            {
                value.ValueToModel(country);

                this.CountryService.InsertOrUpdate(country);

                value = new CountryCreateOrUpdate(country);
                value.SuccessMessage(Messages.CountryCreated.FormatInvariant(country.Title));
            }
            else
            {
                value.CopyToModel(ModelState);
            }

            return base.View(Views.Update, value);
        }
コード例 #2
0
        public void Test_CountryCreateOrUpdate_Validate()
        {
            var value = new CountryCreateOrUpdate();

            value.Validate();

            Assert.AreEqual(2, value.Errors.Count, "Errors");
        }
コード例 #3
0
        public void Test_CountryCreateOrUpdate_ValueToModel()
        {
            var value = new CountryCreateOrUpdate
            {
                Title = "test",
                Code = "test2"
            };

            var country = new Country();

            value.ValueToModel(country);

            Assert.AreEqual("test", country.Title, "Title");
            Assert.AreEqual("test2", country.Code, "Code");
        }
コード例 #4
0
        public void Test_CountryCreateOrUpdate()
        {
            var value = new CountryCreateOrUpdate(
                new Country
                {
                    Id = 1,
                    Title = "test",
                    Code = "test2"
                }
            );

            Assert.AreEqual(1, value.Id, "Id");
            Assert.AreEqual("test", value.Title, "Title");
            Assert.AreEqual("test2", value.Code, "Code");
        }
コード例 #5
0
        public void Test_CountryController_Create_Post()
        {
            PrincipalHelper.Create();

            var value = new CountryCreateOrUpdate
            {
                Title = "test",
                Code = "test",
            };

            var viewResult = this.CountryController.Create(value) as ViewResult;

            Assert.IsNotNull(viewResult, "ViewResult");
            Assert.AreEqual(Views.Update, viewResult.ViewName, "ViewName");

            var model = viewResult.Model as CountryCreateOrUpdate;

            Assert.IsNotNull(model, "Model");
            Assert.AreEqual(Messages.CountryCreated.FormatInvariant(model.Title), model.Message.Message);

            value = new CountryCreateOrUpdate();

            var errorResult = this.CountryController.Create(value) as ViewResult;

            Assert.IsNotNull(errorResult, "ErrorResult");
            Assert.AreEqual(Views.Update, viewResult.ViewName, "ErrorViewName");
            Assert.AreEqual(2, value.Errors.Count, "Errors");

            PrincipalHelper.Clear();

            var notAuthorizedResult = this.CountryController.Create(value) as NotAuthorizedResult;

            Assert.IsNotNull(notAuthorizedResult, "NotAuthorizedResult");
        }