예제 #1
0
        public void Job_Test_Name_Must_Be_Unique()
        {
            var jobs = new List <Job>
            {
                new Job
                {
                    Name = "name"
                }
            };

            var mockDbSet = GetMockDbSet <Job>(jobs);

            var mockContext = new Mock <ZavenDotNetInterviewContext>();

            mockContext.Setup(c => c.Jobs).Returns(mockDbSet.Object);

            var jobValidator = new JobValidator(mockContext.Object);

            var isValid = jobValidator.IsValid(new Core.Models.CreateJobRequest
            {
                Name = "name"
            }, out var _);

            Assert.IsFalse(isValid);
        }
        public void initialize()
        {
            validator = new JobValidator();
            string        fileName = @"E:\\Facultate\anul2\\MAP\\JobDescriptionCsharp\\JobDescriptionCsharp\\data\\jobs.txt";
            JobRepository jobRepo  = new JobRepository(validator, fileName);

            repository = new BaseFileRepository <Job>(jobRepo);
        }
예제 #3
0
        public void ValidateJob_GivenJobWithNullSecondaryProcedures_ThrowsInvalidJobException()
        {
            var validator = new JobValidator();
            var job       = CreateTestJob();

            job.SecondaryProcedures = null;

            Assert.Throws <InvalidJobException>(() => validator.ValidateJob(job));
        }
예제 #4
0
        public void ValidateJob_GivenJobMissingPrimaryKey_ThrowsInvalidJobException()
        {
            var validator = new JobValidator();
            var job       = CreateTestJob();

            job.PrimaryKey = null;

            Assert.Throws <InvalidJobException>(() => validator.ValidateJob(job));
        }
예제 #5
0
        public void ValidateJob_GivenJobMissingTemplateFile_ThrowsInvalidJobException()
        {
            var validator = new JobValidator();
            var job       = CreateTestJob();

            job.TemplateFile = null;

            Assert.Throws <InvalidJobException>(() => validator.ValidateJob(job));
        }
예제 #6
0
        public void ValidateJob_GivenJobMissingConnectionString_ThrowsInvalidJobException()
        {
            var validator = new JobValidator();
            var job       = CreateTestJob();

            job.ConnectionString = null;

            Assert.Throws <InvalidJobException>(() => validator.ValidateJob(job));
        }
예제 #7
0
        public void ValidateJob_GivenJobWithSecondaryProceduresHavingNullValue_ThrowsInvalidJobException()
        {
            var validator = new JobValidator();
            var job       = CreateTestJob();

            job.SecondaryProcedures = new Dictionary <string, string>
            {
                { Guid.NewGuid().ToString(), string.Empty }
            };

            Assert.Throws <InvalidJobException>(() => validator.ValidateJob(job));
        }
예제 #8
0
        public void Job_Test_DoAfter_Must_Be_Greater_Than_Datetime_Now()
        {
            var jobs      = new List <Job>();
            var mockDbSet = GetMockDbSet <Job>(jobs);

            var mockContext = new Mock <ZavenDotNetInterviewContext>();

            mockContext.Setup(c => c.Jobs).Returns(mockDbSet.Object);

            var jobValidator = new JobValidator(mockContext.Object);

            var isValid = jobValidator.IsValid(new Core.Models.CreateJobRequest
            {
                Name    = "name",
                DoAfter = DateTime.Now.AddDays(-1)
            }, out var _);

            Assert.IsFalse(isValid);
        }
예제 #9
0
        public void Job_Is_Correct()
        {
            var jobs      = new List <Job>();
            var mockDbSet = GetMockDbSet <Job>(jobs);

            var mockContext = new Mock <ZavenDotNetInterviewContext>();

            mockContext.Setup(c => c.Jobs).Returns(mockDbSet.Object);

            var jobValidator = new JobValidator(mockContext.Object);

            var isValid = jobValidator.IsValid(new Core.Models.CreateJobRequest
            {
                Name    = "Name",
                DoAfter = DateTime.Now.AddDays(1)
            }, out var _);

            Assert.IsTrue(isValid);
        }
예제 #10
0
파일: Job.cs 프로젝트: akkgr/cms
 public Job()
 {
     Validator = new JobValidator();
 }
 public JobValidatorTest(ITestOutputHelper output) : base(output)
 {
     _sut = new JobValidator();
 }
예제 #12
0
        public void Constructor_Constructor()
        {
            var validator = new JobValidator();

            Assert.NotNull(validator);
        }
예제 #13
0
        static void Main(string[] args)
        {
            var options = new Options();

              var extractor = Container.GetInstance<IExtractor<KitLabel>>();
              var settings = Container.GetInstance<ISettingsService>();

              var jobValidator = new JobValidator(settings);
              var columnMapValidator = new ColumnMapValidator();
              var optionsValidator = new OptionsValidator();
              var kitLabels = new List<KitLabel>();
              Job job;

              CommandLine.Parser.Default.ParseArguments(args, options);

              try {
            optionsValidator.ValidateAndThrow(options);

            extractor.Initialize(options.InputPath);
            var columnMap = extractor.GetColumnMap(settings, 1, 1);

            columnMapValidator.ValidateAndThrow(columnMap);

            kitLabels.AddRange(extractor.Extract(columnMap, 1, 2));
            job = new Job(settings.OutputHeaderString, kitLabels);

            jobValidator.ValidateAndThrow(job);
              }

              catch (ValidationException exc) {
            var messages = string.Join("; ", exc.Errors.Select(e => e.ErrorMessage));
            var messageText = string.Format("** Warning! Input data file validation failed:; {0}", messages);

            kitLabels = new List<KitLabel>
            {
              new KitLabel(69) {Attn = "Data errors detected", Sbu = "Error", KitName = messageText}
            };
              }

              catch (ArgumentOutOfRangeException exception) {
            var message = "** Warning! Excel conversion errors occurred:; ";
            var lookup = new Dictionary<string, string>
            {
              {"sheetIndex", "Unable to find a worksheet from which to extract data"},
              {"startRowIndex", "No kit label rows are present in the data file"}
            };

            string errorText;

            if (lookup.TryGetValue(exception.ParamName, out errorText)) {
              message += errorText;
            }

            kitLabels = new List<KitLabel>
            {
              new KitLabel(69) {Attn = "Range error detected", Sbu = "Error",  KitName = message}
            };
              }

              catch (Exception exc) {
            var message = string.Format("** Warning! Excel conversion errors occurred:; {0}", exc.Message);
            kitLabels = new List<KitLabel>
            {
              new KitLabel(70) {Attn = "Unknown Error detected", Sbu = "Error",  KitName = message}
            };
              }

              finally {
            job = new Job(settings.OutputHeaderString, kitLabels);
            File.WriteAllLines(options.OutputPath, job.GetOutputList(), Encoding.Unicode);
              }
        }
예제 #14
0
파일: JobViewModel.cs 프로젝트: akkgr/cms
        private void save(object obj)
        {
            var validator = new JobValidator();
            var results = validator.Validate(this.Job);

            if (results.IsValid)
            {
                try
                {
                    db.SaveChanges();
                    dialogService.ShowMessageAsync("Καταχώρηση", "Οι αλλαγές καταχωρήθηκαν επιτυχώς.");
                }
                catch (Exception ex)
                {
                    dialogService.ShowMessageAsync("Σφάλμα", ex.Message);
                }
            }
            else
            {
                var message = string.Join(Environment.NewLine, results.Errors.Select(t => t.ErrorMessage));
                dialogService.ShowMessageAsync("Σφάλμα", message);
            }
        }