Exemple #1
0
        public void DataOwnerIsEmpty_ShouldNotValidate()
        {
            var projects = A.Fake <IProjects>();

            A.CallTo(() => projects.GetAll()).Returns(
                new[] { new Read.ProjectFeatures.Project {
                            Name = "name"
                        } }
                );

            var validator        = new CreateProjectValidator(new ProjectRules(projects));
            var validationResult = validator.Validate(new CreateProject
            {
                Name        = "name",
                DataOwnerId = Guid.Empty
            });

            Assert.Contains(validationResult.Errors, e => e.ErrorMessage.Equals("Data owner id is mandatory"));
        }
Exemple #2
0
        public void SurveillanceContextIsEmpty_ShouldNotValidate()
        {
            var projects = A.Fake <IProjects>();

            A.CallTo(() => projects.GetAll()).Returns(
                new[] { new Project {
                            Name = "name"
                        } }
                );

            var validator        = new CreateProjectValidator(new ProjectRules(projects));
            var validationResult = validator.Validate(new CreateProject
            {
                Name              = "name2",
                DataOwnerId       = Guid.NewGuid(),
                NationalSocietyId = Guid.NewGuid()
            });

            Assert.Contains(validationResult.Errors, e => e.ErrorMessage.Equals("Surveillance context is mandatory"));
        }
Exemple #3
0
        public void CreateProject_ShouldValidate()
        {
            var projects = A.Fake <IProjects>();

            A.CallTo(() => projects.GetAll()).Returns(
                new[] { new Project {
                            Name = "name"
                        } }
                );

            var validator        = new CreateProjectValidator(new ProjectRules(projects));
            var validationResult = validator.Validate(new CreateProject
            {
                Name                = "name2",
                DataOwnerId         = Guid.NewGuid(),
                NationalSocietyId   = Guid.NewGuid(),
                SurveillanceContext = ProjectSurveillanceContext.AggregateReports
            });

            Assert.True(validationResult.IsValid);
        }
Exemple #4
0
        public void ProjectNameMustBeUnique()
        {
            var projects = A.Fake <IProjects>();

            A.CallTo(() => projects.GetAll()).Returns(
                new[] { new Project {
                            Name = "name"
                        } }
                );

            var validator        = new CreateProjectValidator(new ProjectRules(projects));
            var validationResult = validator.Validate(new CreateProject
            {
                Name                = "name",
                DataOwnerId         = Guid.NewGuid(),
                NationalSocietyId   = Guid.NewGuid(),
                SurveillanceContext = ProjectSurveillanceContext.AggregateReports
            });

            Assert.False(validationResult.IsValid);
            Assert.Contains(validationResult.Errors, e => e.ErrorMessage.Equals("Project name is already in use"));
        }