示例#1
0
        public async Task TestPutUpdateOrganizationAsync_InvalidModel()
        {
            controller.ModelState.AddModelError("key", "error");
            var model = new UpdatedOrganizationBindingModel();

            model.OrganizationTypeId = OrganizationType.USEducationalInstitution.Id;
            var response = await controller.PutUpdateOrganizationAsync(model);

            Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult));
        }
示例#2
0
        public async Task TestPutUpdateOrganizationAsync()
        {
            userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(new User(1));
            var model = new UpdatedOrganizationBindingModel();

            model.OrganizationTypeId = OrganizationType.USEducationalInstitution.Id;
            var response = await controller.PutUpdateOrganizationAsync(model);

            userProvider.Verify(x => x.GetCurrentUser(), Times.Once());
            userProvider.Verify(x => x.GetBusinessUser(It.IsAny <IWebApiUser>()), Times.Once());
            organizationService.Verify(x => x.UpdateAsync(It.IsAny <EcaOrganization>()), Times.Once());
            organizationService.Verify(x => x.SaveChangesAsync(), Times.Once());
            organizationService.Verify(x => x.GetOrganizationByIdAsync(It.IsAny <int>()), Times.Once());
        }
        public async Task <IHttpActionResult> PutUpdateOrganizationAsync([FromBody] UpdatedOrganizationBindingModel model)
        {
            if (ModelState.IsValid)
            {
                var currentUser  = userProvider.GetCurrentUser();
                var businessUser = userProvider.GetBusinessUser(currentUser);
                await organizationService.UpdateAsync(model.ToEcaOrganization(businessUser));

                await organizationService.SaveChangesAsync();

                var updatedOrganization = await organizationService.GetOrganizationByIdAsync(model.OrganizationId);

                return(Ok(updatedOrganization));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public void TestDescriptionMaxLength()
        {
            var org = new UpdatedOrganizationBindingModel
            {
                Name        = "a",
                Description = "desc"
            };
            var items = new Dictionary <object, object> {
                { EcaContext.VALIDATABLE_CONTEXT_KEY, context }
            };
            var vc      = new ValidationContext(org, null, items);
            var results = new List <ValidationResult>();
            var actual  = Validator.TryValidateObject(org, new ValidationContext(org), results, true);

            Assert.IsTrue(actual);
            Assert.AreEqual(0, results.Count);
            org.Description = new String('a', Organization.DESCRIPTION_MAX_LENGTH + 1);

            actual = Validator.TryValidateObject(org, new ValidationContext(org), results, true);
            Assert.IsFalse(actual);
            Assert.AreEqual(1, results.Count);
            Assert.AreEqual("Description", results.First().MemberNames.First());
        }
        public void TestToEcaOrganization()
        {
            var model = new UpdatedOrganizationBindingModel();

            model.Description          = "desc";
            model.Name                 = "name";
            model.OrganizationId       = 1;
            model.OrganizationTypeId   = OrganizationType.USEducationalInstitution.Id;
            model.ParentOrganizationId = 3;
            model.PointsOfContactIds   = new List <int>();
            model.Website              = "website";
            var user = new User(1);

            var instance = model.ToEcaOrganization(user);

            Assert.AreEqual(model.Description, instance.Description);
            Assert.AreEqual(model.Name, instance.Name);
            Assert.AreEqual(model.OrganizationId, instance.OrganizationId);
            Assert.AreEqual(model.OrganizationTypeId, instance.OrganizationTypeId);
            Assert.AreEqual(model.ParentOrganizationId, instance.ParentOrganizationId);
            Assert.AreEqual(model.Website, instance.Website);
            CollectionAssert.AreEqual(model.PointsOfContactIds.ToList(), instance.ContactIds.ToList());
        }