コード例 #1
0
        public void Can_update_an_organization()
        {
            var form = new OrganizationEditorForm
            {
                OrganizationId = 42,
                Name           = "name",
                GroupName      = "groupname",
                Abbreviation   = "abbreviation",
                Phone          = "phone",
                AddressLine1   = "addressline1",
                AddressLine2   = "addressline2",
                City           = "city",
                State          = "state",
                PostalCode     = "postalcode",
                FiscalContactSamAccountName = "fiscalcontactsamaccountname",
                ITConactSamAccountName      = "itcontactsamaccountname"
            };

            var organization = new Organization();

            form.UpdateOrganization(organization);

            Assert.AreEqual(organization.Name, form.Name);
            Assert.AreEqual(organization.GroupName, form.GroupName);
            Assert.AreEqual(organization.Abbreviation, form.Abbreviation);
            Assert.AreEqual(organization.Phone, form.Phone);
            Assert.AreEqual(organization.AddressLine1, form.AddressLine1);
            Assert.AreEqual(organization.AddressLine2, form.AddressLine2);
            Assert.AreEqual(organization.City, form.City);
            Assert.AreEqual(organization.State, form.State.ToUpper());
            Assert.AreEqual(organization.PostalCode, form.PostalCode);
            Assert.AreEqual(organization.FiscalContactSamAccountName, form.FiscalContactSamAccountName);
            Assert.AreEqual(organization.ITConactSamAccountName, form.ITConactSamAccountName);
        }
コード例 #2
0
        public void Can_build_from_parent_Oranization()
        {
            var organization = new Organization
            {
                Id = 42,
            };

            var result = OrganizationEditorForm.FromParentOrganization(organization, new Feature[] {});

            Assert.AreEqual(result.ParentOrganizationId, organization.Id);
        }
コード例 #3
0
        public async Task Post_Edit()
        {
            var form = new OrganizationEditorForm();

            mediator.SendAsync(Arg.Any <AddOrEditOrganizationCommand>())
            .Returns(Task.FromResult(new SuccessResult(42) as ICommandResult));

            var result = await controller.Edit(form) as RedirectToRouteResult;

            Assert.IsNotNull(result);

            Assert.AreEqual(result.RouteValues["Id"], 42);

            mediator.Received()
            .SendAsync(Arg.Is <AddOrEditOrganizationCommand>(f => f.Editor == form))
            .IgnoreAwaitForNSubstituteAssertion();
        }
コード例 #4
0
        public async Task Post_Edit_with_invalid_model()
        {
            var form = new OrganizationEditorForm();

            controller.ModelState.AddModelError("any", "error");

            var result = await controller.Edit(form) as ViewResult;

            Assert.IsNotNull(result);

            Assert.AreEqual(result.Model, form);

            Assert.IsTrue(result.ViewData.ModelState.ContainsKey("any"));

            mediator.DidNotReceive()
            .SendAsync(Arg.Is <AddOrEditOrganizationCommand>(f => f.Editor == form))
            .IgnoreAwaitForNSubstituteAssertion();
        }
コード例 #5
0
        public async Task <ActionResult> Edit(OrganizationEditorForm form)
        {
            Logger.Trace("Edit::Post::{0}", form.OrganizationId);

            if (ModelState.IsValid)
            {
                var result = await mediator.SendAsync(new AddOrEditOrganizationCommand(form, ModelState));

                if (result.IsSuccess)
                {
                    return(RedirectToAction("Index", new { Id = result.Result }));
                }

                ModelState.AddModelError("", result.Result.ToString());
            }

            return(View(form));
        }
コード例 #6
0
        public async Task Post_Edit_with_failure()
        {
            const string message = "ouch";
            var          form    = new OrganizationEditorForm();

            mediator.SendAsync(Arg.Any <AddOrEditOrganizationCommand>())
            .Returns(Task.FromResult(new FailureResult(message) as ICommandResult));

            var result = await controller.Edit(form) as ViewResult;

            Assert.IsNotNull(result);

            Assert.AreEqual(result.Model, form);

            Assert.IsTrue(result.ViewData.ModelState.ContainsKey(string.Empty));

            Assert.IsTrue(result.ViewData.ModelState[string.Empty].Errors
                          .Any(e => e.ErrorMessage == message));

            mediator.Received()
            .SendAsync(Arg.Is <AddOrEditOrganizationCommand>(f => f.Editor == form))
            .IgnoreAwaitForNSubstituteAssertion();
        }
コード例 #7
0
        public void Can_build_from_Oranization()
        {
            var organization = new Organization
            {
                Id           = 42,
                Name         = "name",
                GroupName    = "groupname",
                Abbreviation = "abbreviation",
                Phone        = "phone",
                AddressLine1 = "addressline1",
                AddressLine2 = "addressline2",
                City         = "city",
                State        = "state",
                PostalCode   = "postalcode",
                FiscalContactSamAccountName = "fiscalcontactsamaccountname",
                ITConactSamAccountName      = "itcontactsamaccountname",
                Parent = new Organization {
                    Id = 24
                }
            };

            var result = OrganizationEditorForm.FromOrganization(organization, new Feature[] {});

            Assert.AreEqual(result.OrganizationId, organization.Id);
            Assert.AreEqual(result.Name, organization.Name);
            Assert.AreEqual(result.GroupName, organization.GroupName);
            Assert.AreEqual(result.Abbreviation, organization.Abbreviation);
            Assert.AreEqual(result.Phone, organization.Phone);
            Assert.AreEqual(result.AddressLine1, organization.AddressLine1);
            Assert.AreEqual(result.AddressLine2, organization.AddressLine2);
            Assert.AreEqual(result.City, organization.City);
            Assert.AreEqual(result.State, organization.State);
            Assert.AreEqual(result.PostalCode, organization.PostalCode);
            Assert.AreEqual(result.FiscalContactSamAccountName, organization.FiscalContactSamAccountName);
            Assert.AreEqual(result.ITConactSamAccountName, organization.ITConactSamAccountName);
            Assert.AreEqual(result.ParentOrganizationId, organization.Parent.Id);
        }