public void Can_Calculate_NumContactsCreatedProgress() { // Setup MilestoneConfig milestone = new MilestoneConfig { JobSearchMetrics = new JobSearchMetrics { NumContactsCreated = 5 } }; JobSearch jobSearch = new JobSearch { Metrics = new JobSearchMetrics { NumContactsCreated = 2 }, CurrentMilestone = milestone }; // Execute JobSearchMilestoneProgress result = new JobSearchMilestoneProgress(jobSearch); // Verify Assert.AreEqual(((decimal)2 / (decimal)5), result.NumContactsCreatedProgress, "NumContactsCreatedProgress's value was incorrect"); }
public void Progress_Is_One_When_JobSearch_NumCompaniesCreated_Is_Greater_Than_Milestone() { // Setup MilestoneConfig milestone = new MilestoneConfig { JobSearchMetrics = new JobSearchMetrics { NumCompaniesCreated = 3 } }; JobSearch jobSearch = new JobSearch { Metrics = new JobSearchMetrics { NumCompaniesCreated = 4 }, CurrentMilestone = milestone }; // Execute JobSearchMilestoneProgress result = new JobSearchMilestoneProgress(jobSearch); // Verify Assert.AreEqual(1, result.NumCompaniesCreatedProgress, "NumCompaniesCreatedProgress's value was incorrect"); }
public void Uncompleted_Jobsearch_Milestone_Doesnt_Progress_To_Next_Milestone() { // Setup MilestoneConfig ms2 = new MilestoneConfig(); MilestoneConfig ms1 = new MilestoneConfig { JobSearchMetrics = new JobSearchMetrics { NumCompaniesCreated = 2 }, NextMilestone = ms2 }; JobSearch search = new JobSearch { Metrics = new JobSearchMetrics { NumCompaniesCreated = 1 }, CurrentMilestone = ms1 }; _unitOfWork.JobSearches.Add(search); _unitOfWork.Commit(); Mock<JobSearchByIdQuery> jobSearchQuery = new Mock<JobSearchByIdQuery>(_unitOfWork); jobSearchQuery.Setup(x => x.WithJobSearchId(It.IsAny<int>())).Returns(jobSearchQuery.Object); jobSearchQuery.Setup(x => x.Execute()).Returns(search); _serviceFactory.Setup(x => x.GetService<JobSearchByIdQuery>()).Returns(jobSearchQuery.Object); // Act new StartNextJobSearchMilestoneCommand(_serviceFactory.Object) .Execute(new StartNextJobSearchMilestoneCommandParams { JobSearchId = search.Id }); // Verify JobSearch result = _unitOfWork.JobSearches.Fetch().Single(); Assert.AreEqual(ms1, result.CurrentMilestone, "Job search's CurrentMilestone was incorrect"); }
public void Progess_Is_One_When_Milestone_NumInPersonInterviewTasksCreated_Is_Zero() { // Setup MilestoneConfig milestone = new MilestoneConfig { JobSearchMetrics = new JobSearchMetrics { NumInPersonInterviewTasksCreated = 0 } }; JobSearch jobSearch = new JobSearch { Metrics = new JobSearchMetrics { NumInPersonInterviewTasksCreated = 2 }, CurrentMilestone = milestone }; // Execute JobSearchMilestoneProgress result = new JobSearchMilestoneProgress(jobSearch); // Verify Assert.AreEqual(1, result.NumInPersonInterviewTasksCreatedProgress, "NumInPersonInterviewTasksCreatedProgress's value was incorrect"); }
public void Jobsearch_Marked_As_Milestones_Completed_When_Last_Milestone_Is_Completed() { // Setup var ms = new MilestoneConfig { JobSearchMetrics = new JobSearchMetrics() }; var search = new JobSearch { Metrics = new JobSearchMetrics(), CurrentMilestone = ms }; _context.MilestoneConfigs.Add(ms); _context.JobSearches.Add(search); _context.SaveChanges(); Mock<JobSearchByIdQuery> jobSearchQuery = new Mock<JobSearchByIdQuery>(_unitOfWork); jobSearchQuery.Setup(x => x.WithJobSearchId(It.IsAny<int>())).Returns(jobSearchQuery.Object); jobSearchQuery.Setup(x => x.Execute()).Returns(search); _serviceFactory.Setup(x => x.GetService<JobSearchByIdQuery>()).Returns(jobSearchQuery.Object); // Act new StartNextJobSearchMilestoneCommand(_serviceFactory.Object) .Execute(new StartNextJobSearchMilestoneCommandParams { JobSearchId = search.Id }); // Verify Assert.IsTrue(search.MilestonesCompleted, "Job search is not marked as completing all milestones"); }