BlueCollar.Test.RepositoryTests.CreateHistory C# (CSharp) Method

CreateHistory() protected method

Create history tests.
protected CreateHistory ( ) : void
return void
        protected void CreateHistory()
        {
            if (this.Repository != null)
            {
                IJob job = new TestJob() { Id = Guid.NewGuid() };

                WorkerRecord workerRecord = new WorkerRecord()
                {
                    ApplicationName = BlueCollarSection.Section.ApplicationName,
                    MachineAddress = Machine.Address,
                    MachineName = Machine.Name,
                    Name = "Test Worker",
                    QueueNames = "*",
                    Signal = WorkerSignal.Stop,
                    Status = WorkerStatus.Working,
                    Startup = WorkerStartupType.Automatic,
                    UpdatedOn = DateTime.UtcNow
                };

                this.Repository.CreateWorker(workerRecord, null);

                WorkingRecord workingRecord = new WorkingRecord()
                {
                    ApplicationName = workerRecord.ApplicationName,
                    Data = JsonConvert.SerializeObject(job),
                    JobName = job.Name,
                    JobType = job.GetType().FullName + ", " + job.GetType().Assembly.GetName().Name,
                    QueueName = "*",
                    QueuedOn = DateTime.UtcNow,
                    Signal = WorkingSignal.Cancel,
                    StartedOn = DateTime.UtcNow,
                    TryNumber = 1,
                    WorkerId = workerRecord.Id.Value
                };

                this.Repository.CreateWorking(workingRecord, null);

                HistoryRecord historyRecord = new HistoryRecord()
                {
                    ApplicationName = workingRecord.ApplicationName,
                    Data = workingRecord.Data,
                    FinishedOn = DateTime.UtcNow,
                    JobName = workingRecord.JobName,
                    JobType = workingRecord.JobType,
                    QueuedOn = workingRecord.QueuedOn,
                    QueueName = workingRecord.QueueName,
                    StartedOn = workingRecord.StartedOn,
                    Status = HistoryStatus.Succeeded,
                    TryNumber = workingRecord.TryNumber,
                    WorkerId = workingRecord.WorkerId
                };

                this.Repository.CreateHistory(historyRecord, null);
                Assert.IsNotNull(historyRecord.Id);
            }
        }