Exemplo n.º 1
0
        public void ShouldAddOdsInstanceRegistrationsForUser()
        {
            var existingUser = SetupUsers(1).Single();

            var alreadyAddedInstances = SetupOdsInstanceRegistrations().OrderBy(x => x.Name).ToList();

            SetupUserWithOdsInstanceRegistrations(existingUser.Id, alreadyAddedInstances);

            var newInstancesToAdd = SetupOdsInstanceRegistrations().OrderBy(x => x.Name).ToList();

            var updateModel = new EditOdsInstanceRegistrationForUserModel
            {
                UserId = existingUser.Id,
                OdsInstanceRegistrations = newInstancesToAdd.Select(x => new OdsInstanceRegistrationSelection
                {
                    Name = x.Name,
                    OdsInstanceRegistrationId = x.Id,
                    Selected = true
                }).ToList()
            };

            var command = new EditOdsInstanceRegistrationForUserCommand();

            command.Execute(updateModel);

            var query   = new GetOdsInstanceRegistrationsByUserIdQuery(SetupContext);
            var results = query.Execute(existingUser.Id).ToList();

            results.Count.ShouldBe(newInstancesToAdd.Count);
            results.Select(x => x.Name).ShouldBe(newInstancesToAdd.Select(x => x.Name));
        }
Exemplo n.º 2
0
        public void ShouldNotEditIfUserDoesNotExists()
        {
            var testUserNotInSystem = new AdminAppUser
            {
                Email    = $"testuser{Guid.NewGuid():N}@test.com",
                UserName = $"testuser{Guid.NewGuid():N}@test.com"
            };

            var testInstances = SetupOdsInstanceRegistrations(5).OrderBy(x => x.Name).ToList();

            var updateModel = new EditOdsInstanceRegistrationForUserModel
            {
                UserId = testUserNotInSystem.Id,
                OdsInstanceRegistrations = testInstances.Select(x => new OdsInstanceRegistrationSelection
                {
                    Name = x.Name,
                    OdsInstanceRegistrationId = x.Id,
                    Selected = true
                }).ToList()
            };

            var validator         = new EditOdsInstanceRegistrationForUserModelValidator(SetupContext);
            var validationResults = validator.Validate(updateModel);

            validationResults.IsValid.ShouldBe(false);
            validationResults.Errors.Select(x => x.ErrorMessage).ShouldContain("The user you are trying to edit does not exist in the database.");
        }
Exemplo n.º 3
0
        public ActionResult EditOdsInstanceRegistrationsForUser(EditOdsInstanceRegistrationForUserModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model.UserId));
            }

            _editOdsInstanceRegistrationForUserCommand.Execute(model);

            SuccessToastMessage("Assignments successfully updated.");

            return(RedirectToAction("Users", "GlobalSettings"));
        }
Exemplo n.º 4
0
        public void ShouldNotEditIfRequiredFieldsEmpty()
        {
            var updateModel = new EditOdsInstanceRegistrationForUserModel();

            var validator         = new EditOdsInstanceRegistrationForUserModelValidator(SetupContext);
            var validationResults = validator.Validate(updateModel);

            validationResults.IsValid.ShouldBe(false);
            validationResults.Errors.Select(x => x.ErrorMessage).ShouldBe(new List <string>
            {
                "'User Id' must not be empty."
                , "The user you are trying to edit does not exist in the database."
                , "'Email' must not be empty."
                , "'Selected ODS Instances' must not be empty."
            }, false);
        }
        public void ShouldRemoveOdsInstanceRegistrationsForUser()
        {
            var existingUser = SetupUsers(1).Single();

            var alreadyAddedInstances = SetupOdsInstanceRegistrations(5).OrderBy(x => x.Name).ToList();

            SetupUserWithOdsInstanceRegistrations(existingUser.Id, alreadyAddedInstances);

            Scoped <IGetOdsInstanceRegistrationsByUserIdQuery>(query =>
            {
                var results = query.Execute(existingUser.Id).ToList();

                results.Count.ShouldBe(5);
                results.Select(x => x.Name).ShouldBe(alreadyAddedInstances.Select(x => x.Name));
            });

            // Select only the first 3 instances

            var instancesToKeep = alreadyAddedInstances.Take(3).ToList();

            var updateModel = new EditOdsInstanceRegistrationForUserModel
            {
                UserId = existingUser.Id,
                OdsInstanceRegistrations = instancesToKeep.Select(x => new OdsInstanceRegistrationSelection
                {
                    Name = x.Name,
                    OdsInstanceRegistrationId = x.Id,
                    Selected = true
                }).ToList()
            };

            Scoped <AdminAppIdentityDbContext>(identity =>
            {
                var command = new EditOdsInstanceRegistrationForUserCommand(identity);

                command.Execute(updateModel);
            });

            Scoped <IGetOdsInstanceRegistrationsByUserIdQuery>(query =>
            {
                var results = query.Execute(existingUser.Id).ToList();

                results.Count.ShouldBe(3);
                results.Select(x => x.Name).ShouldBe(instancesToKeep.Select(x => x.Name));
            });
        }
        public void ShouldNotEditIfInstancesDoesNotExist()
        {
            var existingUser = SetupUsers(1).Single();

            var testInstanceInSystem = SetupOdsInstanceRegistrations(1).Single();

            var testInstanceNotInSystem = new OdsInstanceRegistration
            {
                Name        = $"TestInstance{Guid.NewGuid():N}",
                Description = "Test Description"
            };

            var updateModel = new EditOdsInstanceRegistrationForUserModel
            {
                UserId = existingUser.Id,
                OdsInstanceRegistrations = new List <OdsInstanceRegistrationSelection>
                {
                    new OdsInstanceRegistrationSelection
                    {
                        Name = testInstanceInSystem.Name,
                        OdsInstanceRegistrationId = testInstanceInSystem.Id,
                        Selected = true
                    },
                    new OdsInstanceRegistrationSelection
                    {
                        Name = testInstanceNotInSystem.Name,
                        OdsInstanceRegistrationId = testInstanceNotInSystem.Id,
                        Selected = true
                    }
                }
            };

            Scoped <EditOdsInstanceRegistrationForUserModelValidator>(validator =>
            {
                var validationResults = validator.Validate(updateModel);
                validationResults.IsValid.ShouldBe(false);
                validationResults.Errors.Select(x => x.ErrorMessage).ShouldContain("A selected instance does not exist in the database.");
            });
        }