public void ShouldReturn2CasesForVPEmail() { var data = new FakeDataSet() { T_Case = new List <Case>() { new Case() //quallified case { CaseId = Guid.NewGuid(), CaseStatus = (short)CaseStatus.PendingApproval, CurrentTaskId = 2, Task = new List <Task>() { new Task() { TaskId = 1, TaskStatus = (short)TaskStatus.FormSubmitted, TaskTypeId = (short)TaskTypeEnum.SAM }, new Task() { TaskId = 2, TaskStatus = (short)TaskStatus.Waiting, TaskTypeId = (short)TaskTypeEnum.PM } } }, new Case() //qualified case { CaseId = Guid.NewGuid(), CaseStatus = (short)CaseStatus.PendingApproval, CurrentTaskId = 3, Task = new List <Task>() { new Task() { TaskId = 3, TaskStatus = (short)TaskStatus.Waiting, TaskTypeId = (short)TaskTypeEnum.PM } } }, new Case() //disqulified case { CaseId = Guid.NewGuid(), CaseStatus = (short)CaseStatus.PendingApproval, CurrentTaskId = 4, Task = new List <Task>() { new Task() { TaskId = 3, TaskStatus = (short)TaskStatus.Started, TaskTypeId = (short)TaskTypeEnum.ICE } } }, new Case() //disqulified case { CaseId = Guid.NewGuid(), CaseStatus = (short)CaseStatus.InProgressAfterApproval, CurrentTaskId = 5, Task = new List <Task>() { new Task() { TaskId = 5, TaskStatus = (short)TaskStatus.Started, TaskTypeId = (short)TaskTypeEnum.Deployment } } } } }; var mockContext = MockManager.MockDbContext(data); var sut = new BatchJobBF(mockContext.Object); var caseList = sut.GetAllCasesForVPEmail(); Assert.Equal(2, caseList.ToList().Count); Assert.Equal((short)CaseStatus.PendingApproval, caseList.ToList()[0].CaseStatus); Assert.Equal((short)TaskTypeEnum.PM, caseList.ToList()[0].Task.ToList()[1].TaskTypeId); Assert.Equal((short)TaskStatus.Waiting, caseList.ToList()[0].Task.ToList()[1].TaskStatus); Assert.Equal((short)TaskTypeEnum.PM, caseList.ToList()[1].Task.ToList()[0].TaskTypeId); Assert.Equal((short)TaskStatus.Waiting, caseList.ToList()[1].Task.ToList()[0].TaskStatus); }
public void ShouldSendEmailToVPWith2Cases() { List <Case> caseList = new List <Case>(); //initialize two cases Case case1 = new Case() //quallified case { CaseId = Guid.NewGuid(), CaseStatus = (short)CaseStatus.PendingApproval, BizGroupId = 2, //GAM ReferenceNo = "G1617/0001", CurrentTaskId = 2, Task = new List <Task>() { new Task() { TaskId = 1, TaskStatus = (short)TaskStatus.FormSubmitted, TaskTypeId = (short)TaskTypeEnum.SAM }, new Task() { TaskId = 2, TaskStatus = (short)TaskStatus.Waiting, TaskTypeId = (short)TaskTypeEnum.PM } } }; caseList.Add(case1); Case case2 = new Case() //quallified case { CaseId = Guid.NewGuid(), CaseStatus = (short)CaseStatus.PendingApproval, BizGroupId = 2, //GAM ReferenceNo = "G1617/0002", CurrentTaskId = 3, Task = new List <Task>() { new Task() { TaskId = 3, TaskStatus = (short)TaskStatus.Waiting, TaskTypeId = (short)TaskTypeEnum.PM } } }; caseList.Add(case2); var data = new FakeDataSet() { T_MailType = new List <MailType>() { new MailType() { MailTypeId = 1, MailTypeGroup = 1, //MailForFormSubmission MailTypeName = "CRCI submit form to ICE", SourceTaskTypeId = 1, DestinationTaskTypeId = 2, IsEmailActivated = true, EmailSubject = "", EmailBodyTemplate = "", MailTypeToUserRole = new List <MailTypeToUserRole>() { new MailTypeToUserRole() { MailTypeId = 1, UserRoleId = 1, MailSendType = 1 } } }, new MailType() { MailTypeId = 6, MailTypeGroup = 11, //MailForConsolidatedCaseToVP MailTypeName = "Consolidated request list to VP for approval", SourceTaskTypeId = null, DestinationTaskTypeId = null, IsEmailActivated = true, EmailSubject = "WPM – Pending VP Approval", EmailBodyTemplate = "WPM – Pending VP Approval {0}", MailTypeToUserRole = new List <MailTypeToUserRole>() { new MailTypeToUserRole() { MailTypeId = 6, UserRoleId = 2, MailSendType = 1 } } } }, T_User = new List <User>() { new User() { UserId = "GAMVP", UserDisplayName = "GAM VP", Email = "*****@*****.**", IsDeleted = false, IsDisabled = false, UserRoles = new List <UserRole>() { new UserRole() { UserRoleId = 2 } }, BizGroup = new List <BizGroup>() { new BizGroup() { BizGroupId = 2 //GAM } } } }, T_SystemParameter = new List <SystemParameter>() { new SystemParameter() { SystemParameterId = "SmtpServerAddress", Value = "10.70.190.52" }, new SystemParameter() { SystemParameterId = "SmtpServerPort", Value = "25" }, new SystemParameter() { SystemParameterId = "SenderEmailAddress", Value = "*****@*****.**" }, } }; var mockContext = MockManager.MockDbContext(data); var sut = new BatchJobBF(mockContext.Object); var result = sut.SendConsolidatedEmailToVP(caseList, 2); Assert.Equal(true, result); }